Package Exports
- @frontmcp/sdk
- @frontmcp/sdk/esm
- @frontmcp/sdk/mcp-apps
- @frontmcp/sdk/package.json
- @frontmcp/sdk/transport
Readme
@frontmcp/sdk
The core FrontMCP framework for building MCP servers and clients in TypeScript.
Install
npm install @frontmcp/sdk reflect-metadataMost users should scaffold with
npx frontmcp create my-appinstead of installing manually. See Installation.
Features
@FrontMcpserver — single decorator configures info, apps, HTTP, logging, session, auth (docs)@App— group tools, resources, prompts into isolated domains (docs)@Tool— typed actions with Zod input schemas, class or function style (docs)@Resource— read-only data with static and template URIs (docs)@Prompt— reusable message templates returningGetPromptResult(docs)@Agent— orchestrated multi-step tool chains (docs)- Elicitation — request structured user input mid-flow (docs)
- Skills — HTTP-discoverable tool manifests for agent marketplaces (docs)
- 5 context classes —
ToolContext,ResourceContext,PromptContext,AgentContext,HookContext - Direct client —
create(),connect(),connectOpenAI(),connectClaude(),connectLangChain(),connectVercelAI()(docs) - Authentication — Remote OAuth, Local OAuth, JWKS, DCR, per-app auth surfaces (docs)
- Sessions — stateful / stateless modes, JWT or UUID transport IDs
- Hooks — tool, list-tools, HTTP, resource, prompt hook families (docs)
- Ext-Apps — mount external MCP servers as sub-apps (docs)
- Providers / DI — scoped injection with GLOBAL and CONTEXT scopes (docs)
- ConfigPlugin — load
frontmcp.yaml/frontmcp.jsonconfig files (docs) - Transport — Streamable HTTP + SSE (docs)
Quick Example
import 'reflect-metadata';
import { FrontMcp, App, Tool } from '@frontmcp/sdk';
import { z } from 'zod';
@Tool({ name: 'greet', inputSchema: { name: z.string() } })
class GreetTool {
async execute({ name }: { name: string }) {
return `Hello, ${name}!`;
}
}
@App({ id: 'hello', name: 'Hello', tools: [GreetTool] })
class HelloApp {}
@FrontMcp({ info: { name: 'Demo', version: '0.1.0' }, apps: [HelloApp], http: { port: 3000 } })
export default class Server {}Full walkthrough: Quickstart
Docs
| Topic | Link |
|---|---|
| Server configuration | The FrontMCP Server |
| Apps & isolation | Apps |
| Tools, Resources, Prompts | Tools · Resources · Prompts |
| Agents | Agents |
| Authentication | Auth Overview · Remote OAuth · Local OAuth |
| Direct client | Direct Client |
| Hooks & providers | Hooks · Providers |
| Deployment | Local Dev · Production |
| SDK reference | Overview |
Related Packages
@frontmcp/cli— scaffolding and dev tooling@frontmcp/auth— authentication library@frontmcp/adapters— OpenAPI adapter@frontmcp/plugins— Cache, Remember, CodeCall, Dashboard@frontmcp/testing— E2E testing framework@frontmcp/ui/@frontmcp/uipack— UI components and build tools
License
Apache-2.0 — see LICENSE.