Skip to main content
Glama

framework-mcp

Una capa de verificación de vigencia de dependencias para agentes de codificación: un servidor MCP remoto que ofrece a los agentes de codificación (Claude Code, Cursor, etc.) respuestas verificadas y fijadas por versión sobre frameworks que cambian rápidamente: Expo, Next.js, Supabase, Prisma y más.

Por qué: los datos de entrenamiento de los LLM quedan obsoletos más rápido que los ciclos de publicación de los frameworks. Los agentes siguen adivinando una y otra vez las mismas preguntas específicas de versión en lugar de consultar una fuente verificada y fijada por versión. Este servidor es esa fuente: no una herramienta de un solo framework, sino una capa general que cualquier agente de codificación puede consultar antes de confiar en lo que «recuerda» sobre el comportamiento actual de una dependencia.

Stack

Node 24 + TypeScript, @modelcontextprotocol/sdk sobre transporte Streamable HTTP (con estado, sesión por conexión), Express, Postgres (pg), autenticación por clave API mediante el middleware requireBearerAuth del propio SDK.

Related MCP server: react-native-dev-mcp

Alojamiento

Railway (computación, plan Hobby de ~5 $/mes) + Neon (Postgres, nivel gratuito, ramificable).

Configuración local

  1. Crea una cuenta y un proyecto gratuitos en Neon. Copia la cadena de conexión de una rama dev.

  2. cp .env.example .env y completa DATABASE_URL (de Neon) y API_KEY_PEPPER (cualquier cadena aleatoria larga; genera una con node -e "console.log(require('crypto').randomBytes(32).toString('hex'))").

  3. Instala, migra, siembra y compila:

    npm install
    npm run db:migrate
    npm run db:seed
    npm run build
  4. Créate una clave API:

    npm run create-api-key -- "my laptop"

    Esto imprime la clave en bruto una vez: guárdala, no se puede recuperar.

  5. Ejecuta en local:

    npm run dev

    curl http://localhost:3000/health debería devolver ok.

Verifica con MCP Inspector

npx @modelcontextprotocol/inspector

Conéctate a http://localhost:3000/mcp con el transporte «Streamable HTTP» y define una cabecera Authorization: Bearer <tu-clave-api> en la configuración de conexión. Confirma que las 3 herramientas (ping, query_framework_doc, report_outcome) aparecen en la lista y se pueden invocar.

Despliegue en Railway

  1. curl -fsSL agents.railway.com | sh y luego railway login.

  2. Desde este repositorio: railway init (o railway link si el proyecto ya existe).

  3. Define las variables de entorno (panel o railway variable set KEY=value): DATABASE_URL (la cadena de conexión de tu rama production de Neon, distinta de tu rama de desarrollo), API_KEY_PEPPER, NODE_ENV=production.

  4. Ejecuta railway up.

  5. En el panel de Railway: Settings → Networking → Generate Domain. Establece PUBLIC_HOSTNAME con ese dominio (necesario para que la comprobación de host del SDK contra rebindices DNS permita tráfico real).

  6. Ejecuta npm run db:migrate && npm run db:seed una vez contra la DATABASE_URL de producción (desde tu máquina, apuntando a la cadena de conexión de producción).

  7. Crea una clave API de producción con npm run create-api-key, apuntando a la DATABASE_URL de producción.

Obtener una clave API

Autoservicio: visita https://framework-mcp-production.up.railway.app/, introduce un correo electrónico y obtén una clave al instante (una clave activa por correo, con límite de frecuencia).

Vía de respaldo para mantenedores o local: npm run create-api-key -- "etiqueta".

Conectar un cliente remoto

En un .mcp.json de Claude Code:

{
  "mcpServers": {
    "framework-mcp": {
      "type": "http",
      "url": "https://<your-railway-domain>/mcp",
      "headers": { "Authorization": "Bearer <your-api-key>" }
    }
  }
}

Herramientas

  • ping(message) — comprobación de estado

  • list_frameworks() — lista todos los frameworks/versiones cubiertos, con recuento de entradas; llámala primero si no sabes el slug/versión exacta para pasar a las siguientes

  • query_framework_doc(framework, version, question) — consulta una respuesta verificada y devuelve query_id

  • report_outcome(query_id, worked, note?) — registra si la respuesta devuelta funcionó realmente

Cobertura

Framework

Versión

Entradas

Fuente

Expo SDK

54.0.0

20

expo.dev/changelog/sdk-54

Next.js

16.3.2

20

nextjs.org/blog, nextjs.org/docs upgrade guide

Supabase (supabase-js)

2.112.3

20

supabase.com/changelog, GitHub releases

Prisma ORM

7.9.1

20

prisma.io/docs upgrade guide, prisma.io/changelog

Vercel AI SDK

7.0.77

20

ai-sdk.dev migration guides, vercel.com/blog

Nuxt

4.5.2

20

nuxt.com/docs upgrade guide, nuxt.com/blog

Todas las entradas fueron verificadas el 2026-08-22 contra las fuentes oficiales citadas en cada archivo de seeds bajo db/seed/. Para añadir un framework: crea un nuevo db/seed/<slug>.json con la misma estructura que los archivos existentes y luego ejecuta npm run db:seed (que podrá coger automáticamente todos los *.json de esa carpeta).

Estado

El registro de autoservicio está activo en / (correo → clave API inmediata, una por correo, con límite por IP). Publicado en el registro oficial de MCP (registry.modelcontextprotocol.io) y enviado a mcpservers.org y Glama (ambos en revisión). No está en Smithery (su escáner de descubrimiento por OAuth no admite la autenticación simple por clave estática de tipo bearer) ni en mcp.so (no hay plan gratuito para aparecer en el listado).

Pospuesto (Etapa B, aún no implementado): facturación con Stripe, plan_tier / credit_balance / aplicación de límites de frecuencia por clave en api_keys, puntuación y clasificación basadas en el feedback.

Related MCP Connectors

Related MCP Servers