$ desarrollomcp
Volver al blog
Ecosistema

El Registry de MCP: Descubre Servidores Públicos

Por DesarrolloMCP
|
#mcp #registry #servidores #comunidad

Introducción al MCP Registry

El MCP Registry es el catálogo oficial de servidores MCP públicos lanzado por Anthropic el 8 de septiembre de 2024. Funciona como un marketplace centralizado donde desarrolladores pueden descubrir servidores MCP creados por la comunidad y compartir sus propias implementaciones.

¿Qué es el Registry?

El Registry es fundamentalmente:

  • 📚 Catálogo: Directorio de servidores MCP verificados
  • 🔍 Descubrimiento: Sistema de búsqueda y filtrado
  • 🌐 API: REST API para integración programática
  • 🏢 Flexible: Soporte para sub-registros públicos y privados

URL del Registry

https://registry.modelcontextprotocol.io

Características principales

1. Standardización

El Registry es la fuente única de verdad para servidores MCP públicos. Esto significa:

  • Formato consistente de metadata
  • Validación automática
  • Versionado claro
  • Documentación estandarizada

2. Descubrimiento mejorado

Los clientes MCP pueden consultar el registry para:

// Ejemplo de búsqueda en el registry
GET /api/v1/servers?category=database
GET /api/v1/servers?q=postgresql
GET /api/v1/servers?tags=sql,postgres

Esto mejora significativamente la accesibilidad entre clientes y servidores.

3. Sub-registros

El Registry soporta dos tipos de sub-registros:

Sub-registros públicos

Para clientes que quieren curar su propio marketplace:

{
  "name": "VS Code MCP Marketplace",
  "type": "public",
  "url": "https://marketplace.visualstudio.com/mcp",
  "filter": {
    "tags": ["vscode", "editor"]
  }
}

Sub-registros privados

Para empresas con requisitos estrictos de seguridad:

{
  "name": "Acme Corp Internal Registry",
  "type": "private",
  "url": "https://mcp-registry.acme.internal",
  "auth": {
    "type": "oauth2",
    "endpoint": "https://auth.acme.com"
  }
}

Servidores populares en el Registry

Algunos ejemplos de servidores disponibles:

Base de datos

# PostgreSQL
npm install @modelcontextprotocol/server-postgres

# SQLite
npm install @modelcontextprotocol/server-sqlite

# MongoDB
npm install @modelcontextprotocol/server-mongodb

Productividad

# Google Drive
npm install @modelcontextprotocol/server-gdrive

# Slack
npm install @modelcontextprotocol/server-slack

# Gmail
npm install @modelcontextprotocol/server-gmail

Desarrollo

# GitHub
npm install @modelcontextprotocol/server-github

# Git local
npm install @modelcontextprotocol/server-git

# Filesystem
npm install @modelcontextprotocol/server-filesystem

Web scraping

# Puppeteer
npm install @modelcontextprotocol/server-puppeteer

# Playwright
npm install @modelcontextprotocol/server-playwright

Publicar tu servidor

Requisitos previos

Para publicar un servidor en el Registry:

  1. ✅ Servidor funcional y probado
  2. ✅ Documentación clara
  3. ✅ Licencia de código abierto
  4. ✅ Repositorio público (GitHub, GitLab, etc.)
  5. ✅ Archivo mcp.json de metadata

Estructura de mcp.json

{
  "name": "mi-servidor-mcp",
  "version": "1.0.0",
  "description": "Descripción clara y concisa",
  "author": {
    "name": "Tu Nombre",
    "email": "[email protected]",
    "url": "https://tu-sitio.com"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/usuario/repo"
  },
  "license": "MIT",
  "keywords": ["mcp", "database", "postgresql"],
  "capabilities": {
    "resources": true,
    "tools": true,
    "prompts": false
  },
  "config": {
    "schema": {
      "type": "object",
      "properties": {
        "apiKey": {
          "type": "string",
          "description": "API key para autenticación"
        }
      },
      "required": ["apiKey"]
    }
  }
}

Proceso de publicación

# 1. Instalar CLI del Registry
npm install -g @modelcontextprotocol/registry-cli

# 2. Autenticarse
mcp-registry login

# 3. Publicar servidor
mcp-registry publish

# 4. Verificar publicación
mcp-registry info mi-servidor-mcp

Guía de publicación oficial

Consulta la guía completa en:

https://modelcontextprotocol.io/docs/registry/publishing

Moderación y seguridad

El Registry incluye mecanismos de protección:

Sistema de denuncias

Los usuarios pueden reportar servidores problemáticos:

  • 🚫 Spam
  • 🦠 Malware
  • 👤 Suplantación de identidad
  • 🔒 Violaciones de seguridad
# Reportar un servidor
mcp-registry report <nombre-servidor> \
  --reason "spam" \
  --details "Descripción del problema"

Revisión por mantenedores

Los mantenedores oficiales del Registry:

  • Revisan reportes
  • Verifican código sospechoso
  • Pueden remover entradas
  • Mantienen lista de servidores verificados

Servidores verificados

Los servidores con badge de verificación han pasado revisión de seguridad:

{
  "verified": true,
  "verifiedBy": "Anthropic",
  "verifiedAt": "2024-01-15T00:00:00Z"
}

Integración con clientes

Buscar en el Registry

import { RegistryClient } from "@modelcontextprotocol/registry-client";

const client = new RegistryClient();

// Buscar servidores
const results = await client.search({
  query: "database",
  category: "data",
  tags: ["sql"],
  verified: true,
});

// Obtener detalles de un servidor
const server = await client.getServer("server-postgres");

console.log(server.name); // "server-postgres"
console.log(server.installCommand); // "npm install ..."

Instalación automática

Los clientes pueden ofrecer instalación con un click:

async function installFromRegistry(serverId: string) {
  const server = await client.getServer(serverId);

  // Ejecutar comando de instalación
  execSync(server.installCommand);

  // Añadir a configuración de cliente
  await addServerToConfig(server);

  console.log(`✓ ${server.name} instalado correctamente`);
}

REST API del Registry

El Registry expone una API RESTful compatible con OpenAPI:

Endpoints principales

# Listar todos los servidores
GET /api/v1/servers

# Buscar servidores
GET /api/v1/servers?q=postgres&category=database

# Obtener detalles
GET /api/v1/servers/{serverId}

# Obtener estadísticas
GET /api/v1/servers/{serverId}/stats

# Listar versiones
GET /api/v1/servers/{serverId}/versions

Ejemplo de respuesta

{
  "servers": [
    {
      "id": "server-postgres",
      "name": "@modelcontextprotocol/server-postgres",
      "version": "1.2.0",
      "description": "PostgreSQL MCP server",
      "author": "Anthropic",
      "verified": true,
      "downloads": 15420,
      "stars": 234,
      "tags": ["database", "sql", "postgres"],
      "capabilities": {
        "resources": true,
        "tools": true
      },
      "installCommand": "npm install @modelcontextprotocol/server-postgres"
    }
  ],
  "total": 147,
  "page": 1,
  "perPage": 10
}

Estado actual y roadmap

Estado (Enero 2024)

  • ✅ Preview público disponible
  • ✅ API REST funcional
  • ✅ ~150 servidores publicados
  • ⏳ Sistema de ratings (próximamente)
  • ⏳ Comentarios y reviews (próximamente)

Roadmap

Anthropic planea añadir:

  1. Q1 2024: Sistema de ratings y reviews
  2. Q2 2024: Badges de calidad automatizados
  3. Q2 2024: Analytics para mantenedores
  4. Q3 2024: Marketplace empresarial
  5. Q4 2024: Servidores premium (posiblemente)

Mejores prácticas

Para publicadores

  1. Documentación clara: README completo con ejemplos
  2. Tests: Suite de pruebas automatizadas
  3. Versionado semántico: Seguir SemVer
  4. Changelog: Mantener historial de cambios
  5. Issues: Responder a reportes de usuarios

Para consumidores

  1. Verifica badges: Prefiere servidores verificados
  2. Lee reviews: Consulta experiencias de otros usuarios
  3. Revisa código: Especialmente para datos sensibles
  4. Prueba en staging: Antes de producción
  5. Reporta problemas: Ayuda a mejorar el ecosistema

Conclusión

El MCP Registry es fundamental para el ecosistema MCP porque:

  • 🎯 Centraliza el descubrimiento de servidores
  • 🔒 Proporciona mecanismos de seguridad
  • 🚀 Facilita la distribución
  • 🤝 Fomenta la colaboración comunitaria

Si has construido un servidor MCP, publicarlo en el Registry es la mejor manera de compartirlo con la comunidad.


Post anterior: Primeros Pasos con MCP

Próximo post: Nuevas Características en la Próxima Versión de MCP

Recursos: