Expand description
isimud — macOS menu bar text-to-speech and MCP server for AI agents.
The functional inverse of MUNINN (speech-to-text): agents enqueue speech through MCP tools; a single worker serializes playback, routes named voices to TTS providers, and broadcasts lifecycle events to the menu-bar indicator and connected MCP peers.
Re-exports§
pub use config::AppConfig;
Modules§
- config
- TOML configuration loading, validation, and credential resolution. Configuration loading, validation, and secret resolution.
- mcp
- MCP tool handlers and speech-event notification fan-out. MCP tool handlers and speech-event notification fan-out.
- playback
- Shared rodio playback for cloud-provider audio bytes. Shared rodio playback for cloud-provider audio bytes.
- providers
- TTS provider trait, registry, and Apple/OpenAI/Google backends. TTS provider trait, registry, and Apple/OpenAI/Google backends.
- server
- Axum HTTP server wiring for streamable MCP over
/mcp. Axum HTTP server wiring for streamable MCP. - state
- Speech state machine, status snapshots, and lifecycle events. Speech state machine, status snapshots, and lifecycle events.
- voices
- Named-voice resolution from
[voices.*]into provider parameters. Named-voice resolution from agent requests into provider parameters. - worker
- Serialized speech queue, worker task, and engine API. Serialized speech queue, worker task, and engine API.
Constants§
- DEFAULT_
BIND_ HOST - Default loopback bind address for the MCP/HTTP server.
- DEFAULT_
PORT - Default MCP server port — T9 keypad spelling of “ENKI” (the god isimud serves), inside the IANA registered range (1024–49151).
- TARGET_
CONFIG - Tracing target for configuration handling.
- TARGET_
DEFAULT - Catch-all tracing target.
- TARGET_
PROVIDER - Tracing target for TTS provider activity.
- TARGET_
RUNTIME - Tracing target for runtime/lifecycle events.
- TARGET_
SERVER - Tracing target for the MCP/HTTP server.
- TARGET_
SPEECH - Tracing target for speech worker / playback activity.