Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
In Cursor, the CallMcpTool tool signature appears to only accept { server, toolName }, but in practice it can also accept an arguments payload that is forwarded to the underlying MCP tool. This mismatch causes agents to incorrectly assume they cannot pass tool arguments, leading to input validation errors when calling MCP tools that require parameters.
Steps to Reproduce
Tell the agent to call a mcp tool that requires arguments, it sometimes calls it without arguments. I notice that, so I ask the agent to analyze the reason, and below is from gpt 5.2:
Observed Behavior
Cursor shows CallMcpTool with parameters:
server: string
toolName: string
However, successful calls require passing tool-specific parameters, e.g.:
CallMcpTool({ server, toolName, arguments: { … } })
If arguments is not provided, MCP returns errors like:
MCP error -32602: Input validation error: Invalid input: expected string, received undefined
Analysis / Root Cause Hypothesis
It looks like the Cursor client/runtime supports forwarding an arguments payload to the MCP server/tool, but the tool schema presented to the agent is incomplete or outdated (missing arguments). This creates inconsistent guidance vs. actual capability.
Expected Behavior
The CallMcpTool schema/signature exposed to the agent should include an arguments field (object) that is forwarded to the MCP tool invocation.
The signature shown to the agent and the runtime behavior should match, so agents can reliably infer how to call MCP tools.
Operating System
MacOS
Version Information
Version: 2.4.21
VSCode Version: 1.105.1
Commit: dc8361355d709f306d5159635a677a571b277bc0
Date: 2026-01-22T16:57:59.675Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 24.5.0
For AI issues: which model did you use?
GPT-5.2
Additional Information
From GPT 5.2: The problem is not the MCP server/tool itself: the MCP tool descriptor correctly declares required fields. The problem is the discrepancy between the CallMcpTool schema shown to the agent and what the runtime actually supports.
Does this stop you from using Cursor
No - Cursor works, but with this issue
