MCP Starter Server
The MCP Starter Server is a minimal template for building AI assistant tools using the ModelContextProtocol. With this server, you can:
Use a 'hello world' example tool: The server includes a
hello_toolthat takes anameparameter and returns a greetingDevelop custom tools: Define new tools by adding their schemas and implementations in
index.tsIntegrate with Claude Desktop: Configure and use with Claude AI assistant tools
Debug and test: Use the MCP Inspector tool for development and monitoring
Publish and distribute: Easily publish as an NPM package
Enable live development: Run
npm run devto test changes in real-time
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Starter Serversay hello to John"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MCP Server Scaffold
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 buildConfigure 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.jsonThis 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 inspectTo build on file changes run:
npm run watchOr run both the watcher and inspector:
npm run devPublishing
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.jsonOnce 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.tsAdd it to the tools array in the
ListToolsRequestSchemahandlerAdd the implementation in the
CallToolRequestSchemahandler
See the hello_tool implementation as an example.
Available Tools
1 toolhello_toolD
Hello tool
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the person to greet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Hello tool' discloses nothing about side effects, return values, or operational behavior, leaving the agent completely uninformed beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. It is a two-word tautology that provides no informative structure or front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple and the schema fully documents its one parameter, the description still fails to state the tool's purpose or expected behavior. An agent may infer from the name and parameter that it greets a person, but the description itself is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, 'name', is described as 'The name of the person to greet'. This meets the baseline where the schema does the heavy lifting. The description itself adds no additional parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hello tool' simply restates the tool name without a verb, resource, or outcome. It does not specify that the tool greets a person or what action it performs, and it fails to distinguish itself from siblings like plan_trip or search_location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool or when to prefer an alternative. There are no exclusions, conditions, or context clues to help an agent decide between hello_tool and its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
hello_tool
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools, making it perfectly clear which tool to use for any task within this server's scope.
The single tool name 'hello_tool' follows a consistent verb_noun pattern, and with no other tools to compare, there is no inconsistency in naming conventions.
One tool is generally too few for a server's purpose unless it is extremely trivial, which 'hello_tool' suggests. This feels thin and under-scoped for a typical MCP server, indicating a mismatch in tool count appropriateness.
With only a 'hello_tool', the server lacks any meaningful coverage of a domain. It is severely incomplete, as there are no operations for CRUD, lifecycle management, or any substantive workflows, making it inadequate for agent-driven tasks.
Maintenance
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- FlicenseBqualityDmaintenanceA basic starter project for building Model Context Protocol (MCP) servers that enables standardized interactions between AI systems and various data sources through secure, controlled tool implementations.2-
- FlicenseNot gradedqualityDmaintenanceA minimal Model Context Protocol server built with FastAPI that provides a basic "Hello World" resource and tool. Serves as a starting point for building and validating MCP client integrations with richer resources and tools.-
- AlicenseNot gradedqualityDmaintenanceA bare-bones FastMCP server template designed to serve as a starting point for building custom Model Context Protocol servers. It provides a foundational structure for implementing tools over HTTP and includes a built-in health check utility.GPL 3.0
Appeared in Searches
- Proof-of-Concept Examples for Multi-Component Processes (Model Context Protocol)
- List of This Week's 15 Most Popular Free Minecraft Servers
- A customizable and widely supported Minecraft server
- Setting Up AI Employee Tools on Docker Containers with MCP Servers
- Free and easy-to-setup Minecraft server hosting for solo web developers