MCP.so
Sign In
Servers

MCP Server Starter

@StevenStavrakis

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

Overview

What is MCP Server Starter?

MCP Server Starter is a production-ready template for building Model Context Protocol (MCP) servers with TypeScript. It provides a clean project structure, automated tool scaffolding, and developer tooling for fast testing and linting.

How to use MCP Server Starter?

Clone the repository, install dependencies with bun install, and build with bun run build. Use bun run scripts/create-tool.ts <tool-name> to scaffold new MCP tools. Add the built server to Claude Desktop by editing the config file with the node command and path to dist/main.js.

Key features of MCP Server Starter

  • Bun for fast testing and development
  • Biome for linting and formatting
  • Automated version management with standard-version
  • Tool scaffolding script for quick tool creation
  • Clean, maintainable project structure

Use cases of MCP Server Starter

  • Quickly bootstrap a new MCP server project with TypeScript
  • Scaffold and organize multiple MCP tools with a consistent structure
  • Develop and test MCP tools locally with Bun’s test runner
  • Publish the completed MCP server to npm for distribution

FAQ from MCP Server Starter

What dependencies are required?

Bun is used for package management, testing, and running scripts. Node.js is needed to run the compiled server.

How do I add a new MCP tool?

Run bun run scripts/create-tool.ts <tool-name> – it creates a new tool directory with index, schema, and test files, and updates the tools index.

How do I connect this server to Claude Desktop?

Build the project with bun run build, then add an entry to Claude Desktop’s configuration with command node and args pointing to dist/main.js.

Can I publish this to npm?

Yes. Log in to npm, build the project, and run npm publish. Use bun run release to bump version numbers before publishing.

Does this server handle authentication or transport?

The README does not describe any built-in authentication or transport configuration; it is a starter template that you extend.

Tags

More from Developer Tools