framework-mcp

io.github.81labsapps-opsPublished by GitHub account 81labsapps-opsv0.3.0Updated Oct 24, 2026

Verified, version-pinned answers about fast-moving frameworks for coding agents.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

A remote MCP server that gives coding agents verified, version-pinned answers about fast-moving frameworks such as Expo, Next.js, Supabase and Prisma.

What you can do
Check server health with a ping tool and list every covered framework and version with entry counts, so the assistant knows which slug and version to query. Look up a verified answer for a specific framework, version and question, which returns a query ID. Report whether a returned answer actually worked, optionally with a note. Coverage currently spans Expo SDK, Next.js, Supabase, Prisma, Vercel AI SDK and Nuxt, with entries checked against official sources.
When to use it
Use it when a coding agent is about to rely on remembered behavior of a fast-moving dependency and wants a version-specific, verified answer instead. Most useful for upgrade and migration questions on the covered frameworks.
Requirements
A remote Streamable HTTP endpoint; no local install. A bearer API key is required in the Authorization header, obtainable by entering an email on the provider's site (one active key per email, rate-limited). Network access to the hosted endpoint.
Before you install
The API key is a secret sent in the Authorization header; keep it private. Signup requires submitting an email address to the provider. The outcome-reporting tool sends feedback about answers to the server. Coverage is limited to the listed frameworks and versions, and answers are only as current as the stated verification date.

Installation

In SourceWeft

  1. Open framework-mcp in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.81labsapps-ops%2Fframework-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "framework": {
      "type": "http",
      "url": "https://framework-mcp-production.up.railway.app/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

framework-mcp

A dependency currency-check layer for coding agents: a remote MCP server that gives coding agents (Claude Code, Cursor, etc.) verified, version-pinned answers about fast-moving frameworks - Expo, Next.js, Supabase, Prisma, and growing.

Why: LLM training data goes stale faster than framework release cycles. Agents keep re-guessing the same version-specific questions instead of checking a verified, version-pinned source. This server is that source - not a single-framework tool, but a general layer any coding agent can query before trusting what it "remembers" about a dependency's current behavior.

Stack

Node 24 + TypeScript, @modelcontextprotocol/sdk over Streamable HTTP transport (stateful, session-per-connection), Express, Postgres (pg), API-key auth via the SDK's own requireBearerAuth middleware.

Hosting: Railway (compute, ~$5/mo Hobby plan) + Neon (Postgres, free tier, branchable).

Local setup

  1. Create a free Neon account and project. Copy the connection string for a dev branch.
  2. cp .env.example .env and fill in DATABASE_URL (from Neon) and API_KEY_PEPPER (any long random string - generate one with node -e "console.log(require('crypto').randomBytes(32).toString('hex'))").
  3. Install, migrate, seed, build:
    bash
    npm installnpm run db:migratenpm run db:seednpm run build
  4. Create yourself an API key:
    bash
    npm run create-api-key -- "my laptop"
    This prints the raw key once - save it, it's not recoverable.
  5. Run locally:
    bash
    npm run dev
    curl http://localhost:3000/health should return ok.

Verify with MCP Inspector

bash
npx @modelcontextprotocol/inspector

Connect to http://localhost:3000/mcp with transport "Streamable HTTP" and set an Authorization: Bearer <your-api-key> header in the connection settings. Confirm all 3 tools (ping, query_framework_doc, report_outcome) list and are callable.

Deploy to Railway

  1. curl -fsSL agents.railway.com | sh then railway login.
  2. From this repo: railway init (or railway link if a project already exists).
  3. Set env vars (dashboard, or railway variable set KEY=value): DATABASE_URL (your Neon production branch connection string, separate from your dev branch), API_KEY_PEPPER, NODE_ENV=production.
  4. railway up.
  5. In the Railway dashboard: Settings → Networking → Generate Domain. Set PUBLIC_HOSTNAME to that domain (needed for the SDK's DNS-rebinding host check to allow real traffic).
  6. Run npm run db:migrate && npm run db:seed once against the production DATABASE_URL (from your machine, pointed at the prod connection string).
  7. Create a production API key with npm run create-api-key, pointed at the prod DATABASE_URL.

Get an API key

Self-service: visit https://framework-mcp-production.up.railway.app/, enter an email, get a key instantly (one active key per email, rate-limited).

Maintainer/local fallback: npm run create-api-key -- "label".

Connect a remote client

In a Claude Code .mcp.json:

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

Tools

  • ping(message) - health check
  • list_frameworks() - lists every framework/version covered, with entry counts - call this first if you don't know the exact slug/version to pass below
  • query_framework_doc(framework, version, question) - look up a verified answer, returns query_id
  • report_outcome(query_id, worked, note?) - log whether the returned answer actually worked

Coverage

FrameworkVersionEntriesSource
Expo SDK54.0.020expo.dev/changelog/sdk-54
Next.js16.3.220nextjs.org/blog, nextjs.org/docs upgrade guide
Supabase (supabase-js)2.112.320supabase.com/changelog, GitHub releases
Prisma ORM7.9.120prisma.io/docs upgrade guide, prisma.io/changelog
Vercel AI SDK7.0.7720ai-sdk.dev migration guides, vercel.com/blog
Nuxt4.5.220nuxt.com/docs upgrade guide, nuxt.com/blog

All entries verified 2026-08-22 against the official sources cited in each seed file under db/seed/. To add a framework: create a new db/seed/<slug>.json following the existing files' shape, then npm run db:seed (it picks up every *.json in that folder automatically).

Status

Self-service signup live at / (email -> instant API key, one per email, IP rate-limited). Published to the official MCP Registry (registry.modelcontextprotocol.io) and submitted to mcpservers.org and Glama (both pending review). Not on Smithery (their OAuth-discovery scanner doesn't support simple static bearer-key auth) or mcp.so (no free listing tier).

Deferred (Stage B, not built yet): Stripe billing, plan_tier / credit_balance / rate-limit-enforcement-per-key on api_keys, scoring/ranking on feedback.

Source: README.md at commit e8e4b1a

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts