CastleCall MCP
by ctf2009
README.md
# CastleCall MCP
An MCP server that exposes a text-to-speech `announce` tool for [CastleCall](https://github.com/ctf2009/castlecall) — a home PA/announcement system for Raspberry Pi.
Supports **Piper** (local) and **ElevenLabs** (cloud) TTS providers via stdio transport.
## Setup
```bash
npm install
npm run build
```
## Configuration
| Variable | Required | Description |
|---|---|---|
| `CASTLECALL_URL` | Yes | URL of your CastleCall instance (e.g. `http://192.168.1.50:3000`) |
| `CASTLECALL_PROVIDER` | No | TTS provider: `piper` (default) or `elevenlabs` |
| `CASTLECALL_VOICE_ID` | When using ElevenLabs | ElevenLabs voice ID |
## Usage
### Claude Desktop / Claude Code
Add to your MCP settings:
```json
{
"mcpServers": {
"castlecall": {
"command": "node",
"args": ["/path/to/castlecall-mcp/dist/cli.js"],
"env": {
"CASTLECALL_URL": "http://192.168.1.50:3000",
"CASTLECALL_PROVIDER": "piper"
}
}
}
}
```
ElevenLabs example:
```json
{
"mcpServers": {
"castlecall": {
"command": "node",
"args": ["/path/to/castlecall-mcp/dist/cli.js"],
"env": {
"CASTLECALL_URL": "http://192.168.1.50:3000",
"CASTLECALL_PROVIDER": "elevenlabs",
"CASTLECALL_VOICE_ID": "your-voice-id"
}
}
}
}
```
## Tool
### `announce`
Play a text-to-speech announcement on CastleCall.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `text` | string | Yes | The text to announce |
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues