frontmcp
v1.6.1
Published
FrontMCP command line interface
Maintainers
Readme
The production-grade, TypeScript-first framework for building MCP servers — decorators, DI, auth, and Streamable HTTP, batteries included.
Docs • Quickstart • API Reference • Discord
FrontMCP turns the Model Context Protocol into a
typed, declarative framework. You write clean @Tool, @Resource, and @App
classes; FrontMCP handles the protocol, transport, dependency injection, sessions,
auth, and execution flow — and the same server runs locally and ships to
production unchanged.
import 'reflect-metadata';
import { FrontMcp, LogLevel } from '@frontmcp/sdk';
import HelloApp from './hello.app';
@FrontMcp({
info: { name: 'Demo', version: '0.1.0' },
apps: [HelloApp],
http: { port: 3000 },
logging: { level: LogLevel.Info },
})
export default class Server {}Why FrontMCP
- Typed by default — decorators + Zod schemas give end-to-end types from input to output, with editor autocomplete and compile-time checks.
- Batteries included — auth (OAuth/JWKS/DCR), sessions, transport, discovery, and DI are built in, not bolted on.
- Ship anywhere — one codebase deploys to Node, Vercel, AWS Lambda, Cloudflare Workers, or a serverless bundle.
- Production-minded — stateful/stateless sessions, high-availability transport, structured observability, and a 95%+ tested core.
- Extensible — plugins, lifecycle hooks, OpenAPI adapters, and external MCP sub-apps when you outgrow the defaults.
Installation
Node.js 24+ required.
# New project (recommended)
npx frontmcp create my-app
# Existing project
npm i -D frontmcp @types/node@^24
npx frontmcp initFull setup guide: Installation · Quickstart
Capabilities
Build — decorator-configured @FrontMcp server and @App
domains; typed @Tool, @Resource, and
@Prompt primitives; @Agent multi-step chains; and
scoped Providers / DI.
Secure — Remote & Local OAuth, JWKS, DCR, per-app auth with stateful / stateless sessions (JWT or UUID transport IDs).
Connect & operate — Streamable HTTP + SSE transport,
every MCP protocol revision from 2024-11-05 through
2026-07-28 on one endpoint, capability discovery,
elicitation, hooks, HTTP-discoverable
skills, tool UI / MCP Apps, an in-process
Direct Client (connectOpenAI / connectClaude), and
first-class deployment.
Extend & tooling — official plugins (Cache, Remember, CodeCall,
Dashboard), the OpenAPI adapter, a UI library (HTML/React
widgets, SSR, MCP Bridge), an E2E testing framework, and a
CLI (create, init, dev, build, inspect, doctor).
→ Full reference: docs.agentfront.dev/frontmcp
Packages
You install frontmcp (the CLI) and @frontmcp/sdk. Everything else is either
pulled in for you or opt-in.
Core
| Package | Description |
| ----------------------------------- | --------------------------------------------------------------- |
| frontmcp | The CLI — create, init, dev, build, inspect, doctor |
| @frontmcp/sdk | Core framework — decorators, DI, flows, transport, MCP protocol |
| @frontmcp/auth | Authentication, OAuth, JWKS, DCR/CIMD, credential vault |
| @frontmcp/testing | E2E test framework with fixtures and matchers |
Extend
| Package | Description |
| ----------------------------------------------- | ------------------------------------------------------------- |
| @frontmcp/plugins | Plugin authoring toolkit + official plugin re-exports |
| @frontmcp/adapters | OpenAPI adapter — generate tools from an OpenAPI spec |
| @frontmcp/skills | Curated SKILL.md catalog for scaffolding and skills install |
| @frontmcp/guard | Policy/guard rules for tool inputs and outputs |
| @frontmcp/observability | Structured logging, metrics, and tracing helpers |
UI
| Package | Description |
| --------------------------------- | ----------------------------------------------------- |
| @frontmcp/react | React hooks + client for talking to a FrontMCP server |
| @frontmcp/ui | React components, SSR renderers, MCP Bridge |
| @frontmcp/uipack | React-free themes, build tools, platform adapters |
Runtime & storage
| Package | Description |
| ------------------------------------------------- | -------------------------------------------------------------- |
| @frontmcp/edge | Run a server on Cloudflare Workers / V8 isolates from a config |
| @frontmcp/storage-sqlite | SQLite-backed session, task, and elicitation stores |
| @frontmcp/nx | Nx generators and executors for FrontMCP workspaces |
Internal
Published so the packages above resolve, but not intended for direct use:
| Package | Description |
| ------------------------------------- | ------------------------------------------------------------ |
| @frontmcp/protocol | The single boundary to the upstream MCP SDK — protocol types |
| @frontmcp/di | Dependency injection container |
| @frontmcp/utils | Shared utilities — naming, URI, crypto, FS |
| @frontmcp/lazy-zod | Lazily-loaded Zod wrapper that keeps cold starts small |
Official plugins
| Package | Description |
| -------------------------------------------------------------------- | -------------------------------------------- |
| @frontmcp/plugin-cache | Cache tool results with a TTL |
| @frontmcp/plugin-remember | Per-session memory (this.remember) |
| @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 → skills + meta-tools for large APIs |
Version Alignment
Keep all @frontmcp/* packages on the same version. A clear "version mismatch" error is thrown at boot if versions drift. (Production Build)
Contributing
PRs welcome! See CONTRIBUTING.md for workflow, coding standards, and the PR checklist.
