npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@waldzellai/structured-argumentation

v0.1.3

Published

MCP server for diagrammatic thinking and spatial representation

Readme

Structured Argumentation MCP Server

Motivation

Modern LLMs struggle with rigorously evaluating competing ideas, particularly when complex trade-offs, multiple stakeholders, or value tensions are involved. While models can generate arguments in both directions, they often:

  1. Fail to thoroughly explore counterarguments to positions they initially favor
  2. Struggle to maintain consistent evaluation criteria across different arguments
  3. Prematurely converge on a position without adequate consideration of alternatives
  4. Mix descriptive claims with normative judgments in unclear ways
  5. Lose track of key points in complex, multi-step argumentation

The Structured Argumentation Server addresses these limitations by providing a formalized dialectical framework that models can use to systematically develop, critique, and synthesize arguments. By externalizing the argumentation process, models can engage in more rigorous, transparent, and balanced reasoning.

Technical Specification

Tool Interface

interface ArgumentData {
  // Core argument components
  claim: string;
  premises: string[];
  conclusion: string;
  
  // Argument metadata
  argumentId: string;
  argumentType: "thesis" | "antithesis" | "synthesis" | "objection" | "rebuttal";
  confidence: number; // 0.0-1.0
  
  // Relationship to other arguments
  respondsTo?: string; // ID of argument this responds to
  supports?: string[]; // IDs of arguments this supports
  contradicts?: string[]; // IDs of arguments this contradicts
  
  // Evaluation
  strengths?: string[];
  weaknesses?: string[];
  
  // Next steps
  nextArgumentNeeded: boolean;
  suggestedNextTypes?: ("objection" | "rebuttal" | "synthesis")[];
}

Process Flow

sequenceDiagram
    participant Model
    participant ArgServer
    participant Memory
    
    Model->>ArgServer: Submit thesis argument
    ArgServer->>Memory: Store thesis
    ArgServer-->>Model: Return argument graph state
    
    Model->>ArgServer: Submit antithesis argument (respondsTo=thesis)
    ArgServer->>Memory: Store antithesis with relationship
    ArgServer-->>Model: Return updated argument graph
    
    Model->>ArgServer: Submit objection to thesis (argumentType=objection)
    ArgServer->>Memory: Store objection with relationship
    ArgServer-->>Model: Return updated argument graph
    
    Model->>ArgServer: Submit rebuttal to objection
    ArgServer->>Memory: Store rebuttal with relationship
    ArgServer-->>Model: Return updated argument graph
    
    Model->>ArgServer: Submit synthesis (synthesizes thesis+antithesis)
    ArgServer->>Memory: Store synthesis with relationships
    ArgServer-->>Model: Return final argument graph

Key Features

1. Explicit Argumentation Structures

Arguments must be broken down into discrete components:

  • Claim: The central proposition being argued
  • Premises: Supporting evidence or assumptions
  • Conclusion: The logical consequence of accepting the claim

2. Dialectical Progression

The server enforces a dialectical structure:

  • Thesis: Initial argument
  • Antithesis: Counter-argument
  • Synthesis: Resolution of thesis and antithesis
  • Objections: Challenges to specific premises or reasoning
  • Rebuttals: Responses to objections

3. Relationship Tracking

Arguments are explicitly connected to show:

  • Which arguments support others
  • Which arguments contradict others
  • Which arguments synthesize others

4. Argument Evaluation

Each argument can be evaluated through:

  • Strengths: Particularly compelling aspects
  • Weaknesses: Vulnerable assumptions or logic
  • Confidence: Model's estimate of argument validity

5. Visual Representation

The server outputs a formatted, color-coded representation of the argument structure, making the dialectical process visually trackable.

Usage Examples

Ethical Dilemma Analysis

For complex ethical questions, the model can develop comprehensive pro/con analyses with multiple levels of objections and rebuttals.

Policy Evaluation

When evaluating policy options, the model can systematically explore benefits and drawbacks for different stakeholders, account for objections, and reach nuanced conclusions.

Scientific Hypothesis Evaluation

For evaluating competing scientific explanations, the model can map out evidence supporting each theory and methodically address counterarguments.

Implementation

The server is implemented using TypeScript with:

  • A core ArgumentationServer class
  • JSON schema validation for argument structure
  • A graph data structure for relationship tracking
  • Visualization using ANSI color codes or ASCII diagrams
  • Standard MCP server connection via stdin/stdout

This server significantly enhances model capabilities for complex reasoning tasks requiring careful weighing of competing considerations.

Tool

structuredArgumentation

Facilitates a detailed, dialectical argumentation process for rigorous reasoning.

Configuration

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

npx

{
  "mcpServers": {
    "structured-argumentation": {
      "command": "npx",
      "args": [
        "-y",
        "@waldzellai/structured-argumentation"
      ]
    }
  }
}

docker

{
  "mcpServers": {
    "structured-argumentation": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "waldzellai/structured-argumentation"
      ]
    }
  }
}

Building

Docker:

docker build -t cognitive-enhancement-mcp/structured-argumentation -f packages/structured-argumentation/Dockerfile .

License

This MCP server is licensed under the MIT License.