SnapState

Estado persistente para fluxos de trabalho de agentes de IA. Salve, retome e reproduza fluxos de trabalho de várias etapas entre sessões, falhas e transferências de agentes. Camada gratuita incluída.

Documentação

Registro MCP

O registro MCP fornece aos clientes MCP uma lista de servidores MCP, como uma loja de aplicativos para servidores MCP.

📤 Publicar meu servidor MCP | ⚡️ Documentação da API ao vivo | 👀 Visão do ecossistema | 📖 Documentação completa

Status de Desenvolvimento

Atualização de 24/10/2025: A API do Registro entrou em congelamento de API (v0.1) 🎉. Pelo próximo mês ou mais, a API permanecerá estável sem mudanças que quebrem compatibilidade, permitindo que integradores implementem suporte com confiança. Este congelamento se aplica à v0.1 enquanto o desenvolvimento continua na v0. Usaremos este período para validar a API em integrações do mundo real e coletar feedback para moldar a v1 para disponibilidade geral. Agradecemos a todos pelas contribuições e paciência—sua participação foi fundamental para chegarmos até aqui!

Atualização de 08/09/2025: O registro foi lançado em pré-visualização 🎉 (postagem do blog de anúncio). Embora o sistema esteja agora mais estável, esta ainda é uma versão de pré-visualização e mudanças que quebram compatibilidade ou redefinições de dados podem ocorrer. Uma versão de disponibilidade geral (GA) será lançada posteriormente. Adoraríamos seu feedback nas discussões do GitHub ou no #registry-dev Discord (detalhes de participação aqui).

Principais mantenedores atuais:

Contribuindo

Usamos múltiplos canais para colaboração - veja modelcontextprotocol.io/community/communication.

Frequentemente (mas nem sempre) as ideias fluem por este pipeline:

  • Discord - Discussões da comunidade em tempo real
  • Discussões - Propor e discutir requisitos de produto/técnicos
  • Issues - Rastrear trabalho técnico bem definido
  • Pull Requests - Contribuir trabalho para as issues

Início rápido:

Pré-requisitos

Executando o servidor

# Start full development environment
make dev-compose

Isso inicia o registro em localhost:8080 com PostgreSQL. O banco de dados usa armazenamento efêmero e é redefinido a cada reinicialização dos contêineres, garantindo um estado limpo para desenvolvimento e testes.

Nota: O registro usa ko para construir imagens de contêiner. O comando make dev-compose automaticamente constrói a imagem do registro com ko e a carrega no seu daemon Docker local antes de iniciar os serviços.

Por padrão, o registro é populado a partir da API de produção com um subconjunto filtrado de servidores (para manter a inicialização rápida). Isso garante que seu ambiente local espelhe o comportamento de produção e que todos os dados de seed passem na validação. Para desenvolvimento offline, você pode popular a partir de um arquivo sem validação com MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose.

A configuração pode ser ajustada com variáveis de ambiente em docker-compose.yml - veja .env.example como referência.

Alternativa: Executando uma imagem Docker pré-construída

Imagens Docker pré-construídas são publicadas automaticamente no GitHub Container Registry:

# Run latest stable release
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest

# Run latest from main branch (continuous deployment)
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main

# Run specific release version
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0

# Run development build from main branch
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d

Tags disponíveis:

  • Releases: latest, v1.0.0, v1.1.0, etc.
  • Contínuo: main (build mais recente do branch main)
  • Desenvolvimento: main-<date>-<sha> (builds de commits específicos)

Publicando um servidor

Para publicar um servidor, criamos uma CLI simples. Você pode usá-la com:

# Build the latest CLI
make publisher

# Use it!
./bin/mcp-publisher --help

Veja o guia do publicador para mais detalhes.

Outros comandos

# Run lint, unit tests and integration tests
make check

Existem também alguns comandos adicionais úteis para desenvolvimento. Execute make help para saber mais, ou consulte o Makefile.

Arquitetura

Estrutura do Projeto

├── cmd/                     # Application entry points
│   └── publisher/           # Server publishing tool
├── data/                    # Seed data
├── deploy/                  # Deployment configuration (Pulumi)
├── docs/                    # Documentation
├── internal/                # Private application code
│   ├── api/                 # HTTP handlers and routing
│   ├── auth/                # Authentication (GitHub OAuth, JWT, namespace blocking)
│   ├── config/              # Configuration management
│   ├── database/            # Data persistence (PostgreSQL)
│   ├── service/             # Business logic
│   ├── telemetry/           # Metrics and monitoring
│   └── validators/          # Input validation
├── pkg/                     # Public packages
│   ├── api/                 # API types and structures
│   │   └── v0/              # Version 0 API types
│   └── model/               # Data models for server.json
├── scripts/                 # Development and testing scripts
├── tests/                   # Integration tests
└── tools/                   # CLI tools and utilities
    └── validate-*.sh        # Schema validation tools

Autenticação

A publicação suporta múltiplos métodos de autenticação:

  • GitHub OAuth - Para publicar fazendo login no GitHub
  • GitHub OIDC - Para publicar a partir do GitHub Actions
  • Verificação DNS - Para provar propriedade de um domínio e seus subdomínios
  • Verificação HTTP - Para provar propriedade de um domínio

O registro valida a propriedade do namespace ao publicar. Por exemplo, para publicar...:

  • io.github.domdomegg/my-cool-mcp você deve fazer login no GitHub como domdomegg, ou estar em uma GitHub Action nos repositórios de domdomegg
  • me.adamjones/my-cool-mcp você deve provar propriedade de adamjones.me via desafio DNS ou HTTP

Projetos da Comunidade

Confira projetos da comunidade para explorar trabalhos notáveis relacionados ao registro criados pela comunidade.

Mais documentação

Veja a documentação para mais detalhes se sua pergunta não foi respondida aqui!