@agentailor/create-mcp-server
v0.6.1
Published
Create a new MCP (Model Context Protocol) server project
Maintainers
Readme
@agentailor/create-mcp-server
Scaffold production-ready MCP servers in seconds.
Quick Start
Interactive mode (guided prompts):
npx @agentailor/create-mcp-serverCLI mode (all options via arguments):
npx @agentailor/create-mcp-server --name=my-serverCLI Options
| 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 |
| --stdio | — | false | Use stdio transport (for local clients) |
| --template | -t | stateless | Server mode: stateless, stateful (HTTP only) |
| --oauth | — | false | Enable OAuth (sdk+stateful only, incompatible with --stdio) |
| --no-git | — | false | Skip git initialization |
| --help | -h | — | Show help |
| --version | -V | — | Show version |
Examples:
# Minimal - uses all defaults (HTTP streamable)
npx @agentailor/create-mcp-server --name=my-server
# stdio server (for local clients)
npx @agentailor/create-mcp-server --name=my-server --stdio
# stdio with FastMCP
npx @agentailor/create-mcp-server --name=my-server --stdio --framework=fastmcp
# Full HTTP 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 fastmcpFeatures
- Two frameworks — Official MCP SDK or FastMCP
- Two transport types — HTTP (streamable) or stdio (for local cllients)
- Two HTTP server modes — stateless or stateful with session management
- Optional OAuth — OIDC-compliant authentication (SDK HTTP only) (setup guide)
- Package manager choice — npm, pnpm, or yarn
- TypeScript ready — ready to customize
- Docker ready — production Dockerfile included (HTTP transport)
- MCP Inspector — built-in debugging with
npm run inspect
Frameworks
| Framework | Description | |-----------|-------------| | Official MCP SDK (default) | Full control with Express.js, supports OAuth | | FastMCP | Simpler API with less boilerplate |
FastMCP
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
Transport Types
| Feature | HTTP (Streamable HTTP) | stdio | |---------|------------------------|-------| | Use case | Remote access, cloud deployment | Local clients (Claude Desktop) | | Protocol | HTTP/SSE | stdin/stdout | | Session management | ✓ (stateful mode) | — | | OAuth support | ✓ (SDK stateful) | — | | Docker deployment | ✓ | — | | Port configuration | ✓ | — |
HTTP: Deploy as an HTTP server accessible remotely. Choose stateless or stateful mode.
stdio: Run as a local process. Communicates over stdin/stdout. Ideal for local clients. No HTTP server, no port, no Dockerfile generated.
Server Modes (HTTP only)
| 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).
Generated Project
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.mdScripts:
npm run dev— build and start the servernpm run inspect— open MCP Inspector (update URL inpackage.jsonif needed)
Learning Resources
| 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. |
Need help building MCP servers or agent infrastructure?
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.
What is MCP?
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
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.
