framework-mcp
Documentação verificada e com versão fixada do Expo SDK para agentes de codificação via MCP remoto.
Documentação
framework-mcp
Uma camada de verificação de atualidade de dependências para agentes de codificação: um servidor MCP remoto que fornece a agentes de codificação (Claude Code, Cursor, etc.) respostas verificadas e com versão fixada sobre frameworks em rápida evolução — Expo, Next.js, Supabase, Prisma e crescendo.
Por quê: os dados de treinamento de LLMs ficam desatualizados mais rápido do que os ciclos de lançamento de frameworks. Os agentes continuam tentando adivinhar as mesmas perguntas específicas de versão em vez de consultar uma fonte verificada e com versão fixada. Este servidor é essa fonte — não uma ferramenta de framework único, mas uma camada geral que qualquer agente de codificação pode consultar antes de confiar no que ele "lembra" sobre o comportamento atual de uma dependência.
Stack
Node 24 + TypeScript, @modelcontextprotocol/sdk sobre transporte Streamable HTTP
(com estado, sessão por conexão), Express, Postgres (pg),
autenticação por chave de API via middleware requireBearerAuth do próprio SDK.
Hospedagem: Railway (computação, ~US$ 5/mês no plano Hobby) + Neon (Postgres, plano gratuito, com ramificações).
Configuração local
- Crie uma conta e um projeto gratuitos no Neon. Copie a
string de conexão para uma ramificação
dev. cp .env.example .enve preenchaDATABASE_URL(do Neon) eAPI_KEY_PEPPER(qualquer string aleatória longa — gere uma comnode -e "console.log(require('crypto').randomBytes(32).toString('hex'))").- Instale, migre, popule o banco e compile:
npm install npm run db:migrate npm run db:seed npm run build - Crie uma chave de API para você:
Isso imprime a chave bruta uma única vez — salve-a, ela não é recuperável.npm run create-api-key -- "my laptop" - Execute localmente:
npm run devcurl http://localhost:3000/healthdeve retornarok.
Verifique com o MCP Inspector
npx @modelcontextprotocol/inspector
Conecte-se a http://localhost:3000/mcp com transporte "Streamable HTTP" e
defina um cabeçalho Authorization: Bearer <your-api-key> nas configurações de
conexão. Confirme que todas as 3 ferramentas (ping, query_framework_doc,
report_outcome) aparecem na lista e podem ser chamadas.
Implantar no Railway
curl -fsSL agents.railway.com | she depoisrailway login.- A partir deste repositório:
railway init(ourailway linkse um projeto já existir). - Defina as variáveis de ambiente (painel, ou
railway variable set KEY=value):DATABASE_URL(string de conexão da sua ramificação de produção do Neon, separada da sua ramificação de desenvolvimento),API_KEY_PEPPER,NODE_ENV=production. railway up.- No painel do Railway: Settings → Networking → Generate Domain. Defina
PUBLIC_HOSTNAMEpara esse domínio (necessário para a verificação de host de rebinding de DNS do SDK permitir tráfego real). - Execute
npm run db:migrate && npm run db:seeduma vez contra oDATABASE_URLde produção (da sua máquina, apontando para a string de conexão de produção). - Crie uma chave de API de produção com
npm run create-api-key, apontando para oDATABASE_URLde produção.
Obter uma chave de API
Autoatendimento: visite https://framework-mcp-production.up.railway.app/, informe um e-mail, receba uma chave instantaneamente (uma chave ativa por e-mail, com limite de taxa).
Fallback para mantenedor/local: npm run create-api-key -- "label".
Conectar um cliente remoto
Em um .mcp.json do Claude Code:
{
"mcpServers": {
"framework-mcp": {
"type": "http",
"url": "https://<your-railway-domain>/mcp",
"headers": { "Authorization": "Bearer <your-api-key>" }
}
}
}
Ferramentas
ping(message)— verificação de integridadelist_frameworks()— lista todos os frameworks/versões cobertos, com contagens de entradas — chame isso primeiro se você não souber o slug/versão exatos para passar abaixoquery_framework_doc(framework, version, question)— consulta uma resposta verificada, retornaquery_idreport_outcome(query_id, worked, note?)— registra se a resposta retornada realmente funcionou
Cobertura
| Framework | Versão | Entradas | Fonte |
|---|---|---|---|
| Expo SDK | 54.0.0 | 20 | expo.dev/changelog/sdk-54 |
| Next.js | 16.3.2 | 20 | nextjs.org/blog, guia de atualização em nextjs.org/docs |
| Supabase (supabase-js) | 2.112.3 | 20 | supabase.com/changelog, releases no GitHub |
| Prisma ORM | 7.9.1 | 20 | guia de atualização em prisma.io/docs, prisma.io/changelog |
| Vercel AI SDK | 7.0.77 | 20 | guias de migração em ai-sdk.dev, vercel.com/blog |
| Nuxt | 4.5.2 | 20 | guia de atualização em nuxt.com/docs, nuxt.com/blog |
Todas as entradas verificadas em 2026-08-22 contra as fontes oficiais citadas em cada
arquivo de seed em db/seed/. Para adicionar um framework: crie um novo
db/seed/<slug>.json seguindo o formato dos arquivos existentes e depois npm run db:seed (it picks up every *.json nessa pasta automaticamente).
Status
Cadastro de autoatendimento ativo em / (e-mail → chave de API instantânea, uma por e-mail,
com limite de taxa por IP). Publicado no Registro MCP oficial
(registry.modelcontextprotocol.io) e enviado ao mcpservers.org e Glama
(ambos em revisão). Não está no Smithery (o scanner de descoberta OAuth deles não
suporta autenticação simples de chave bearer estática) nem no mcp.so (sem nível de listagem gratuito).
Adiado (Estágio B, ainda não construído): cobrança via Stripe, plan_tier /
credit_balance / aplicação de limite de taxa por chave em api_keys,
pontuação/classificação com base em feedback.