MCP Server Boilerplate
# MCP Server Boilerplate
A basic Model Context Protocol (MCP) server implementation that can be used as a starting point for building MCP-compatible applications.
## Features
- Basic MCP server setup with TypeScript
- Example function implementation
- Graceful shutdown handling
- Development and production build configurations
## Prerequisites
- Node.js (v14 or higher)
- npm or yarn
## Installation
```bash
npm install
```
## Development
To run the server in development mode with hot-reload:
```bash
npm run dev
```
## Building for Production
To build the project:
```bash
npm run build
```
To start the production server:
```bash
npm start
```
## Project Structure
```
├── src/
│ └── index.ts # Main server implementation
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
```
## Adding New MCP Functions
To add new functions to the server:
1. Define a new function schema using Zod
2. Create a function implementation following the MCPFunction interface
3. Add the function to the server configuration
Example:
```typescript
const myNewFunction: MCPFunction = {
name: 'my_new_function',
description: 'Description of what the function does',
parameters: z.object({
// Define your parameters here
}),
handler: async (params) => {
// Implement your function logic here
return {
// Return your response here
};
}
};
```
## License
ISC TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools, as there are no other tools to compare it against. The tool 'echo' stands alone with no ambiguity in its purpose relative to other tools in the set.
Since there is only one tool named 'echo', there is no inconsistency in naming patterns to evaluate. The tool name follows a simple, single-word convention, and with no other tools, it cannot be inconsistent.
A single tool named 'echo' with no description suggests a minimal or trivial server, which may be insufficient for most practical purposes. While it could be appropriate for a very narrow scope, it likely feels thin and underdeveloped for typical MCP server use cases.
With only one tool and no description provided, it is impossible to assess coverage of any domain. The tool set is severely incomplete, as there are no other tools to form a coherent surface, and the lack of description makes it unclear what functionality is even intended.