MCP settings page loses tool titles/categories after chat (raw gs_* names, same live tool count)

Resolved 💬 2 comments Opened Mar 7, 2026 by KjellKod Closed Mar 8, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Connector settings initially show human-readable MCP tool titles/categories, but after entering chat and returning to settings, the same tools are shown as raw function names (for example vendor_read_values_get) under Other tools.

Tool functionality still works, but the settings metadata display regresses after chat.

Steps to Reproduce

  1. Install/reinstall a custom MCP connector with namespaced tool IDs.
  2. Open connector settings.
  3. Observe human-readable names and grouped categories (for example Read-only tools, Write/delete tools).
  4. Start a chat and run one MCP tool call successfully.
  5. Return to connector settings.

Expected Behavior

The same tools should continue to display with human-readable titles/categories after chat.

Actual Behavior

  • Tool count remains the same live subset (example: 11 tools).
  • Display degrades to raw names like vendor_read_values_get.
  • Grouping collapses to Other tools.

Environment

  • Connector type: custom MCP connector (namespaced tool IDs)
  • Transport: stdio
  • Date observed: 2026-03-07

Additional Context

Server payload was validated aggressively:

  • stripped FastMCP default outputSchema
  • stripped FastMCP _meta
  • allowlisted outbound tool fields to only name,title,description,inputSchema,annotations
  • emitted tools/list_changed notifications on dynamic enablement
  • tested dynamic mode and full startup tier

Despite this, settings still regress after chat while tool execution continues to work.

Prior run pattern was 13 -> 29 (manifest-looking fallback). Latest pattern is 11 -> 11 (same live subset), but metadata is lost after chat.

This reproduces with one connector namespace here, but appears likely to affect any connector relying on Tool.title / annotations for settings display.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗