Skip to main content

songbird-mcp

Standalone MCP (Model Context Protocol) server for Songbird — bridges LLM clients (Claude Desktop, Claude Code, etc.) to the running app.

What it owns

  • MCP JSON-RPC protocol handling (initialize, tools/list, tools/call, ping)
  • UDS bridge client connecting to ~/.songbird/mcp.sock
  • Tool registry: list_sync_commands, dispatch_command, run_terminal_command

Public API

Binary only (songbird-mcp). No library API — other crates do not depend on this.

How it fits

Reads JSON-RPC on stdio from the LLM client, forwards tool calls over a Unix Domain Socket to songbird-app (which hosts the UDS listener in mcp_bridge.rs). Depends on serde_json, dirs, and env_logger.

Tests

Manual integration: start the app, then echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | cargo run -p songbird-mcp.