Frontmcp MCP Server
The TypeScript framework for MCP servers Build MCP tools that share services, validate inputs and apply the access rules you configure. Bring authentication, testing, agents and background jobs into the same server, with builds for Node.js, Vercel, AWS Lambda and Cloudflare Workers.
Frontmcp is an open-source mcp server by agentfront, written mainly in TypeScript, with 148 GitHub stars and the Apache-2.0 license. Its code was last updated Oct 28, 2026. The latest npm release is frontmcp 1.12.2, published Nov 14, 2026, with 3,382 downloads last week.
frontmcp.dev · Learn · Reference · Examples · Playground · Compare · Blog
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/readme/terminal.svg"> <img src=".github/assets/readme/terminal.light.svg" alt="npx frontmcp create my-app, then npm run dev: an MCP server running on localhost:3000" width="760"> </picture> </div> <br>FrontMCP is the TypeScript framework for MCP servers. You write tools, resources and prompts as typed classes with Zod schemas, and FrontMCP serves them over the Model Context Protocol, with dependency injection, authentication, testing, agents and jobs, on Node, Vercel, AWS Lambda and Cloudflare Workers. It serves MCP 2026-07-28, the stateless revision, and the earlier ones. The docs, examples and a browser playground are at frontmcp.dev.
Write a tool. Ship a server.
Classes in, protocol out. FrontMCP handles transport, DI, sessions, auth and execution flow, and the same server runs locally and in production unchanged.
import 'reflect-metadata';
import { App, FrontMcp, Tool, ToolContext, z } from '@frontmcp/sdk';
@Tool({
name: 'add',
description: 'Adds two numbers together',
inputSchema: { a: z.number(), b: z.number() },
})
class AddTool extends ToolContext {
async execute(input: { a: number; b: number }) {
return input.a + input.b;
}
}
@App({ id: 'calc', name: 'Calculator', tools: [AddTool] })
class CalcApp {}
@FrontMcp({
info: { name: 'Demo', version: '0.1.0' },
apps: [CalcApp],
http: { port: 3000 },
})
export default class Server {}
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset=".github/assets/readme/features.svg">
<img src=".github/assets/readme/features.light.svg" alt="Typed end to end, auth built in, ship anywhere, every stage is a hook, tools with a face, one endpoint for any client" width="100%">
</picture>
</div>
<br>
Start
npx frontmcp create my-app # new project (Node 24+)
npx frontmcp init # or add FrontMCP to an existing one
Then follow Learn on frontmcp.dev, or browse Tools, Resources, Prompts, Agents, Auth, Plugins, Tool UI, Testing and Deployment. Try it live in the Playground.
How it compares
TypeScript MCP server frameworks for production puts FrontMCP next to the official TypeScript SDK, FastMCP for TypeScript, Prefect's FastMCP TypeScript, mcp-framework, mcp-use, ViteMCP and xmcp, on auth, testing, protocol support and deployment. Each library's hello world was run and asked which MCP revisions it serves. Why FrontMCP says when the official SDK alone is enough, and The Best TypeScript MCP Server Frameworks in 2026 sums up the field. Moving a server over? See Migrate from the TypeScript SDK and Migrate from FastMCP.
Packages
Install frontmcp (CLI) and @frontmcp/sdk. The rest is pulled in for you, or opt-in. Keep every @frontmcp/* package on the same version: they depend on each other at exact versions.
| Package | What it does |
|---|---|
frontmcp | CLI: create, init, dev, build, test, inspector |
@frontmcp/sdk | Core framework: decorators, DI, flows, transport, MCP protocol |
@frontmcp/auth | OAuth, JWKS, DCR/CIMD, sessions, credential vault |
@frontmcp/testing | E2E test framework with fixtures and matchers |
@frontmcp/adapters | Generate tools from an OpenAPI spec |
@frontmcp/skills | Curated SKILL.md catalog for scaffolding and skills install |
@frontmcp/guard | Rate limits, concurrency and policy guards |
@frontmcp/observability | Structured logging, metrics and tracing |
@frontmcp/react | React hooks and client for a FrontMCP server |
@frontmcp/ui / uipack | Widgets, SSR renderers, MCP Bridge, themes |
@frontmcp/edge | Run a server on Cloudflare Workers / V8 isolates |
@frontmcp/storage-sqlite | SQLite session, task and elicitation stores |
@frontmcp/nx | Nx generators and executors |
Internal, published so the above resolve: protocol, di, utils, lazy-zod.
| Package | What it does |
|---|---|
@frontmcp/plugin-cache | Cache tool results with a TTL |
@frontmcp/plugin-remember | Per-session memory (this.remember) |
@frontmcp/plugin-result-handles | Fold large answers into a handle to query |
@frontmcp/plugin-approval | Human approval gates before a tool runs |
@frontmcp/plugin-codecall | Let the model compose tool calls as code |
@frontmcp/plugin-dashboard | Built-in web dashboard |
@frontmcp/plugin-feature-flags | Toggle tools and apps at runtime |
@frontmcp/plugin-skilled-openapi | OpenAPI to skills and meta-tools for big APIs |
@frontmcp/plugin-webmcp | Expose in-page tools to browser agents (WebMCP) |
PRs welcome: see CONTRIBUTING. Released under the Apache-2.0 license.
</div> <!-- docs links -->Frontmcp alternatives
View more →Similar mcp servers in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Frontmcp (this page) agentfront | 148 | Apache-2.0 | Oct 28, 2026 | Scanned, no flagged issues |
| MCP Use mcp-use | 11k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| MobileBuildMCP getsentry | 6.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Gemini Notebook MCP CLI jacob-bd | 6.4k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Mcporter openclaw | 5.1k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Flint Chart microsoft | 4.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |