Skip to content

feat: implement MCP server search functionality and registry integration#2197

Open
vvnsrzn wants to merge 2 commits intohuggingface:mainfrom
vvnsrzn:feat-mcp-search
Open

feat: implement MCP server search functionality and registry integration#2197
vvnsrzn wants to merge 2 commits intohuggingface:mainfrom
vvnsrzn:feat-mcp-search

Conversation

@vvnsrzn
Copy link
Contributor

@vvnsrzn vvnsrzn commented Mar 21, 2026

MCP Search

Adds an MCP Registry search tab to the "Add Server" modal, allowing users to discover and add servers from the official registry in one click.

image

When selecting a server, the name, URL, and required authentication headers are automatically pre-filled with description hints — and mandatory headers cannot be removed.

image

Existing custom servers can now be edited directly from the server list

image

A new /api/mcp/registry endpoint proxies the MCP registry with a 5-minute cache.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

// Filter out empty headers
const filteredHeaders = headers.filter((h) => h.key.trim() && h.value.trim());

P1 Badge Enforce required headers before dropping empty rows

Required registry headers can still be removed by clearing both inputs: validate() ignores rows where key/value are both empty, and this filter then drops those rows entirely on submit. In practice, a user can bypass the “non-removable” UI for mandatory auth headers and save a broken server config that fails health checks/connection.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines 202 to 203
{#if !header.description}
<button

Choose a reason for hiding this comment

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

P2 Badge Represent required headers explicitly, not via description

The form treats description as the required/locked signal (!header.description controls whether a header is removable), but registry header descriptions are optional. That means a header marked required by the registry but lacking a description is shown as removable/optional, so the UI can silently violate required-auth metadata.

Useful? React with 👍 / 👎.

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.

1 participant