Compact tool mode
Some MCP clients refuse to load servers that register more than 100 tools. Antigravity is the most common. It silently drops servers over the cap with no error in the UI. Gemini API has similar limits depending on the model.
EMCP Tools ships 207 tools, and registers however many of them apply to your environment. Compact tool mode is the escape hatch: instead of exposing every tool, the server exposes just 3 dispatcher meta-tools, so the client only ever sees three entries no matter how large your active tool set is.
Replaces Low-tools mode. Compact tool mode supersedes the old Low-tools mode (removed in v3.2.0). Where Low-tools mode filtered the surface down to a curated “essentials” set, Compact tool mode collapses the entire surface to three tools: nothing is trimmed away, it’s just reached through a dispatcher.
When to use it
Section titled “When to use it”Turn it on when your MCP client caps how many tools a server can register:
- Antigravity: silently drops any server over ~100 tools. No error in the UI; the server just doesn’t appear.
- Gemini API / some Gemini models: limit the function set depending on the model.
If you’re using Claude Code, Claude Desktop, Cursor, or VS Code, none of which enforce a hard cap, you don’t need Compact tool mode. Leave it off and the AI gets the full tool list directly.
How to enable it
Section titled “How to enable it”- WordPress admin → EMCP Tools → Tools
- Toggle on Compact tool mode
- Click Save Changes
- Reconnect your MCP client so it re-reads the tool list.
The option is stored as emcp_tools_dispatcher_mode and defaults to off.
The 3 dispatcher tools
Section titled “The 3 dispatcher tools”When Compact tool mode is on, the server surfaces only these three meta-tools:
| Tool | Purpose |
|---|---|
list-tools | Compact catalog of every available tool: name, description, category, and a destructive flag. Supports search and category filters. |
get-tool-schema | Fetch the input schema for one or more tools by name (batch). |
call-tool | Run a tool by name + arguments. |
The discover → schema → call flow
Section titled “The discover → schema → call flow”An agent uses the three tools in sequence:
- Discover: call
list-tools(optionally filtered bysearchorcategory) to find the tool it needs. - Schema: call
get-tool-schemawith the tool name(s) to learn what inputs each accepts. - Call: call
call-toolwith the toolnameand itsargumentsto actually run it.
This is the same set of capabilities as the full server, just reached through a dispatcher instead of registered one-per-tool.
Permissions and per-tool toggles still apply
Section titled “Permissions and per-tool toggles still apply”call-tool is not a privilege-escalation path. Before it runs a target tool it delegates to that tool’s own permission check, exactly the same capability check the tool would run if it were registered directly. It also refuses any tool that is disabled or unknown.
Your individual enable/disable toggles on the Tools tab continue to gate what call-tool is allowed to run. Disable a tool there and call-tool will refuse it, just as if the tool weren’t registered.
When to disable it
Section titled “When to disable it”If your client has no tight tool cap, Compact tool mode is unnecessary. Turn it off and reconnect, and the AI sees the full tool library directly (one MCP tool per ability), which some agents find easier to work with than the dispatcher flow.