Skip to content

Integrar catálogo remoto de MCP servers #3

@solrachix

Description

@solrachix

Contexto

Hoje o OrbitShell tem configuração manual de MCP em mcp-servers.json e a tela Settings > MCP servers permite adicionar entradas STDIO/HTTP manualmente. Diferente do ACP Registry, ainda não há descoberta remota de MCP servers dentro do app.

Existe um MCP Registry oficial em preview, mantido como parte do projeto Model Context Protocol, que pode servir como fonte de descoberta para clientes MCP.

Referências pesquisadas:

O que a pesquisa indica

  • O MCP Registry oficial está em preview e pode ter breaking changes antes de GA.
  • A API pública read-only usa a base https://registry.modelcontextprotocol.io.
  • Endpoints relevantes para consumo inicial:
    • GET /v0.1/servers para listar servers, com paginação por cursor e limit.
    • GET /v0.1/servers/{serverName}/versions para listar versões.
    • GET /v0.1/servers/{serverName}/versions/{version} para obter uma versão específica, incluindo latest.
  • O payload pode trazer packages para servers instaláveis/localmente executáveis e remotes para servers remotos, por exemplo streamable-http.
  • A API expõe status como active, deprecated ou deleted; o app deve evitar instalar/mostrar como recomendados servers deletados/deprecados.

Proposta

Adicionar uma experiência de catálogo para MCP servers, análoga ao ACP Registry, mas adaptada ao modelo do MCP Registry oficial.

Escopo inicial sugerido:

  • Criar camada de fetch/cache para o MCP Registry oficial.
  • Listar MCP servers em Settings > MCP servers ou em uma subseção MCP Registry.
  • Permitir busca e filtros básicos.
  • Mostrar metadados principais: nome, descrição, versão, repository/website, status e tipo de transporte.
  • Permitir adicionar um server remoto (remotes, como streamable-http) à configuração global MCP.
  • Permitir preparar uma configuração local a partir de packages quando houver metadados suficientes para STDIO.
  • Manter o fluxo manual atual (Add STDIO / Add HTTP) como fallback.
  • Registrar que a API está em preview e implementar cache/fallback para falhas de rede.

Critérios de aceitação

  • O usuário consegue descobrir MCP servers sem escrever mcp-servers.json manualmente.
  • O app busca dados do MCP Registry oficial e guarda cache local para fallback.
  • Servers com status deleted não aparecem como opções instaláveis/adicionáveis por padrão.
  • Servers deprecated aparecem com aviso claro.
  • Ao adicionar um MCP server do catálogo, ele vira uma entrada em GlobalMcpConfig compatível com o runtime atual.
  • O botão de teste/probe existente continua funcionando para entradas adicionadas pelo catálogo.
  • Erros de rede ou mudanças de schema não quebram a tela; o app mostra erro e usa cache quando possível.

Fora de escopo inicial

  • Marketplace próprio com rating, reviews ou segurança avançada.
  • Publicar MCP servers no registry.
  • Subregistry próprio do OrbitShell.
  • Instalação automática de pacotes sem confirmação explícita do usuário.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions