mcp-weather
Build and deploy a Model Context Protocol server that provides access to weather data, allowing for integration with various AI models. Utilizes TypeScript for server implementation and includes features for fast development and automated version management.
Author

GreatAuk
Quick Info
Actions
Tags
MCP Server Starter
A production-ready starter template for building Model Context Protocol (MCP) servers with TypeScript.
🚀 Quick Start
- Clone the repository
- Install dependencies:
bash 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:
1. Create a new tool directory under src/tools/<tool-name>
2. Generate the basic tool structure including:
- index.ts (main implementation)
- schema.ts (JSON schema for tool parameters)
- test.ts (test file)
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:
- Build the project:
bash bun run build - Add to your Claude Desktop config:
json // 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:
bash npm login - Build the project:
bash bun run build - Publish the package:
bash npm publishRemember to update the version number usingbun run releasebefore 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 claude
Installing from npm (after publishing)
Add to your Claude Desktop config: ```json // 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"] } } }
