Skip to main content
Glama
colesiu415

zencontrol-tpi-mcp

by colesiu415
README.md
# Zencontrol TPI MCP Servers

Remote MCP tool servers for **zencontrol TPI Classic** and **TPI Advanced**, packaged for Docker with **SSE transport** and **Cloudflare Tunnel** exposure for Hermes agents.

## Tools

| Tool | Classic | Advanced |
|------|---------|----------|
| `dali_dim` | Yes | Yes |
| `dali_full_on` | Yes | Yes |
| `dali_off` | Yes | Yes |
| `query_control_gear_fault_status` | — | Yes |
| `query_group_status` | — | Yes |

## Quick start (local)

```bash
cd zencontrol-mcp
cp .env.example .env
# Edit ZENCONTROL_HOST and MCP_AUTH_TOKEN

pip install fastmcp mcp pydantic starlette uvicorn pytest
set PYTHONPATH=packages

python servers/classic/server.py   # port 8101
python servers/advanced/server.py  # port 8102
```

## Docker

```bash
docker compose up -d
curl http://127.0.0.1:8101/health
curl -N -H "Authorization: Bearer YOUR_TOKEN" http://127.0.0.1:8101/sse
```

## Cloudflare Tunnel + Hermes

See [deploy/cloudflared/README.md](deploy/cloudflared/README.md) and [deploy/hermes-config.example.yaml](deploy/hermes-config.example.yaml).

## Docker MCP catalog

```bash
docker mcp catalog create zencontrol-catalog
docker mcp catalog add zencontrol-catalog zencontrol-tpi-classic ./servers/classic/catalog-entry.yaml
docker mcp catalog add zencontrol-catalog zencontrol-tpi-advanced ./servers/advanced/catalog-entry.yaml
```

## Tests

```bash
set PYTHONPATH=packages
pytest tests/
```