MCP Server Starter
A production-ready starter template for building Model Context Protocol (MCP) servers with TypeScript.
Quick Start
- Clone the repository
- 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.ts <tool-name>
This will:
- Create a new tool directory under
src/tools/<tool-name>
- Generate the basic tool structure including:
- index.ts (main implementation)
- schema.ts (JSON schema for tool parameters)
- test.ts (test file)
- 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:
- Build the project:
bun run build
- 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
- Ensure you’re logged in to npm:
npm login
- Build the project:
bun run build
- Publish the package:
npm publish
Remember 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"]
}
}
}
MCP Server Starter
Project Details
- StevenStavrakis/mcp-starter-template
- mcp-starter
- MIT License
- Last Updated: 4/19/2025
Recomended MCP Servers
The Cursor10x MCP is a persistent multi-dimensional memory system for Cursor that enhances AI assistants with conversation context,...
Speech MCP: A Goose MCP extension for voice interaction with audio visualization
Kokoro Text to Speech (TTS) MCP Server
An experiment in software planning using MCP
MCP server that allows simple SAP GUI interaction for LLM models using simulated mouse clicks and keyboard input.
A collection of tools for your LLMs that run on Modal
A beginner-friendly guide server that helps users understand MCP concepts, provides interactive examples, and demonstrates best practices for...
A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to...
An open source implementation of the Claude built-in text editor tool
A Model Completion Protocol (MCP) server for interacting with Databricks services