← WebMCP Directory

Tool tree

the-argumentai.vercel.app

AI & AgentsTools verified
Website
Argument.ai
Explore capabilities
    get_map_stateAnswer

    Returns the current argument map: all nodes (claims, supports, objections, rebuttals), edges connecting them, and metadata about the debate topic and sides. Call this first to orient yourself before making changes.

    View tool JSON
    {
      "name": "get_map_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the current argument map: all nodes (claims, supports, objections, rebuttals), edges connecting them, and metadata about the debate topic and sides. Call this first to orient yourself before making changes.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_nodeAnswer

    Get full details of a specific argument node, including what it connects to and from.

    View tool JSON
    {
      "name": "get_node",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get full details of a specific argument node, including what it connects to and from.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string",
            "description": "The ID of the node to retrieve"
          }
        },
        "required": [
          "node_id"
        ],
        "additionalProperties": false
      }
    }
    get_weak_pointsAnswer

    Analyse the argument map and return nodes that are logically weak, unevidenced, or that contain logical fallacies. Use this to decide where to focus your objections.

    View tool JSON
    {
      "name": "get_weak_points",
      "kind": "answer",
      "impl": "imperative",
      "description": "Analyse the argument map and return nodes that are logically weak, unevidenced, or that contain logical fallacies. Use this to decide where to focus your objections.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "side": {
            "type": "string",
            "enum": [
              "pro",
              "con",
              "all"
            ],
            "description": "Which side to analyse. Default: all"
          }
        },
        "additionalProperties": false
      }
    }
    add_claimAction

    Add a new claim (assertion) to the argument map. Use for root positions or standalone propositions not yet connected to other nodes. Claims are the building blocks — supports and objections attach to them.

    View tool JSON
    {
      "name": "add_claim",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a new claim (assertion) to the argument map. Use for root positions or standalone propositions not yet connected to other nodes. Claims are the building blocks — supports and objections attach to them.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The claim text. Be concise — 1–2 sentences max."
          },
          "side": {
            "type": "string",
            "enum": [
              "pro",
              "con",
              "neutral"
            ],
            "description": "Which side of the debate this claim belongs to."
          },
          "strength": {
            "type": "number",
            "description": "Your assessment of the claim's logical strength: 1 (very weak) to 5 (very strong).",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "text",
          "side",
          "strength"
        ],
        "additionalProperties": false
      }
    }
    add_supportAction

    Add a supporting argument or piece of evidence for an existing node. Creates the node and draws a "supports" edge from it to the target.

    View tool JSON
    {
      "name": "add_support",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a supporting argument or piece of evidence for an existing node. Creates the node and draws a \"supports\" edge from it to the target.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The supporting argument or evidence."
          },
          "supports_id": {
            "type": "string",
            "description": "ID of the node this supports."
          },
          "side": {
            "type": "string",
            "enum": [
              "pro",
              "con",
              "neutral"
            ]
          },
          "strength": {
            "type": "number",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "text",
          "supports_id",
          "side",
          "strength"
        ],
        "additionalProperties": false
      }
    }
    add_objectionAction

    Add an objection challenging an existing claim or argument. Creates the node and draws an "objects_to" edge from it to the target. This is your primary tool for challenging the user's arguments.

    View tool JSON
    {
      "name": "add_objection",
      "kind": "act",
      "impl": "imperative",
      "description": "Add an objection challenging an existing claim or argument. Creates the node and draws an \"objects_to\" edge from it to the target. This is your primary tool for challenging the user's arguments.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The objection. Be specific — name the exact flaw."
          },
          "objects_to_id": {
            "type": "string",
            "description": "ID of the node being objected to."
          },
          "side": {
            "type": "string",
            "enum": [
              "pro",
              "con",
              "neutral"
            ]
          },
          "strength": {
            "type": "number",
            "minimum": 1,
            "maximum": 5
          },
          "fallacy": {
            "type": "string",
            "description": "Optional: if the targeted node contains a logical fallacy, name it here (e.g. \"ad hominem\", \"straw man\", \"false dichotomy\", \"appeal to authority\", \"slippery slope\")."
          }
        },
        "required": [
          "text",
          "objects_to_id",
          "side",
          "strength"
        ],
        "additionalProperties": false
      }
    }
    add_rebuttalAction

    Add a rebuttal that directly responds to an objection or counter-argument. Creates a "rebuts" edge. Use this to defend a position after the other side has objected.

    View tool JSON
    {
      "name": "add_rebuttal",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a rebuttal that directly responds to an objection or counter-argument. Creates a \"rebuts\" edge. Use this to defend a position after the other side has objected.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The rebuttal."
          },
          "rebuts_id": {
            "type": "string",
            "description": "ID of the objection being rebutted."
          },
          "side": {
            "type": "string",
            "enum": [
              "pro",
              "con",
              "neutral"
            ]
          },
          "strength": {
            "type": "number",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "text",
          "rebuts_id",
          "side",
          "strength"
        ],
        "additionalProperties": false
      }
    }
    rate_nodeAction

    Update the strength rating of an argument node. Use after you've considered new evidence or after the argument has evolved. Lower ratings appear visually weaker on the canvas.

    View tool JSON
    {
      "name": "rate_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Update the strength rating of an argument node. Use after you've considered new evidence or after the argument has evolved. Lower ratings appear visually weaker on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "strength": {
            "type": "number",
            "minimum": 1,
            "maximum": 5,
            "description": "1 = very weak / easily defeated, 5 = very strong / near-irrefutable"
          },
          "reason": {
            "type": "string",
            "description": "Why you're changing the rating. Shown as a tooltip."
          }
        },
        "required": [
          "node_id",
          "strength"
        ],
        "additionalProperties": false
      }
    }
    highlight_nodeAction

    Highlight a specific node on the canvas to draw the user's attention to it — useful when you're about to object to it or want to discuss it. Pass null to clear all highlights.

    View tool JSON
    {
      "name": "highlight_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Highlight a specific node on the canvas to draw the user's attention to it — useful when you're about to object to it or want to discuss it. Pass null to clear all highlights.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of node to highlight, or null to clear."
          },
          "message": {
            "type": "string",
            "description": "Optional: message to display in a callout near the highlighted node."
          }
        },
        "additionalProperties": false
      }
    }
    flag_fallacyAction

    Flag a node as containing a specific logical fallacy. The node will be visually marked on the canvas. Use precise fallacy names.

    View tool JSON
    {
      "name": "flag_fallacy",
      "kind": "act",
      "impl": "imperative",
      "description": "Flag a node as containing a specific logical fallacy. The node will be visually marked on the canvas. Use precise fallacy names.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "fallacy": {
            "type": "string",
            "description": "Name of the logical fallacy. Common ones: ad hominem, straw man, false dichotomy, slippery slope, appeal to authority, circular reasoning, hasty generalisation, red herring, tu quoque, post hoc, burden of proof."
          },
          "explanation": {
            "type": "string",
            "description": "Brief explanation of why this fallacy applies here."
          }
        },
        "required": [
          "node_id",
          "fallacy"
        ],
        "additionalProperties": false
      }
    }
    set_topicAction

    Set or update the debate topic displayed at the top of the canvas. Use this at the start of a session to frame the argument.

    View tool JSON
    {
      "name": "set_topic",
      "kind": "act",
      "impl": "imperative",
      "description": "Set or update the debate topic displayed at the top of the canvas. Use this at the start of a session to frame the argument.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "string",
            "description": "The debate topic or question. E.g. \"Should AI-generated content require disclosure?\""
          },
          "agent_side": {
            "type": "string",
            "enum": [
              "pro",
              "con"
            ],
            "description": "Which side the agent will argue. The user will argue the other side."
          }
        },
        "required": [
          "topic",
          "agent_side"
        ],
        "additionalProperties": false
      }
    }
    clear_mapAction

    Clear all nodes and edges from the canvas, starting fresh. The topic is preserved. Use with caution — this cannot be undone.

    View tool JSON
    {
      "name": "clear_map",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear all nodes and edges from the canvas, starting fresh. The topic is preserved. Use with caution — this cannot be undone.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "confirm": {
            "type": "boolean",
            "description": "Must be true to confirm the clear."
          }
        },
        "required": [
          "confirm"
        ],
        "additionalProperties": false
      }
    }