ringo-mcp 0.1.0

MCP server over stdio exposing ringo SIP agents for LLM-driven telephony
Documentation
//! `ringo-mcp` — an MCP server over stdio that exposes ringo SIP agents
//! (user agents) to LLM agents for telephony.
//!
//! Architecture: one `ringo-agent` worker *process* per configured account
//! (each worker is one baresip UA, driven over its framed stdio protocol),
//! managed by a [`hub::Hub`]. Agents start **lazily** — the hub spawns a
//! worker on the first tool call that touches an agent (single-flight), and a
//! dead worker is respawned the same way. The MCP tool surface in [`server`]
//! is a thin layer over the per-agent [`ringo_agent::ProcessClient`] handles.
//!
//! The binary re-invokes itself as `ringo-mcp agent` for the worker processes
//! (see `ProcessClient::spawn`, which spawns `current_exe` with the `agent`
//! argument), so this crate is both the MCP server and the worker host.

#![warn(missing_docs)]

pub mod config;
pub mod hub;
mod server;
mod state;
pub mod trace;

pub use server::{event_name, resolve_disabled_tools, serve, total_tool_count};