calculator

Calculators accessible via MCP with real-time collaborative sessions and shareable URLs.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
97%
Qualität der Benennung
98%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,811Tokens (Tool-Definitionen)
~2.1 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.41% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "calculator": {
      "url": "https://mcpcalc.com/api/v1/mcp"
    }
  }
}

Remote-Endpunkte

https://mcpcalc.com/api/v1/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (10)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_calculators(category)

List available calculators, optionally filtered by category

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Filter by category (e.g., 'finance', 'math')"
    }
  }
}
🟢get_calculator_schema(calculator)

Get the input schema for a specific calculator

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "calculator": {
      "type": "string",
      "description": "Calculator slug"
    }
  },
  "required": [
    "calculator"
  ]
}
🟢calculate(calculator, inputs, strict)

Run a calculation and get results + prefilled URL

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "calculator": {
      "type": "string",
      "description": "Calculator slug"
    },
    "inputs": {
      "type": "object",
      "description": "Calculator input values"
    },
    "strict": {
      "type": "boolean",
      "description": "If true, reject invalid or unknown input fields instead of dropping them"
    }
  },
  "required": [
    "calculator",
    "inputs"
  ]
}
⚪generate_prefilled_url(calculator, inputs, strict)

Generate a prefilled URL without running calculation

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "calculator": {
      "type": "string",
      "description": "Calculator slug"
    },
    "inputs": {
      "type": "object",
      "description": "Input values for URL"
    },
    "strict": {
      "type": "boolean",
      "description": "If true, reject invalid or unknown input fields instead of dropping them"
    }
  },
  "required": [
    "calculator",
    "inputs"
  ]
}
🟢calculate_cas(expression, expressions, strict)

Evaluate one or more headless CAS expressions server-side (MCP-only numeric mode). Unsupported expressions return a GUI handoff link.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "expression": {
      "type": "string",
      "description": "Single CAS expression to evaluate"
    },
    "expressions": {
      "type": "array",
      "description": "Optional ordered list of CAS expressions to evaluate in one isolated context (supports assignments across the batch)",
      "items": {
        "type": "string"
      }
    },
    "strict": {
      "type": "boolean",
      "description": "If true, reject unknown fields and malformed expressions instead of dropping them"
    }
  }
}
🟢calculate_cas_headless(expression, expressions, strict)

Alias of calculate_cas. Headless MCP-only CAS evaluator; if unsupported features are requested, returns GUI handoff details.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "expression": {
      "type": "string",
      "description": "Single CAS expression to evaluate"
    },
    "expressions": {
      "type": "array",
      "description": "Optional ordered list of CAS expressions to evaluate in one isolated context (supports assignments across the batch)",
      "items": {
        "type": "string"
      }
    },
    "strict": {
      "type": "boolean",
      "description": "If true, reject unknown fields and malformed expressions instead of dropping them"
    }
  }
}
🟡create_session(calculator, metadata)

Create a new interactive session for any calculator and return the session URL

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "calculator": {
      "type": "string",
      "description": "Calculator slug"
    },
    "metadata": {
      "type": "object",
      "description": "Optional session metadata"
    }
  },
  "required": [
    "calculator"
  ]
}
🟢get_session_state(session_id)

Retrieve the current field values, computation transcript, and pending message queue for an active session

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Session UUID"
    }
  },
  "required": [
    "session_id"
  ]
}
🟡push_session_action(session_id, actions)

Push actions into a session's message queue (set fields, submit computation, trigger plot, etc.)

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Session UUID"
    },
    "actions": {
      "type": "array",
      "description": "Array of SessionAction objects to push to the browser",
      "items": {
        "type": "object",
        "description": "A session action. Supports CAS actions, form field updates, and spreadsheet actions like set_cells/get_cells/load_csv/export_csv/set_column_format.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "submit_expression",
              "set_fields",
              "plot",
              "assign_variable",
              "insert_markdown",
              "clear_transcript",
              "set_mode",
              "set_cells",
              "get_cells",
              "clear_cells",
              "load_csv",
              "export_csv",
              "set_column_format",
              "rpn_keypress",
              "rpn_key_sequence",
              "rpn_execute_command",
              "rpn_set_stack",
              "rpn_set_registers",
              "rpn_load_program",
              "rpn_run_program",
              "rpn_reset",
              "proof_set_document_meta",
              "proof_insert_line",
              "proof_update_line",
              "proof_delete_line",
              "proof_move_line",
              "proof_indent_line",
              "proof_apply_template",
              "proof_replace_document"
            ],
            "description": "The action type"
          },
          "expression": {
            "type": "string",
            "description": "Math expression (for submit_expression and plot actions)"
          },
          "fields": {
            "type": "object",
            "description": "Key-value pairs of field names to values (for set_fields action on form calculators)"
          },
          "cells": {
            "type": "object",
            "description": "Cell raw values keyed by A1 refs (for set_cells on spreadsheet)"
          },
          "ranges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A1 ranges or single refs (for get_cells and clear_cells)"
          },
          "csv": {
            "type": "string",
            "description": "CSV/TSV payload for load_csv"
          },
          "target": {
            "type": "string",
            "description": "Target cell for load_csv (defaults to A1)"
          },
          "delimiter": {
            "type": "string",
            "description": "Optional delimiter for load_csv (e.g. ',', '\\t')"
          },
          "formats": {
            "type": "object",
            "description": "Column display formats keyed by column letter (for set_column_format)"
          },
          "name": {
            "type": "string",
            "description": "Variable name (for assign_variable action)"
          },
          "markdown": {
            "type": "string",
            "description": "Markdown text for a static commentary block (links/code are sanitized)"
          },
          "range": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              {
                "type": "string"
              }
            ],
            "description": "Plot range as [min, max] for 'plot', or A1 range string for 'export_csv'"
          },
          "mode": {
            "type": "string",
            "enum": [
              "symbolic",
              "numeric"
            ],
            "description": "Evaluation mode (for set_mode action)"
          },
          "key": {
            "type": "string",
            "description": "Single RPN key or token (for rpn_keypress)"
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ordered list of RPN keys or commands (for rpn_key_sequence)"
          },
          "command": {
            "type": "string",
            "description": "RPN command name (for rpn_execute_command)"
          },
          "args": {
            "type": "array",
            "items": {},
            "description": "Optional command arguments (for rpn_execute_command)"
          },
          "stack": {
            "type": "object",
            "description": "Partial T/Z/Y/X stack payload (for rpn_set_stack)"
          },
          "registers": {
            "type": "object",
            "description": "Register map for RPN memory updates"
          },
          "source": {
            "type": "string",
            "description": "Line-based program source (for rpn_load_program)"
          },
          "preservePrograms": {
            "type": "boolean",
            "description": "Preserve stored RPN programs when resetting"
          },
          "id": {
            "type": "string",
            "description": "Proof line id for update/delete/move/indent actions"
          },
          "toIndex": {
            "type": "number",
            "description": "Target line index for proof_move_line"
          },
          "delta": {
            "type": "number",
            "description": "Indent delta for proof_indent_line"
          },
          "patch": {
            "type": "object",
            "description": "Proof line patch payload for proof_update_line. Include fields like source, justification, indent, or tags.",
            "properties": {
              "source": {
                "type": "string",
                "description": "Proof line content to display in the builder"
              },
              "justification": {
                "type": "string",
                "description": "Optional justification text for the proof line"
              },
              "indent": {
                "type": "number",
                "description": "Indent level for the proof line"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "assumption",
                    "claim",
                    "therefore",
                    "qed"
                  ]
                },
                "description": "Optional proof line tags"
              }
            }
          },
          "templateId": {
            "type": "string",
            "description": "Template id for proof_apply_template"
          },
          "index": {
            "type": "number",
            "description": "Optional insertion index for proof_insert_line/proof_apply_template"
          },
          "line": {
            "type": "object",
            "description": "Optional line payload for proof_insert_line. Include source and optional justification/indent/tags.",
            "properties": {
              "source": {
                "type": "string",
                "description": "Proof line content to insert"
              },
              "justification": {
                "type": "string",
                "description": "Optional justification for the inserted proof line"
              },
              "indent": {
                "type": "number",
                "description": "Indent level for the inserted proof line"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "assumption",
                    "claim",
                    "therefore",
                    "qed"
                  ]
                },
                "description": "Optional proof line tags"
              }
            }
          },
          "document": {
            "type": "object",
            "description": "Full proof document payload for proof_replace_document"
          },
          "title": {
            "type": "string",
            "description": "Proof title for proof_set_document_meta"
          },
          "theorem": {
            "type": "string",
            "description": "Theorem statement for proof_set_document_meta"
          },
          "assumptions": {
            "type": "string",
            "description": "Assumptions block for proof_set_document_meta"
          },
          "goal": {
            "type": "string",
            "description": "Goal statement for proof_set_document_meta"
          }
        },
        "required": [
          "type"
        ]
      }
    }
  },
  "required": [
    "session_id",
    "actions"
  ]
}
⚪close_session(session_id)

Close a session and optionally persist a snapshot of its final state

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Session UUID"
    }
  },
  "required": [
    "session_id"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools