MCP Starter Server
A minimal template for building AI assistant tools using the ModelContextProtocol.
MCP Starter Server
A minimal ModelContextProtocol server template for building AI assistant tools. This starter provides a basic structure for creating MCP tools that can be used with AI assistants like Claude.
Features
- Simple "hello world" tool example
- TypeScript + esbuild setup
- Development tools preconfigured
Setup to build and run with Claude
-
Download and install Claude desktop app from claude.ai/download
-
Clone the repo, install dependencies and build:
npm install
npm run build
- Configure Claude to use this MCP server. If this is your first MCP server, in the root of this project run:
echo '{
"mcpServers": {
"mcp-starter": {
"command": "node",
"args": ["'$PWD'/dist/index.cjs"]
}
}
}' > ~/Library/Application\ Support/Claude/claude_desktop_config.json
This should result in an entry in your claude_desktop_config.json like:
"mcpServers": {
"mcp-starter": {
"command": "node",
"args": ["/Users/matt/code/mcp-starter/dist/index.cjs"]
}
}
If you have existing MCP servers, add the mcp-starter block to your existing config. It's an important detail that the args is the path to <path_to_repo_on_your_machine>/mcp-starter/dist/index.cjs.
-
Restart Claude Desktop.
-
Look for the hammer icon with the number of available tools in Claude's interface to confirm the server is running.
-
If this is all working, you should be able to develop your MCP server using
npm run devand test it in Claude. You'll need to restart Claude each time to restart the MCP server.
Developing with Inspector
For development and debugging purposes, you can use the MCP Inspector tool. The Inspector provides a visual interface for testing and monitoring MCP server interactions.
Visit the Inspector documentation for detailed setup instructions.
To test locally with Inspector:
npm run inspect
To build on file changes run:
npm run watch
Or run both the watcher and inspector:
npm run dev
Publishing
Once you're ready to distribute your server, it's simple!
-
Set up an NPM account.
-
Run
npm publish. This will publish a package using the project name inpackage.json -
Once published, others can install the server with a config entry like:
"mcpServers": {
"<your-package-name>": {
"command": "npx",
"args": ["<your-package-name>"]
}
}
Available Tools
The server provides:
hello_tool: A simple example tool that takes a name parameter and returns a greeting
Creating New Tools
To add new tools:
- Define the tool schema in
index.ts - Add it to the tools array in the
ListToolsRequestSchemahandler - Add the implementation in the
CallToolRequestSchemahandler
See the hello_tool implementation as an example.
関連サーバー
Scout Monitoring MCP
スポンサーPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
スポンサーAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
mcp-rubber-duck
Query multiple LLMs in parallel from AI coding tools — rubber duck debugging, but the ducks talk back.
Neo N3 MCP Server
Integrates with the Neo N3 blockchain for wallet management, asset transfers, contract interactions, and blockchain queries.
即梦AI多模态MCP
A multimodal generation service using Volcengine Jimeng AI for image generation, video generation, and image-to-video conversion.
MCP-ABI
Interact with Ethereum-compatible smart contracts using their ABI.
XTQuantAI
Integrates the xtquant quantitative trading platform with an AI assistant, enabling AI to access and operate quantitative trading data and functions.
Alertmanager
MCP to interact with Alertmanager - observability alerts management tool
Oso Cloud MCP Server
Understand, develop, and debug authorization policies in Oso Cloud.
Cygnus MCP Server
A simple MCP server exposing Cygnus tools for demonstration, including 'cygnus_alpha' and 'invoke-service'.
Remote MCP Server (Authless)
An example of a remote MCP server without authentication, deployable on Cloudflare Workers.
Rails MCP Server
An MCP server for Rails projects, allowing LLMs to interact with your application.