Exposes a text-to-speech announcement tool for the CastleCall home PA system
CastleCall MCP
An MCP server that exposes a text-to-speech announce tool for CastleCall — a home PA/announcement system for Raspberry Pi.
Supports Piper (local) and ElevenLabs (cloud) TTS providers via stdio transport.
Setup
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:
{
"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:
{
"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 |
Tools (1)
announcePlay a text-to-speech announcement on CastleCall.Environment Variables
CASTLECALL_URLrequiredURL of your CastleCall instanceCASTLECALL_PROVIDERTTS provider: piper (default) or elevenlabsCASTLECALL_VOICE_IDElevenLabs voice IDConfiguration
{"mcpServers": {"castlecall": {"command": "node", "args": ["/path/to/castlecall-mcp/dist/cli.js"], "env": {"CASTLECALL_URL": "http://192.168.1.50:3000", "CASTLECALL_PROVIDER": "piper"}}}}