calculator
Calculators accessible via MCP with real-time collaborative sessions and shareable URLs.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"calculator": {
"url": "https://mcpcalc.com/api/v1/mcp"
}
}
}リモートエンドポイント
https://mcpcalc.com/api/v1/mcpstreamable-httpできること
ツール一覧
ツール(10)
🟢list_calculators(category)
List available calculators, optionally filtered by category
入力スキーマ
{
"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
入力スキーマ
{
"type": "object",
"properties": {
"calculator": {
"type": "string",
"description": "Calculator slug"
}
},
"required": [
"calculator"
]
}🟢calculate(calculator, inputs, strict)
Run a calculation and get results + prefilled URL
入力スキーマ
{
"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
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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.)
入力スキーマ
{
"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
入力スキーマ
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "Session UUID"
}
},
"required": [
"session_id"
]
}コミュニティ
エビデンス