MCP Server Starter
A TypeScript starter project for building Model Context Protocol (MCP) servers with Bun.
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"]
}
}
}
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP Front
An OAuth 2.1 proxy for MCP servers that enables single sign-on with Google, domain validation, and per-user tokens.
MCP Server Boilerplate
A TypeScript boilerplate for building MCP servers with streamable HTTP and OAuth proxy support.
Remote MCP Server for Odoo
An example of a remote MCP server for Odoo, deployable on Cloudflare Workers without authentication.
MCP Tools
A collection of MCP servers for growth and analytics, including a server for Google Analytics.
MCP Performance Analysis Server
A server for detecting critical performance issues in code, providing concise analysis and output.
Unity MCP Template
A template project demonstrating interaction between a TypeScript-based MCP server and a Unity client.
MCP Proxy Server
Aggregates multiple MCP resource servers into a single interface.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Unison MCP Server
An MCP server for the Unison language, allowing AI assistants to interact with the Unison Codebase Manager (UCM).
Script Generator Server
A simple note storage system with tools for adding notes and generating scripts from them.