terminal-mcp 0.1.5

Model Context Protocol (MCP) server for long-lived shell execution.
mod config;
mod docs;
mod protocol;
mod resources;
mod server_handler;
mod service;
mod shell_registry;
mod security;
mod utils;

use anyhow::Result;
use rmcp::{transport::stdio, ServiceExt};
use service::TerminalMcpService;


pub(crate) use protocol::{err, ok};
use security::audit;

#[tokio::main]
async fn main() -> Result<()> {
    let _audit_guard = audit::init();

    tracing::info!(target: "audit", event = "server_start", "shell mcp service starting");

    let server = TerminalMcpService::new().serve(stdio()).await?;

    server.waiting().await?;

    tracing::info!(target: "audit", event = "server_stop", "shell mcp service stopped");

    Ok(())
}