Scaffold production-ready MCP servers in seconds.
Interactive mode (guided prompts):
npx @agentailor/create-mcp-serverCLI mode (all options via arguments):
npx @agentailor/create-mcp-server --name=my-server| Option | Short | Default | Description |
|---|---|---|---|
--name |
-n |
— | Project name (required in CLI mode) |
--package-manager |
-p |
npm |
Package manager: npm, pnpm, yarn |
--framework |
-f |
sdk |
Framework: sdk, fastmcp |
--template |
-t |
stateless |
Server mode: stateless, stateful |
--oauth |
— | false |
Enable OAuth (sdk+stateful only) |
--no-git |
— | false |
Skip git initialization |
--help |
-h |
— | Show help |
--version |
-V |
— | Show version |
Examples:
# Minimal - uses all defaults
npx @agentailor/create-mcp-server --name=my-server
# Full options
npx @agentailor/create-mcp-server \
--name=my-auth-server \
--package-manager=pnpm \
--framework=sdk \
--template=stateful \
--oauth
# Short flags
npx @agentailor/create-mcp-server -n my-server -p yarn -f fastmcp- Two frameworks — Official MCP SDK or FastMCP
- Two server modes — stateless or stateful with session management
- Optional OAuth — OIDC-compliant authentication (SDK only) (setup guide)
- Package manager choice — npm, pnpm, or yarn
- TypeScript ready — ready to customize
- Docker ready — production Dockerfile included
- MCP Inspector — built-in debugging with
npm run inspect
| Framework | Description |
|---|---|
| Official MCP SDK (default) | Full control with Express.js, supports OAuth |
| FastMCP | Simpler API with less boilerplate |
FastMCP is a TypeScript framework built on top of the official MCP SDK that provides a simpler, more intuitive API for building MCP servers.
import { FastMCP } from "fastmcp";
import { z } from "zod";
const server = new FastMCP({ name: "My Server", version: "1.0.0" });
server.addTool({
name: "add",
description: "Add two numbers",
parameters: z.object({ a: z.number(), b: z.number() }),
execute: async ({ a, b }) => String(a + b),
});
server.start({ transportType: "httpStream", httpStream: { port: 3000 } });Learn more: FastMCP Documentation
| Feature | Stateless (default) | Stateful |
|---|---|---|
| Session management | — | ✓ |
| SSE support | — | ✓ |
| OAuth option (SDK only) | — | ✓ |
| Endpoints | POST /mcp | POST, GET, DELETE /mcp |
Stateless: Simple HTTP server — each request creates a new transport instance.
Stateful: Session-based server with transport reuse, Server-Sent Events for real-time updates, and optional OAuth authentication (SDK only).
my-mcp-server/
├── src/
│ ├── server.ts # MCP server (tools, prompts, resources)
│ ├── index.ts # Express app and transport setup
│ └── auth.ts # OAuth middleware (if enabled)
├── Dockerfile # Production-ready Docker build
├── package.json
├── tsconfig.json
├── .gitignore
├── .env.example
└── README.md
Scripts:
npm run dev— build and start the servernpm run inspect— open MCP Inspector (update URL inpackage.jsonif needed)
| Guide | Description |
|---|---|
| Create Your First MCP Server in 5 Minutes | Build your first production-ready MCP server. A complete beginner guide to scaffolding a Fetch MCP server with TypeScript. |
| Securing MCP Servers with Keycloak | Learn how to secure your MCP servers with OAuth authentication using Keycloak. |
| Getting Started with FastMCP | Build MCP servers faster with FastMCP — the TypeScript framework inspired by Python's most popular MCP library. |
| OAuth for MCP Clients (Next.js + LangGraph.js) | Implement OAuth authentication in your MCP client using Next.js and the MCP SDK. |
I help teams design and ship production-ready AI agent systems (MCP, LangGraph, RAG, memory, performance).
If you’re building something serious on top of this:
Happy to jump on a short call.
The Model Context Protocol (MCP) is an open protocol that enables AI assistants to interact with external tools, data sources, and services.
Built by Agentailor — your launchpad for production-ready MCP servers and scalable AI agents. We provide the tools, templates, and expertise to ship AI-powered applications faster.