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
AltTesterยฎ AI Extension
MCP server for game test automation
Replicate Recraft V3
Generate high-quality images using the Recraft V3 model via the Replicate API.
Markdown Sidecar MCP Server
Serve and access markdown documentation for locally installed NPM, Go, or PyPi packages.
XCF Xcode MCP Server
A Swift-based MCP server that integrates with Xcode to enhance AI development workflows.
Algorand
A comprehensive MCP server for tooling interactions(40+) and resource accessibility(60+) plus many useful prompts to interact with Algorand Blockchain.
Learn MCP
A sample project for learning MCP development, featuring a calculator for math operations and a prompt flow server for various templates.
Figma MCP Server
Connects to the Figma API, allowing AI tools to access and interact with your Figma designs.
Shaka Packager MCP Server
Video transcoding, packaging, and analysis using the Shaka Packager tool, integrated with Claude AI.
Claude TypeScript MCP Servers
A collection of TypeScript MCP servers to enhance Claude Desktop as a powerful development assistant using your Claude Pro/Max subscription.
Sionic AI Serverless RAG
Integrates LLM applications with RAG data sources and tools using the Model Context Protocol.