About Frontmcp
Frontmcp is an MCP server published by agentfront in the Developer Tools category: 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.
The repository has 148 stars and 8 forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/agentfront/frontmcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Frontmcp
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 10 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
frontmcp.dev · Learn · Reference · Examples · Playground · Blog
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 {}
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.
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-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.
README fetched from the repository 10 days ago. The original is authoritative.