Skip to main content
Glama

framework-mcp

Слой проверки актуальности зависимостей для агентов кодинга: удалённый MCP-сервер, который предоставляет агентам кодинга (Claude Code, Cursor и др.) проверенные ответы с привязкой к версиям о быстро развивающихся фреймворках — Expo, Next.js, Supabase, Prisma и других.

Зачем: данные обучения LLM устаревают быстрее, чем выходят релизы фреймворков. Агенты продолжают угадывать ответы на одни и те же вопросы, зависящие от версии, вместо того чтобы обращаться к проверенному источнику с привязкой к версиям. Этот сервер и есть такой источник — не инструмент для одного фреймворка, а общий слой, к которому любой агент кодинга может обратиться, прежде чем доверять тому, что он «помнит» о текущем поведении зависимости.

Стек

Node 24 + TypeScript, @modelcontextprotocol/sdk поверх транспорта Streamable HTTP (с сохранением состояния, сессия на подключение), Express, Postgres (pg), аутентификация по API-ключу через собственное промежуточное ПО requireBearerAuth из SDK.

Хостинг: Railway (вычисления, ~$5/мес по тарифу Hobby) + Neon (Postgres, бесплатный тариф, ветвление).

Related MCP server: react-native-dev-mcp

Локальная настройка

  1. Создайте бесплатный аккаунт и проект в Neon. Скопируйте строку подключения для ветки dev.

  2. cp .env.example .env и заполните DATABASE_URL (из Neon) и API_KEY_PEPPER (любая длинная случайная строка — сгенерируйте с помощью node -e "console.log(require('crypto').randomBytes(32).toString('hex'))").

  3. Установите зависимости, выполните миграции, заполните базу, соберите проект:

    npm install
    npm run db:migrate
    npm run db:seed
    npm run build
  4. Создайте себе API-ключ:

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

    Эта команда выводит ключ один раз — сохраните его, восстановить его невозможно.

  5. Запустите локально:

    npm run dev

    curl http://localhost:3000/health должен вернуть ok.

Проверка с помощью MCP Inspector

npx @modelcontextprotocol/inspector

Подключитесь к http://localhost:3000/mcp с транспортом «Streamable HTTP» и укажите заголовок Authorization: Bearer <your-api-key> в настройках подключения. Убедитесь, что все 3 инструмента (ping, query_framework_doc, report_outcome) отображаются и вызываются.

Развёртывание на Railway

  1. curl -fsSL agents.railway.com | sh, затем railway login.

  2. Из этого репозитория: railway init (или railway link, если проект уже существует).

  3. Задайте переменные окружения (в панели управления или через railway variable set KEY=value): DATABASE_URL (строка подключения к production-ветке Neon, отдельно от dev-ветки), API_KEY_PEPPER, NODE_ENV=production.

  4. railway up.

  5. В панели Railway: Settings → Networking → Generate Domain. Установите PUBLIC_HOSTNAME на этот домен (нужно для проверки хоста от DNS-rebinding в SDK, чтобы пропускать реальный трафик).

  6. Выполните npm run db:migrate && npm run db:seed один раз для production-DATABASE_URL (с вашей машины, указав production-строку подключения).

  7. Создайте production API-ключ с помощью npm run create-api-key, указав production-DATABASE_URL.

Получение API-ключа

Самостоятельно: перейдите на https://framework-mcp-production.up.railway.app/, укажите email и мгновенно получите ключ (один активный ключ на email, с ограничением частоты запросов).

Для мейнтейнера/локально: npm run create-api-key -- "label".

Подключение удалённого клиента

В .mcp.json для Claude Code:

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

Инструменты

  • ping(message) — проверка работоспособности

  • list_frameworks() — выводит список всех фреймворков/версий с количеством записей; вызывайте первым, если не знаете точный slug/версию для передачи ниже

  • query_framework_doc(framework, version, question) — поиск проверенного ответа, возвращает query_id

  • report_outcome(query_id, worked, note?) — запись того, сработал ли возвращённый ответ

Покрытие

Фреймворк

Версия

Записей

Источник

Expo SDK

54.0.0

20

expo.dev/changelog/sdk-54

Next.js

16.3.2

20

nextjs.org/blog, руководство по обновлению на nextjs.org/docs

Supabase (supabase-js)

2.112.3

20

supabase.com/changelog, релизы на GitHub

Prisma ORM

7.9.1

20

руководство по обновлению на prisma.io/docs, prisma.io/changelog

Vercel AI SDK

7.0.77

20

руководства по миграции на ai-sdk.dev, vercel.com/blog

Nuxt

4.5.2

20

руководство по обновлению на nuxt.com/docs, nuxt.com/blog

Все записи проверены 2026-08-22 по официальным источникам, указанным в каждом файле сидов в db/seed/. Чтобы добавить фреймворк: создайте новый db/seed/<slug>.json по образцу существующих файлов, затем выполните npm run db:seed (он автоматически подхватывает все *.json в этой папке).

Статус

Самостоятельная регистрация доступна на / (email → мгновенный API-ключ, один на email, с IP-ограничением частоты). Опубликован в официальном реестре MCP (registry.modelcontextprotocol.io) и отправлен на mcpservers.org и Glama (оба на рассмотрении). Нет на Smithery (их сканер обнаружения OAuth не поддерживает простую статическую аутентификацию по bearer-ключу) и mcp.so (нет бесплатного тарифа для листинга).

Отложено (этап B, ещё не реализовано): биллинг через Stripe, plan_tier / credit_balance / ограничение частоты запросов на ключ в api_keys, скоринг/ранжирование по отзывам.

Related MCP Connectors

Related MCP Servers