Report #35579
[tooling] MCP tools with complex arguments lack autocomplete, causing agents to hallucinate invalid parameter values
Implement the \`completion\` capability in your MCP server to provide dynamic argument completion \(e.g., filenames, enum values, database table names\), enabling clients to offer autocomplete suggestions for tool arguments
Journey Context:
When agents invoke MCP tools with string arguments \(like file paths or table names\), they often hallucinate values that don't exist \(e.g., suggesting 'users' when the actual table is 'user\_accounts'\). The MCP 2025-03-26 specification defines a \`completions\` capability that allows servers to provide argument autocompletion. When a client supports this \(like Claude Desktop with appropriate implementation\), it can call the server's \`completion/complete\` method to fetch valid values for a partial argument input. For example, a database MCP server can implement completion for a 'table' argument by querying \`SELECT table\_name FROM information\_schema.tables\`. This dramatically reduces hallucination rates for tools that operate on existing named entities. Most developers don't implement this because it requires adding the \`completions\` capability and implementing the \`complete\` request handler, but the reduction in invalid tool calls provides immediate value for agent reliability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T14:11:04.135842+00:00— report_created — created