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 Server Starter

✨ 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 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.2/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'hello_tool' stands alone with a distinct purpose, making it impossible for an agent to misselect among alternatives.

    Naming Consistency5/5

    A single tool inherently follows a consistent naming pattern, as there are no other tools to compare it against. The name 'hello_tool' uses snake_case and a clear verb-noun structure, which would be consistent if more tools were added.

    Tool Count2/5

    A single tool is too few for most server purposes, as it limits functionality and suggests an incomplete or trivial implementation. For a server named 'MCP Server Starter', which implies a foundational or example setup, one tool feels insufficient to demonstrate meaningful capabilities.

    Completeness1/5

    With only a 'hello_tool', the server lacks any substantial coverage of a domain. There are obvious gaps, as no CRUD operations, lifecycle management, or core workflows are provided, making it severely incomplete for any practical use case.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      A production-ready template for building Model Context Protocol servers in TypeScript, offering fast development with Bun, Biome linting, and automated version management.
      1
      182 npm
      MIT
    • 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.
      7 npm
      Creative Commons Attribution Non Commercial Share Alike 4.0 International