In the Claude Code CLI TUI, when the assistant calls an MCP tool, the UI shows a label like "calling <X>" (the user currently sees "ai control", which comes from my MCP server whose `mcpServers` key is `aicontrol`, tool name `write_panel`).

I want that label to read "text panel" instead.

Answer precisely:

1. What EXACTLY does the TUI use for that call label — the `mcpServers` config KEY (server name), the tool `name`, a tool `title` field, or `annotations.title` from the tools/list response? Does Claude Code prettify the server name (insert spaces, title-case), i.e. does `aicontrol` render as "ai control"?

2. If I want the displayed label to be "text panel", what is the most reliable way:
   (a) rename the server key (to what exactly — can it contain a space, hyphen, or must it be a single token? how does the chosen form render?), or
   (b) set a `title` on the tool in the tools/list response (MCP spec `title` field or `annotations.title`), or
   (c) some server-level displayName?

3. If I rename the server key, does the permission allow-string change from `mcp__aicontrol__write_panel` to `mcp__<newkey>__write_panel` (and how are hyphens/spaces mangled)?

4. Give the concrete recommended change (exact JSON in `.claude.json` and/or exact fields in the MCP `initialize`/`tools/list` response) that makes the call label show "text panel", plus the matching permission allow-string. Note any version differences (I'm on 2.1.207).


I need to fetch the Claude Code documentation to give you the exact answer, as this touches internal label rendering and permission string formatting that may have changed since my training data.


WebFetch

Prompt: MCP server configuration, tool display labels, TUI rendering