Skip to main content
Glama
Auxin-io

Hello World MCP Server

by Auxin-io
README.md
# Hello World MCP Server

A simple Model Context Protocol (MCP) server that provides a hello world tool. This server serves as a boilerplate template to help developers quickly create and deploy new MCP servers. It demonstrates basic MCP server functionality with a greeting tool and can be easily modified to add custom tools and resources.

## Features

- **Hello World Tool**: Simple greeting tool that says "Hello, {name}" with default "world"
- **Input Validation**: Uses Zod schemas for robust parameter validation
- **Simple and Clean**: Minimal MCP server implementation for demonstration purposes

## Using as a Boilerplate

This project serves as a starting template for building your own MCP servers. To create a custom MCP server:

1. Clone or fork this repository
2. Modify `index.js` to add your own tools using `server.registerTool()`
3. Update `package.json` with your server name and description
4. Customize the README and configuration files as needed

The basic structure includes proper error handling, input validation with Zod, and MCP protocol compliance.

## Hello World Tool

The server provides a simple hello world tool that greets users with a customizable name.

### Tool Usage

The `helloWorld` tool accepts an optional `name` parameter and returns a greeting message.

**Parameters:**
- `name`: Name to greet (optional, defaults to "world")

**Example Response:**
```
Hello, world!
```

## Installation

### Global Installation (Recommended)

1. Install globally via npm:
   ```bash
   npm install -g hello-world-mcp
   ```

2. The `hello-world-mcp` command will be available system-wide

### Local Installation

1. Clone or download this repository
2. Install dependencies:
   ```bash
   npm install
   ```
3. Start the server:
   ```bash
   npm start
   ```

## Usage

### Starting the Server

```bash
npm start
```

### MCP Configuration

#### For Global Installation

Add this to your MCP client configuration:

```json
{
  "mcpServers": {
    "hello-world-mcp": {
      "command": "hello-world-mcp",
      "args": [],
      "env": {},
      "description": "Hello World MCP server with greeting tool"
    }
  }
}
```

#### For Local Installation

Add this to your MCP client configuration:

```json
{
  "mcpServers": {
    "hello-world-mcp": {
      "command": "node",
      "args": ["index.js"],
      "cwd": "/path/to/hello-world-mcp",
      "env": {},
      "description": "Hello World MCP server with greeting tool"
    }
  }
}
```

## Usage Examples

### Hello World Tool

```json
{
  "name": "helloWorld",
  "arguments": {
    "name": "Alice"
  }
}
```

**Response:**
```json
{
  "content": [
    {
      "type": "text",
      "text": "Hello, Alice!"
    }
  ]
}
```

### Default Greeting

```json
{
  "name": "helloWorld",
  "arguments": {}
}
```

**Response:**
```json
{
  "content": [
    {
      "type": "text",
      "text": "Hello, world!"
    }
  ]
}
```

## Available Tools

### Hello World Tool

#### `helloWorld`
A simple greeting tool that says "Hello, {name}" with default "world".

**Parameters:**
- `name`: Name to greet (optional, defaults to "world")

### Hello World Examples

#### Basic Greeting

```json
{
  "name": "helloWorld",
  "arguments": {
    "name": "Alice"
  }
}
```

**Response:**
```json
{
  "content": [
    {
      "type": "text",
      "text": "Hello, Alice!"
    }
  ]
}
```

#### Default Greeting

```json
{
  "name": "helloWorld",
  "arguments": {}
}
```

**Response:**
```json
{
  "content": [
    {
      "type": "text",
      "text": "Hello, world!"
    }
  ]
}
```

## Response Format

The hello world tool returns a simple text response:

```json
{
  "content": [
    {
      "type": "text",
      "text": "Hello, world!"
    }
  ]
}
```

## Dependencies

- `@modelcontextprotocol/sdk`: MCP SDK for server implementation
- `zod`: Schema validation library

## License

ISC

TDQS

C2.8/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap with other tools, making disambiguation perfect. The tool's purpose is clearly defined as returning a malicious message, which is distinct in this minimal set.

Naming Consistency5/5

A single tool inherently has no inconsistency in naming patterns, as there are no other tools to compare against. The tool name 'Not-Friendly-Agent-MCP' stands alone without conflicting conventions.

Tool Count2/5

A single tool is generally too few for most server purposes, as it limits functionality and scope. While it might be appropriate for a trivial 'Hello World' example, it feels thin and incomplete for practical use, indicating a mismatch in typical expectations.

Completeness1/5

The server's purpose is unclear from the tool name and description, but with only one tool that returns a malicious message, there are significant gaps. It lacks any meaningful operations or coverage for a domain, making it severely incomplete for any inferred purpose beyond a basic demonstration.