mcp-starter-template
An opinionated starter template for making Model Context Protocol (MCP) servers
claude mcp add --transport stdio stevenstavrakis-mcp-starter-template node dist/main.js
How to use
This MCP server starter provides a TypeScript framework for building MCP servers. It ships with a modular structure for creating new MCP tools under src/tools, shared utilities under src/utils, and a server entry point at src/main.ts which compiles to dist/main.js. The template emphasizes a Bun-based development workflow, linting with Biome, and automated version management via standard-version. To connect with Claude Desktop or other MCP integrators, you typically point the agent at the compiled server entry (for example dist/main.js) and supply any needed arguments via the config. The included tooling demonstrates how to scaffold new tools quickly using bun run scripts/create-tool.ts and how to integrate the built server into Claude Desktop with a simple JSON snippet that passes optional arguments to the server.
How to install
Prerequisites:\n- Bun (for installing dependencies, running tests, and building) or you can adapt to your environment if you switch to npm/yarn later.\n- Node.js is used for running the compiled server output (dist/main.js).\n\nStep-by-step:\n1) Clone the repository.\n2) Install dependencies:\nbash\nbun install\n\n3) (Optional) Run development tasks: tests, format, lint, and build:\nbash\nbun test\n\nbash\nbun run format\n\nbash\nbun run lint\n\nbash\nbun run build\n\n4) Run the server locally after building:\nbash\n# Ensure dist/main.js exists from the build step\nnode dist/main.js\n\n5) If publishing or packaging for Claude Desktop, adjust your mcpServers config as shown in the README and publish as needed.\n\nNotes:\n- The starter is designed to be extended; to add new MCP tools, use bun run scripts/create-tool.ts <tool-name>.\n- The build output is typically placed in dist/ and referenced by your MCP config as dist/main.js.
Additional notes
Tips and common issues:\n- Ensure you run bun install before attempting to build or test.\n- If dist/main.js is not generated, verify that the build script is configured correctly in package.json and that TypeScript compilation succeeds.\n- When integrating with Claude Desktop, you only need to provide the path to the compiled server (e.g., dist/main.js) along with any optional arguments in the mcpServers configuration.\n- For local development, you can modify src/main.ts to test basic MCP tool orchestration before building.\n- If you plan to publish on npm, remember to bump versions using bun run release and then bun publish after building.\n- If you switch environments (e.g., from Bun to npm scripts), ensure your PATH and script commands align with the chosen toolchain.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.