AstraCipher

Servidor MCP de identidade criptográfica para agentes de IA usando DIDs W3C, Credenciais Verificáveis e criptografia pós-quântica NIST (ML-DSA-65 FIPS 204).

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 2025-10-24: 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 2025-09-08: O registro foi lançado em pré-visualização 🎉 (post 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. Um lançamento de disponibilidade geral (GA) seguirá posteriormente. Adoraríamos seu feedback nas discussões do GitHub ou no #registry-dev Discord (detalhes para participar 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 comunitárias em tempo real
  • Discussões - Propor e discutir requisitos de produto/técnicos
  • Issues - Acompanhar 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 pela 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, construímos 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 publicação fazendo login no GitHub
  • GitHub OIDC - Para publicação a partir de 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. Ex.: 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!