Skip to main content
Build and run your first MCP server with FrontMCP. This quickstart gets you from zero to a working server in under 5 minutes.

Prerequisites

  • Node.js: Version 24+ (LTS)
    • The engines field in @frontmcp/sdk and frontmcp requires Node 24+. FrontMCP is developed and tested on Node 24.
  • npm ≥ 10 (or pnpm/yarn)

Create a new project

The create command is interactive by default. It will ask you about:
  • Deployment target: Node.js (Docker), Vercel, AWS Lambda, or Cloudflare Workers
  • Redis setup: Docker Compose, existing Redis, or none (Docker target only)
  • GitHub Actions: Enable CI/CD workflows
Use --yes (or -y) to skip prompts and use defaults.
The CLI creates a complete project structure with:
  • ✅ TypeScript configured
  • ✅ Sample server, app, and tool
  • ✅ Development scripts ready
  • ✅ Hot-reload enabled
  • ✅ Deployment configuration for your target platform
  • ✅ GitHub Actions CI/CD (optional)
  • ✅ Git repository initialized with initial commit
Your server is now running at http://localhost:3000!

Add to Existing Project

If you already have a Node.js project, install FrontMCP:
The init command:
  • Creates or updates tsconfig.json with the required decorator settings

Project Structure

After creating your project, you’ll have:

Available Commands

Your project includes these scripts:

Server Configuration

src/main.ts
The @FrontMcp decorator configures your server. It requires info, apps, and optional http and logging settings.

App Definition

src/calc.app.ts
Apps organize related tools, plugins, and providers. Each app can have its own authentication and configuration.

Your First Tool

Use class-based tools when you need access to providers, logging, or auth context. Use function-based tools for simple stateless operations.

Test Your Server

1

Start the server

You should see:
2

Launch the Inspector

Open a new terminal and run:
This opens the MCP Inspector at http://localhost:6274
3

Connect to your server

In the Inspector: 1. Enter server URL: http://localhost:3000 2. Click “Connect” 3. You should see your add tool listed
4

Call your tool

  1. Select the add tool
  2. Enter input: { "a": 2, "b": 3 }
  3. Click “Call Tool”
  4. You should see: 5
Congratulations! You’ve built and tested your first MCP server!

What’s Next?

Choosing how to run FrontMCP? See Runtime Modes for a comparison of SDK, Server, and Serverless options.

Add Tools

Learn how to create more powerful tools with validation, providers, and context

OpenAPI Adapter

Auto-generate tools from your REST API’s OpenAPI spec

Add Caching

Improve performance with transparent caching

Authentication

Secure your server with OAuth (local or remote)

Plugins

Add cross-cutting features like logging, metrics, and rate limiting

Deploy

Build and deploy your server to production

Common Commands Reference

Create Command Flags


Troubleshooting

Check:
  1. Node.js version 24+: node --version
  2. Port 3000 is available
  3. No TypeScript errors: Check console output
Fix:
Possible causes:
  • Tool not imported in app
  • Decorator metadata not enabled
Fix:
  1. Verify import AddTool from './tools/add.tool'
  2. Check tsconfig.json has:
  3. Ensure import 'reflect-metadata' at top of main.ts
Solution: The dev command performs async type-checks. Fix TypeScript errors shown in the console.
Check:
  1. Server is running: http://localhost:3000 should be accessible
  2. Correct URL in Inspector: http://localhost:3000 (not https)
  3. No CORS issues: Both server and inspector on localhost
Debug:

Example: Greeting Tool

A separate example showing more advanced features (auth context, optional fields, structured output):
This example demonstrates:
  • Input validation with Zod
  • Default values
  • Optional fields
  • Accessing auth context
  • Structured output

FrontMCP speaks MCP Streamable HTTP. Any MCP-capable client (Claude Desktop, custom agents, etc.) can connect and call your tools!