Metadata-Version: 2.4
Name: grpcurl-mcp
Version: 0.1.0
Summary: MCP server that wraps grpcurl
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: mcp>=1.27.1

# grpcurl-mcp

MCP server that wraps `grpcurl` for calling gRPC APIs.

## Requirements

- `grpcurl` on PATH
- Python 3.11+
- `uv`

## Tools

### `grpc_invoke`

Execute a gRPC method via grpcurl.

| Parameter  | Description                                          |
| ---------- | ---------------------------------------------------- |
| `url`      | gRPC server address (e.g. `host:443`)                |
| `endpoint` | `Service.Method` (e.g. `ProductService.GetProducts`) |
| `payload`  | JSON request body                                    |

**Example:**

```json
{
  "url": "grpc.example.com:443",
  "endpoint": "ExampleService.GetProducts",
  "payload": {
    "skus": ["EXAMPLE-SKU-001"]
  }
}
```

### `grpc_list_services`

List services available on a gRPC server.

| Parameter | Description         |
| --------- | ------------------- |
| `url`     | gRPC server address |

## Running

```bash
uv run python main.py
```

## Claude Code MCP config

Add to `.claude/settings.json` or `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "grpcurl": {
      "command": "uv",
      "args": ["run", "python", "main.py"],
      "cwd": "/path/to/grpcurl-mcp"
    }
  }
}
```
