Skip to content

fix(ui): prefer human-readable server title in registry cards - #1573

Merged
rdimitrov merged 1 commit into
modelcontextprotocol:mainfrom
RuyaaCapital-admin:fix/ui-prefer-server-title
Nov 12, 2026
Merged

rdimitrov merged 1 commit into
modelcontextprotocol:mainfrom
RuyaaCapital-admin:fix/ui-prefer-server-title

Conversation

@RuyaaCapital-admin

Copy link
Copy Markdown
Contributor

Summary

  • prefer the optional server.title as the primary heading in Registry cards
  • keep server.name visible as a smaller secondary identity when the values differ
  • preserve the existing server.name heading when title is absent or identical
  • apply the same compact layout to normal results and Recently Updated cards

Why

The Registry schema defines title as a human-readable display name, but collapsed cards currently headline only the reverse-DNS name. That makes browsing harder for users who do not recognize programmatic MCP identifiers.

Generic example:

Before
io.example/weather-server

After
Weather Planner
io.example/weather-server

The technical identity remains visible for namespace verification. All user-provided values continue to pass through the existing escapeHtml(...) helper, and long values use the existing Tailwind wrapping utilities.

Scope

This is presentation-only and backward-compatible. It does not change schemas, API responses, search behavior, publishing, authentication, or protocol behavior.

The API search parameter currently matches only server_name; title and description search are not included here. Icon rendering is also intentionally out of scope and is already tracked by #784.

Testing

  • git diff --check
  • real-browser Playwright smoke coverage with controlled fixtures:
    • title different from name
    • no title
    • title equal to name, without duplicate identity text
    • very long title and technical name, with no card overflow
    • Recently Updated card
    • normal result cards
    • expanded details still open and display the title

Local make check was unavailable because this Windows environment does not have Go, Make, Docker, or a WSL distribution installed. The upstream PR CI is configured to run lint, schema validation, build, vulnerability scanning, and all tests.

@rdimitrov
rdimitrov force-pushed the fix/ui-prefer-server-title branch from 21ddf2b to 39749d9 Compare November 12, 2026 15:20

@rdimitrov rdimitrov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the rebased change with icons preserved in both normal and Recently Updated cards. The optional title improves readability while the full namespaced name remains visible; missing or identical titles fall back without duplication. Search semantics are unchanged.

Browser checks passed at 320, 390, 768, 1024, and 1440 px, including long titles and names, absent/broken icons, HTML escaping, expanded details, and hiding recent cards during search. Fresh CI passed: https://github.com/modelcontextprotocol/registry/actions/runs/43246733127.

@rdimitrov
rdimitrov merged commit ee9df07 into modelcontextprotocol:main Nov 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants