Skip to main content

Crate solo_api

Crate solo_api 

Source
Expand description

Solo transports: MCP server (rmcp) and HTTP/JSON (axum).

Re-exports§

pub use auth::AuthConfig;
pub use auth::AuthError;
pub use auth::AuthenticatedPrincipal;
pub use http::SoloHttpState;
pub use http::openapi_spec;
pub use http::serve_http;
pub use llm::SamplingClient;
pub use llm::SamplingError;
pub use llm::SamplingLlmClient;
pub use llm::build_sampling_steward;
pub use mcp::ENV_MCP_PRINCIPAL_TOKEN;
pub use mcp::SoloMcpServer;
pub use mcp::resolve_mcp_principal;
pub use mcp::serve_stdio;
pub use mcp::tool_names;
pub use mcp_dispatch::JsonRpcErrorBody;
pub use mcp_dispatch::JsonRpcErrorResponse;
pub use mcp_dispatch::JsonRpcRequest;
pub use mcp_dispatch::JsonRpcResponse;
pub use mcp_dispatch::JsonRpcSuccess;
pub use mcp_dispatch::McpDispatcher;
pub use mcp_notify::MCP_NOTIFICATION_DATA_CONSOLIDATION_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_DATA_DOCUMENTS_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_DATA_GRAPH_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_DATA_MEMORIES_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_DATA_MEMORY_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_DATA_TENANT_UPDATED;
pub use mcp_notify::MCP_NOTIFICATION_MESSAGE_LEVEL;
pub use mcp_notify::MCP_NOTIFICATION_MESSAGE_LOGGER;
pub use mcp_notify::MCP_NOTIFICATION_MESSAGE_METHOD;
pub use mcp_notify::map_invalidate_to_message;
pub use mcp_notify::spawn_invalidate_bridge;
pub use mcp_progress::MCP_NOTIFICATION_PROGRESS_METHOD;
pub use mcp_progress::MCP_REMEMBER_BATCH_PROGRESS_EMIT_EVERY;
pub use mcp_progress::MCP_REMEMBER_BATCH_PROGRESS_ITEM_THRESHOLD;
pub use mcp_progress::MCP_SEARCH_DOCS_PROGRESS_TOP_K_THRESHOLD;
pub use mcp_progress::ProgressReporter;
pub use mcp_progress::ProgressToken;
pub use mcp_progress::report_if_some;
pub use mcp_session::MCP_LAST_EVENT_ID_HEADER;
pub use mcp_session::MCP_SESSION_ABSOLUTE_TTL_MS;
pub use mcp_session::MCP_SESSION_EVENT_BUFFER_CAPACITY;
pub use mcp_session::MCP_SESSION_EXPIRED_ERROR;
pub use mcp_session::MCP_SESSION_ID_HEADER;
pub use mcp_session::MCP_SESSION_INACTIVITY_TTL_MS;
pub use mcp_session::MCP_SESSION_SWEEP_INTERVAL_SECS;
pub use mcp_session::MCP_STREAM_EVENT_HEARTBEAT_NAME;
pub use mcp_session::MCP_STREAM_EVENT_INIT_NAME;
pub use mcp_session::MCP_STREAM_EVENT_LAGGED_NAME;
pub use mcp_session::MCP_STREAM_EVENT_MESSAGE_NAME;
pub use mcp_session::MCP_STREAM_EVENT_PROGRESS_NAME;
pub use mcp_session::McpEventKind;
pub use mcp_session::McpStreamEvent;
pub use mcp_session::SessionId;
pub use mcp_session::SessionState;
pub use mcp_session::SessionStore;
pub use mcp_session::mcp_session_middleware;
pub use mcp_session::set_session_id_header;

Modules§

auth
Pluggable auth for Solo’s HTTP transport (v0.8.0 P3).
http
HTTP/JSON transport for Solo. Local-only by default — binds to 127.0.0.1:<port> and serves the same operations the MCP server exposes:
llm
solo-api LLM clients that depend on the MCP transport.
mcp
MCP (Model Context Protocol) server for Solo.
mcp_dispatch
v0.10.2 — transport-agnostic MCP JSON-RPC dispatcher.
mcp_notify
v0.11.0 P4 — bridge per-tenant InvalidateEvent broadcasts into MCP notifications/message events on each session’s SSE stream.
mcp_progress
v0.11.0 P3 — per-tool progress events for long-running MCP tool calls.
mcp_session
v0.11.0 P1 — MCP Mcp-Session-Id session store + middleware.