mcp-starter-template
An opinionated starter template for making Model Context Protocol (MCP) servers
Documentation
MCP Server Starter
A production-ready starter template for building Model Context Protocol (MCP) servers with TypeScript.
๐ Quick Start
1. Clone the repository
2. Install dependencies:
bun installโจ Key Features
- Bun for fast testing and development
- Biome for linting and formatting
- Automated version management with standard-version
- Clean, maintainable project structure
๐ Project Structure
mcp-starter/
โโโ src/
โ โโโ tools/ # MCP tools implementation
โ โโโ utils/ # Shared utilities
โ โโโ main.ts # Server entry point
โ โโโ types.ts # Shared type definitions
โโโ tests/ # Test files
โโโ biome.json # Linting configuration
โโโ tsconfig.json # TypeScript configuration
โโโ package.json # Project dependenciesโ๏ธ Configuration
Creating New Tools
The project includes a script to help create new MCP tools:
bun run scripts/create-tool.tsThis will:
1. Create a new tool directory under `src/tools/`
2. Generate the basic tool structure including:
3. Update the tools index file to export the new tool
Example:
bun run scripts/create-tool.ts weather๐ ๏ธ Development
- Run tests: `bun test`
- Format code: `bun run format`
- Lint code: `bun run lint`
- Build project: `bun run build`
To add your development MCP server to Claude Desktop:
1. Build the project:
bun run build2. Add to your Claude Desktop config:
// You only need the argument if you need to pass arguments to your server
{
"mcpServers": {
"your-server-name": {
"command": "node",
"args": ["/path/to/your/project/dist/main.js", "some_argument"]
}
}
}๐ Version Management
This project uses standard-version for automated version management. Run `bun run release` to create a new version.
Commit Message Format
- `feat`: New feature (bumps minor version)
- `fix`: Bug fix (bumps patch version)
- `BREAKING CHANGE`: Breaking change (bumps major version)
๐ฆ Publishing to npm
1. Ensure you're logged in to npm:
npm login2. Build the project:
bun run build3. Publish the package:
npm publishRemember to update the version number using `bun run release` before publishing new versions.
Installing from npm (after publishing)
Add to your Claude Desktop config:
// You only need the argument if you need to pass arguments to your server
{
"mcpServers": {
"your-server-name": {
"command": "npx",
"args": ["-y", "your-package-name", "some_argument"]
}
}
}Frequently asked questions
What is mcp-starter-template?
mcp-starter-template is An opinionated starter template for making Model Context Protocol (MCP) servers
How do I install mcp-starter-template?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-starter-template open source?
Yes โ it is hosted on GitHub at https://github.com/StevenStavrakis/mcp-starter-template and has 39 stars.
Related MCP tools
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Fayๆฏไธไธชๅธฎๅฉๆฐๅญไบบ๏ผ2.5dใ3dใ็งปๅจใpcใ็ฝ้กต๏ผๆๅคง่ฏญ่จๆจกๅ๏ผopenaiๅ ผๅฎนใdeepseek๏ผ่ฟ้ไธๅก็ณป็ป็mcpๆกๆถใ JavaScript-based implementation. Trusted by 12000+ developers.
CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP