# Hello World MCP Server

A simple Model Context Protocol (MCP) server that demonstrates basic MCP functionality with a "Hello World" greeting tool.

## Features

- Simple `say_hello` tool that greets a specified name
- Built with the official MCP Python SDK
- Easy to install via pip
- Can be used with Claude Desktop or any MCP-compatible client

## Installation

### From PyPI (once published)

```bash
pip install hello-world-mcp-server
```

### From Source

```bash
git clone https://github.com/yourusername/hello-world-mcp-server.git
cd hello-world-mcp-server
pip install -e .
```

## Usage

### Running the Server

After installation, you can run the server directly:

```bash
hello-world-mcp-server
```

The server runs via stdio and communicates using the MCP protocol.

### Configuring with Claude Desktop

Add this to your Claude Desktop configuration file:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "hello-world": {
      "command": "hello-world-mcp-server"
    }
  }
}
```

If you installed from source with pip install -e ., you can also use:

```json
{
  "mcpServers": {
    "hello-world": {
      "command": "python",
      "args": ["-m", "hello_world_mcp"]
    }
  }
}
```

### Available Tools

#### say_hello

Says hello to a specified name.

**Parameters:**
- `name` (optional): The name to greet. Defaults to "World" if not provided.

**Example:**
```
say_hello(name="Alice")
# Returns: "Hello, Alice!"

say_hello()
# Returns: "Hello, World!"
```

## Development

### Setup Development Environment

```bash
pip install -e ".[dev]"
```

### Running Tests

```bash
pytest
```

## Project Structure

```
hello-world-mcp-server/
├── src/
│   └── hello_world_mcp/
│       ├── __init__.py
│       └── server.py
├── pyproject.toml
├── README.md
└── LICENSE
```

## Publishing to PyPI

1. Install build tools:
```bash
pip install build twine
```

2. Build the package:
```bash
python -m build
```

3. Upload to PyPI:
```bash
twine upload dist/*
```

## License

MIT License - see LICENSE file for details

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Learn More

- [Model Context Protocol Documentation](https://modelcontextprotocol.io)
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
