Skip to content

Latest commit

History

367 Commits

Folders and files

NameName
Last commit message
Last commit date
FrontMCP Logo

The production-grade, TypeScript-first framework for building MCP servers — decorators, DI, auth, and Streamable HTTP, batteries included.

NPM - @frontmcp/sdkNodeLicenseSnyk

DocsQuickstartAPI ReferenceDiscord


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';importHelloAppfrom'./hello.app';
@FrontMcp({info: {name: 'Demo',version: '0.1.0'},apps: [HelloApp],http: {port: 3000},logging: {level: LogLevel.Info},})exportdefaultclassServer{}

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 init

Full 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.

SecureRemote & Local OAuth, JWKS, DCR, per-app auth with stateful / stateless sessions (JWT or UUID transport IDs).

Connect & operateStreamable 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

PackageDescription
frontmcpThe CLI — create, init, dev, build, inspect, doctor
@frontmcp/sdkCore framework — decorators, DI, flows, transport, MCP protocol
@frontmcp/authAuthentication, OAuth, JWKS, DCR/CIMD, credential vault
@frontmcp/testingE2E test framework with fixtures and matchers

Extend

PackageDescription
@frontmcp/pluginsPlugin authoring toolkit + official plugin re-exports
@frontmcp/adaptersOpenAPI adapter — generate tools from an OpenAPI spec
@frontmcp/skillsCurated SKILL.md catalog for scaffolding and skills install
@frontmcp/guardPolicy/guard rules for tool inputs and outputs
@frontmcp/observabilityStructured logging, metrics, and tracing helpers

UI

PackageDescription
@frontmcp/reactReact hooks + client for talking to a FrontMCP server
@frontmcp/uiReact components, SSR renderers, MCP Bridge
@frontmcp/uipackReact-free themes, build tools, platform adapters

Runtime & storage

PackageDescription
@frontmcp/edgeRun a server on Cloudflare Workers / V8 isolates from a config
@frontmcp/storage-sqliteSQLite-backed session, task, and elicitation stores
@frontmcp/nxNx generators and executors for FrontMCP workspaces

Internal

Published so the packages above resolve, but not intended for direct use:

PackageDescription
@frontmcp/protocolThe single boundary to the upstream MCP SDK — protocol types
@frontmcp/diDependency injection container
@frontmcp/utilsShared utilities — naming, URI, crypto, FS
@frontmcp/lazy-zodLazily-loaded Zod wrapper that keeps cold starts small

Official plugins

PackageDescription
@frontmcp/plugin-cacheCache tool results with a TTL
@frontmcp/plugin-rememberPer-session memory (this.remember)
@frontmcp/plugin-approvalHuman approval gates before a tool runs
@frontmcp/plugin-codecallLet the model compose tool calls as code
@frontmcp/plugin-dashboardBuilt-in web dashboard
@frontmcp/plugin-feature-flagsToggle tools and apps at runtime
@frontmcp/plugin-skilled-openapiOpenAPI → 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.

License

Apache-2.0

About

TypeScript-first framework for the Model Context Protocol (MCP). You write clean, typed code; FrontMCP handles the protocol, transport, DI, session/auth, and execution flow.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

147 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages