Metadata-Version: 2.4
Name: golemio-mcp
Version: 1.0.0
Summary: MCP server exposing Prague's Golemio API for AI assistants
Author: Vladyslav Burzakovskyy
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/MrMebelMan/golemio-mcp-server
Project-URL: Repository, https://github.com/MrMebelMan/golemio-mcp-server
Project-URL: Issues, https://github.com/MrMebelMan/golemio-mcp-server/issues
Project-URL: Changelog, https://github.com/MrMebelMan/golemio-mcp-server/releases
Keywords: mcp,golemio,prague,api,public-transit,transport
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.12
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.28.1
Requires-Dist: mcp[cli]>=1.26.0
Dynamic: license-file

# Golemio MCP Server

An MCP server that exposes Prague's Golemio open data API to AI assistants. Query public transit departures, air quality, parking availability, and more.

## Installation

Get an API key from https://api.golemio.cz/api-keys/

Add to your MCP configuration (e.g., `~/.mcp.json`):

```json
{
  "mcpServers": {
    "golemio": {
      "command": "uvx",
      "args": ["golemio-mcp"],
      "env": {
        "GOLEMIO_API_KEY": "your-api-key"
      }
    }
  }
}
```

Requires [uv](https://docs.astral.sh/uv/getting-started/installation/) to be installed.

> **NixOS users**: `uvx` won't work due to dynamic linking. See [Development](#development) for NixOS-specific configuration.

## Available Tools

**Public Transit**
- `search_stops` - Find stops by name (works with or without Czech diacritics)
- `get_departures` - Real-time departure boards

**City Data**
- `get_air_quality_stations` - Air quality measurements
- `get_parking_lots` - Parking availability
- `get_waste_stations` - Waste container fill levels
- `get_bicycle_counters` / `get_bicycle_detections` - Bike traffic data

**Points of Interest**
- `get_medical_institutions` - Hospitals, clinics
- `get_municipal_libraries` - Public libraries
- `get_playgrounds` - Playgrounds
- `get_gardens` - Public gardens
- `get_city_districts` - District boundaries

## Development

Requires Python 3.12+ and uv.

```bash
# Install dependencies
uv sync

# Run tests
uv run pytest -v

# Run server
uv run golemio-mcp
```

### Local MCP configuration

To run from a local clone instead of PyPI:

```json
{
  "mcpServers": {
    "golemio": {
      "command": "uv",
      "args": ["--directory", "/path/to/golemio-mcp-server", "run", "golemio-mcp"],
      "env": {
        "GOLEMIO_API_KEY": "your-api-key"
      }
    }
  }
}
```

On NixOS, use system Python to avoid dynamic linking issues:

```json
{
  "mcpServers": {
    "golemio": {
      "command": "nix-shell",
      "args": [
        "-p", "uv",
        "--run", "UV_PYTHON=/run/current-system/sw/bin/python3 uv --directory /path/to/golemio-mcp-server run golemio-mcp"
      ],
      "env": {
        "GOLEMIO_API_KEY": "your-api-key"
      }
    }
  }
}
```
