toolmenu
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
toolmenu checks an MCP server's tool list (its menu) the way clients and agents meet it. After changing a server's tools: snapshot_menu for findings and token cost, diff_menus against the committed menu.json for breaking changes, check_session to see whether the menu changes mid-session. Each finding ends with a → Next: step; explain_rule says what a rule checks.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| snapshot_menuA | Check an MCP server's tool list: start or connect to it, list its tools, and report findings (what agents misread, what breaks clients or prompt caches) and the token cost. Writes the menu file only when save_as is given (the baseline for diff_menus). |
| diff_menusA | Compare two menu files (from snapshot_menu save_as, or toolmenu snapshot): breaking changes for clients, the token change per conversation, and the version bump it needs. Reads files only. |
| check_sessionA | Check whether an MCP server's menu changes while an agent works: call its tools marked readOnlyHint whose arguments the schema can fill, list the menu after each call, and report each change with the call that caused it. Calls only read-only tools; never one marked openWorldHint unless open_world is set. |
| explain_ruleA | Explain a toolmenu rule by the name a finding gives (naming/vague-id): what it checks, its default level and how to change it. Without rule, lists every rule. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool has a distinct role: snapshot_menu captures a menu, diff_menus compares two saved menus, explain_rule documents rules, and check_session monitors menu changes during a live session. The only mild overlap is between snapshot_menu and check_session, since both list a server's tools and report findings, but the one-shot vs. live-session distinction is made clear in the descriptions.
All four names follow the same snake_case verb_noun pattern (snapshot_menu, explain_rule, diff_menus, check_session) with the noun always referring to the menu/rule/session domain. No mixing of conventions or vague verbs.
Four tools is on the lean side but each maps to a genuinely different workflow (capture, compare, explain, monitor) with no filler. A slightly larger surface might be expected for menu management, but nothing here feels redundant.
The core audit lifecycle is covered: snapshot to a file, diff against a baseline, inspect rules, and verify changes during a session. Minor gaps remain, such as listing or deleting previously saved menu files and configuring rules, but agents can work around these.