MCP Server Starter
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 testFormat code:
bun run formatLint code:
bun run lintBuild project:
bun run build
To add your development MCP server to Claude Desktop:
Build the project:
bun run buildAdd 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 loginBuild the project:
bun run buildPublish the package:
npm publish
Remember to update the version number using bun run release before publishing new versions.
Installing via Smithery
To install Weather MCP Server Starter for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @GreatAuk/mcp-weather --client claudeInstalling 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"]
}
}
}Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GreatAuk/mcp-weather'
If you have feedback or need assistance with the MCP directory API, please join our Discord server