Skip to main content
Glama

MCP Server Starter

A production-ready starter template for building Model Context Protocol (MCP) servers with TypeScript.

πŸš€ Quick Start

  1. Clone the repository

  2. Install dependencies:

    bun install

Related MCP server: MCP TypeScript Server Template

✨ 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:

  1. Build the project:

    bun run build
  2. 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

  1. Ensure you're logged in to npm:

    npm login
  2. Build the project:

    bun run build
  3. Publish 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 claude

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"]
    }
  }
}

Available Tools

1 tool
hello_toolD

Hello tool

Inputs: name (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of confusion or overlap between tools, as there are no other tools to compare it against. The single tool's purpose is clearly distinct by default.

    Naming Consistency5/5

    The naming pattern cannot be inconsistent with only one tool, as there is no variation to assess. The tool name 'hello_tool' follows a simple noun-based pattern, which is inherently consistent in this minimal set.

    Tool Count2/5

    A single tool is too few for a server named 'MCP Server Starter', which implies a foundational or example server that should demonstrate more functionality. This minimal count feels thin and inadequate for the apparent scope of providing starter capabilities.

    Completeness1/5

    The tool surface is severely incomplete, as a 'starter' server with only a 'hello_tool' lacks any meaningful operations for building or demonstrating MCP functionality. There are obvious gaps, with no coverage of core MCP workflows or example use cases.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A template repository for building Model Context Protocol (MCP) servers with TypeScript, featuring full TypeScript support, testing setup, CI/CD pipelines, and modular architecture for easy extension.
      5 npm
      Creative Commons Attribution Non Commercial Share Alike 4.0 International
    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript template for building Model Context Protocol servers that provides a structured foundation with automated tools, testing, and synchronization capabilities.
      6 npm
      Creative Commons Attribution Non Commercial Share Alike 4.0 International
    • A
      license
      Not graded
      quality
      B
      maintenance
      A starter template for building remote Model Context Protocol servers using TypeScript, providing modern tooling and best practices while leveraging the MCP TypeScript SDK.
      61
      MIT