MCP tool limit in VS Code, Claude Code, and Cursor
VS Code allows 128 enabled tools per chat request. Claude Code has no fixed cap and defers MCP tools. Cursor's MCP docs name no number.

The MCP tool limit depends on the client. VS Code allows at most 128 enabled tools in one chat request. Claude Code has no fixed per-server cap: by default it defers MCP tool definitions through tool search, so your context window is the practical limit. Cursor's MCP docs give no tool count at all. All three let you turn off servers you don't need for the task, and VS Code also lets you deselect single tools.
Each client's rule comes from its own docs: VS Code's Use tools with agents, the Claude Code MCP docs, and Cursor's MCP docs. The server-side example is Sume's hosted MCP server, from MCP tools and gates. All were read on 2026-09-28.
What is each client's MCP tool limit?
A limit on tools available to a request is not a limit on tool calls. Cursor's Agent docs, for example, say there is no limit on the number of tool calls the Agent can make during a task.
| Client | What the docs say | How to trim |
|---|---|---|
| VS Code | A chat request can have a maximum of 128 tools enabled at a time | Deselect tools or whole MCP servers in the tools picker, or turn on virtual tools |
| Claude Code | No fixed per-server tool cap; the practical limit is your context window budget | Tool search defers definitions by default; toggle a server off in /mcp |
| Cursor | No tool count stated on the MCP page | Toggle servers off in Customize; disabled servers don't load or appear in chat |
How do I fix "Cannot have more than 128 tools per request"?
That is VS Code's error. Its docs give two fixes:
- Open the tools picker in the Chat view (Configure Tools) and deselect some tools or entire MCP servers to reduce the count.
- Or enable virtual tools with the
github.copilot.chat.virtualTools.thresholdsetting, which VS Code describes as automatically managing large tool sets. - To see what is enabled, type
#in the chat input to browse available tools and tool sets.
Does Claude Code limit the number of MCP tools?
Not with a fixed number. Tool search is on by default: only tool names and server instructions load at session start, and definitions load when Claude needs them. The ENABLE_TOOL_SEARCH variable changes this: auto loads tools upfront while their definitions total less than 10% of the context window and defers all of them once they reach it, and false loads every tool upfront.
For a server whose tools Claude needs every turn, set alwaysLoad: true on that server; each upfront tool uses context. The /mcp panel shows the tool count next to each connected server, which is the quickest way to find the heavy one.
How many tools does one MCP server add?
It varies by server and, on some servers, by how you signed in. Ask the agent to call the server's own listing tool and count. On Sume's hosted server, tools_list lists every tool visible in the current session, and tools_schema fetches one tool's contract by name.
Sign-in changes the count. With OAuth and only mcp:read, the session sees read-only tools; mutating and paid tools appear only once Write is turned on at consent, and an API-key session sees the full set. If a chat only needs to browse jobs, assets, or the catalog, leaving Write off keeps Sume's share of your tool budget smaller. Sume MCP tools list groups the tools by read, write, and paid.
Sources
Related posts
More in Developers
- MCP tools vs resources vs prompts: who controls each
MCP tools are called by the model, resources are attached by the app, and prompts are picked by the user. What each one is for, and how to choose.
- Faststart MP4: moving the moov atom to the front
A faststart MP4 has its index, the moov atom, at the start of the file. FFmpeg moves it there with -movflags +faststart in a second pass.
- p-limit npm: cap concurrent AI API jobs in Node.js
p-limit runs at most n promise-returning functions at once. For paid AI jobs, wrap the submit and the wait, not just the POST, and set n to your limit.
- Rate limit headers: what limit, remaining and reset mean
Rate limit headers report your request budget: the window's limit, what's left, and when it resets. What each means and how a client should pace itself.
Written by Sume