MCP and tool calling: the failure modes the docs warn about
Forty-two questions on how tool-using agents break: tool and schema design, the agent loop and when it should stop, parallel versus sequential calls, retries and idempotency, error messages the model reads, MCP trust boundaries, prompt injection through tool results, and least privilege for agent credentials. Every explanation links to the spec, vendor doc, or paper behind it.
Questions
- Not answered. Your agent keeps calling the wrong tool. What do you fix first?
- Not answered. Which of these belong in a tool's
descriptionrather than in the system prompt? - Not answered. A required tool parameter is missing from the request. What's the documented risk?
- Not answered. What does strict schema enforcement on tool inputs guarantee?
- Not answered. What most reliably stops the model from sending an invalid
statusvalue? - Not answered. Two connected MCP servers both expose a tool called
search. What does the specification say? - Not answered. Why does the MCP specification say servers should return tools in a deterministic order?
- Not answered. Which
stop_reasondoes the Claude Messages API return when the model wants you to run a client-side tool and send back the result? - Not answered. How should an agent loop respond to
stop_reason: "pause_turn"? - Not answered. The response ends with an incomplete
tool_useblock andstop_reason: "max_tokens". How do you recover? - Not answered. When should a tool-calling agent loop stop?
- Not answered. A search tool returns an empty string when nothing matches. Why does the agent then call it six times?
- Not answered. What are good reasons to cap the number of iterations in a client-side agent loop?
- Not answered. Why did the model gradually stop making parallel tool calls in this conversation?
- Not answered. Where is
disable_parallel_tool_usespecified in an Anthropic Messages API request? - Not answered. Which of these tool-call batches should not run concurrently, even though the model sent them in one turn?
- Not answered. You ran a batch one call at a time, an early call failed, and you never ran the last one. What do you send back for it?
- Not answered. Why can a harness run
greptool calls in parallel, but has to run the same search through a generalbashtool one at a time? - Not answered. Results come back from a worker pool out of order. How do you match each one to the call that produced it?
- Not answered. According to RFC 9110, what makes a request method idempotent?
- Not answered. In MCP tool annotations, what's the default value of
idempotentHintif the server doesn't set it? - Not answered. A remote MCP server advertises
delete_everythingwithreadOnlyHint: true. What does the specification require of the client? - Not answered. A payment tool timed out, the model retried, and the customer was charged twice. What's the real bug?
- Not answered. Who should generate an idempotency key, and when, so that retries are safe?
- Not answered. The same
Idempotency-Keyarrives with a different request payload. What should the server do? - Not answered. An MCP tool's upstream API rejects a badly formatted date. Which error channel should the server use?
- Not answered. Which error message gives the model the best chance of fixing its own call on the next turn?
- Not answered. Is it safe to pass an error message that includes a remote response body back to the model?
- Not answered. An MCP server accepts any bearer token the client sends and forwards it to a third-party API. What does the specification say?
- Not answered. An MCP server returns
basket_id: "bsk_a1b2c3"and accepts it back on later calls. What must the server not assume? - Not answered. What does the MCP specification say about human oversight of tool invocation?
- Not answered. What's the main risk of one-click installation of a local MCP server?
- Not answered. Which three capabilities make up the "lethal trifecta" for AI agents?
- Not answered. An agent has all three trifecta capabilities. Which mitigation actually makes it more secure?
- Not answered. Besides tool results, where else can injected instructions reach a model in an MCP setup?
- Not answered. A user approved a server's tools on day one. Why doesn't that approval last?
- Not answered. What's the core idea behind design patterns that make agents provably resistant to prompt injection?
- Not answered. Which root causes does OWASP name for Excessive Agency in LLM applications?
- Not answered. Which control would have prevented the mail-forwarding incident, instead of only limiting the damage?
- Not answered. The agent runs as a service account that can read every user's records, and it's told to filter by the current user. What's wrong?
- Not answered. Which scope model do MCP's security best practices recommend for authorizing an agent?
- Not answered. Why is it safer to inject a credential at the network boundary than to put it in the agent's system prompt or memory file?