Skip to main content
Glama
MatthewDailey

MCP Starter Server

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

  1. Download and install Claude desktop app from claude.ai/download

  2. Clone the repo, install dependencies and build:

npm install
npm run build
  1. 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.

  1. Restart Claude Desktop.

  2. Look for the hammer icon with the number of available tools in Claude's interface to confirm the server is running.

  3. If this is all working, you should be able to develop your MCP server using npm run dev and 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!

  1. Set up an NPM account.

  2. Run npm publish. This will publish a package using the project name in package.json

  3. 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:

  1. Define the tool schema in index.ts

  2. Add it to the tools array in the ListToolsRequestSchema handler

  3. Add the implementation in the CallToolRequestSchema handler

See the hello_tool implementation as an example.

Available Tools

1 tool
hello_toolD

Hello tool

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the person to greet

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Hello tool' reveals nothing about whether this performs read/write operations, requires authentication, has side effects, rate limits, or what the response format might be. It's completely inadequate for behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise with just two words, this represents under-specification rather than effective brevity. The description fails to provide any meaningful information that would help an AI agent understand or use the tool properly, making it inefficient despite its short length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description 'Hello tool' is completely inadequate. It provides no information about what the tool does, how it behaves, what it returns, or any operational context. The description fails to compensate for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'name' clearly documented as 'The name of the person to greet'. The description adds no additional parameter information beyond what's in the schema, but with complete schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Hello tool' is a tautology that essentially restates the tool name without specifying what it actually does. While the name 'hello_tool' suggests a greeting function, the description fails to articulate a clear verb+resource combination or any specific purpose beyond the obvious implication from the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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, what context it's appropriate for, or any prerequisites. With no sibling tools mentioned, there's no need to differentiate from alternatives, but the description still offers zero usage instructions or contextual hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MatthewDailey/mcp-starter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server