trackmcp
Back to directory
StevenStavrakis

mcp-starter-template

View on GitHub

An opinionated starter template for making Model Context Protocol (MCP) servers

39 stars JavaScriptDeveloper Kits Updated Oct 1, 2025

Documentation

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:

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

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

bash
bun run scripts/create-tool.ts

This will:

1. Create a new tool directory under `src/tools/`

2. Generate the basic tool structure including:

    3. Update the tools index file to export the new tool

    Example:

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

    bash
    bun run build

    2. 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

    1. Ensure you're logged in to npm:

    bash
    npm login

    2. Build the project:

    bash
    bun run build

    3. Publish the package:

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

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

    Frequently asked questions

    What is mcp-starter-template?

    mcp-starter-template is An opinionated starter template for making Model Context Protocol (MCP) servers

    How do I install mcp-starter-template?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is mcp-starter-template open source?

    Yes โ€” it is hosted on GitHub at https://github.com/StevenStavrakis/mcp-starter-template and has 39 stars.

    Related MCP tools

    Mintplex-Labsanything-llm

    The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

    50,686 JavaScript
    ai-agentscustom-ai-agentsdeepseek+16
    eyaltoledanoclaude-task-master

    An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti

    23,033 JavaScript
    aicursorcursor-ai+9
    xszyoufay

    Fayๆ˜ฏไธ€ไธชๅธฎๅŠฉๆ•ฐๅญ—ไบบ๏ผˆ2.5dใ€3dใ€็งปๅŠจใ€pcใ€็ฝ‘้กต๏ผ‰ๆˆ–ๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆopenaiๅ…ผๅฎนใ€deepseek๏ผ‰่ฟž้€šไธšๅŠก็ณป็ปŸ็š„mcpๆก†ๆžถใ€‚ JavaScript-based implementation. Trusted by 12000+ developers.

    12,003 JavaScript
    aiandroidapi+4
    sonnylazuardicursor-talk-to-figma-mcp

    CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.

    5,539 JavaScript
    agentagenticagentic-ai+11
    mendableaifirecrawl-mcp-server

    ๐Ÿ”ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.

    4,847 JavaScript
    batch-processingclaudecontent-extraction+11
    wonderwhy-erdesktopcommandermcp

    This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.

    4,840 JavaScript
    agentaicode-analysis+5

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP