About MCP Server
A TypeScript template for developers building custom MCP servers. It supports stdio and SSE transports and includes example prompts, resources, and tools as a starting point.
Key features
- 01stdio and SSE transport support
- 02Example prompts, resources, and tools
- 03Organized project structure
- 04Built with FastMCP
Use cases
- 01Starting a new TypeScript MCP server
- 02Adding prompts, resources, or tools to a server
MCP support
The template produces servers that expose prompts, resources, and tools to MCP clients over stdio or SSE.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server
A TypeScript template repository for creating Model Context Protocol (MCP) servers with support for both stdio (Standard Input/Output) and SSE (Server-Sent Events) transports. This template provides a solid foundation for building MCP servers with a well-organized structure and essential features.
Features
- 🚀 Built with TypeScript for type safety and better developer experience
- 🔄 Supports both stdio and SSE transports
- 📦 Includes example prompts, resources, and tools
- ⚡ Uses FastMCP for rapid development
Prerequisites
- Node.js
- npm or yarn package manager
Getting Started
-
Create a repo from this template
Click Use this template > Create a new repository

-
Clone your repository
git clone https://github.com/iamtraction/node-mcp-server.git cd node-mcp-server -
Install dependencies
npm install -
Start development server
npm run dev
Project Structure
src/
├── prompts/ # MCP prompts
├── resources/ # MCP resources
├── tools/ # MCP tools
└── server.ts # Main server file
Available Scripts
npm run dev- Start development server with hot reloadnpm run build- Build the TypeScript codenpm run start- Start the production servernpm run watch- Watch for TypeScript changesnpm run lint- Run ESLint to check code quality and style
Adding New Features
Adding a Prompt
Create a new file in src/prompts/ and add it to server.ts. Learn more about MCP Prompts:
import myPrompt from "./prompts/my-prompt.js";
server.addPrompt(myPrompt);
Adding a Resource
Create a new file in src/resources/ and add it to server.ts. Learn more about MCP Resources:
import myResource from "./resources/my-resource.js";
server.addResource(myResource);
Adding a Tool
Create a new file in src/tools/ and add it to server.ts. Learn more about MCP Tools:
import myTool from "./tools/my-tool.js";
server.addTool(myTool);
Configuration
The server can be configured in server.ts. By default, it runs on port 3000 with SSE transport. You can modify the configuration in the server.start() options.:
server.start({
transportType: "httpStream", // or "stdio"
httpStream: {
port: 3000,
},
});
Learn more about Transports.
Using the MCP Server
stdio Server Setup
{
"mcpServers": {
"example-server": {
"command": "node",
"args": [ "dist/server.js" ]
}
}
}
SSE Server Setup
{
"mcpServers": {
"example-server": {
"url": "https://example-server.com/sse"
}
}
}
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Showcase
Have you built something cool with this template? Add it to the showcase!
To add your project to the showcase:
- Edit this README.md file
- Add your project to the list above using this format:
- [Your Project Name](link-to-your-project) - Brief description- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Model Context Protocol - The protocol specification
- MCP TypeScript SDK - The official TypeScript SDK
- FastMCP - The underlying MCP framework
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.