rtb-mcp 0.9.2

Model Context Protocol server that exposes tool commands as MCP tools. Part of the phpboyscout Rust toolkit.
Documentation

rtb-cli

Part of the phpboyscout Rust toolkit: small, framework-free crates extracted from rust-tool-base.

The CLI runtime family: a four-crate workspace sharing one version line. rtb-cli builds the application; the other three each register a built-in command into the same link-time registry:

  • rtb-cli: the entry-point crate every downstream tool's main() touches: Application::builder typestate, clap integration of BUILTIN_COMMANDS, tracing + miette wiring, signal binding, and the built-in command suite (version, doctor, init, config, credentials, telemetry).
  • rtb-docs: interactive docs browser (ratatui two-pane TUI), a docs serve HTML server (loopback by default, not restricted to it), tantivy full-text search, and a streaming AI Q&A seam (ai feature → rtb-chat).
  • rtb-update: signature-verified self-update: select, download, verify (prehashed minisign, plus SHA-256 when the tool names a checksums asset), self-test, atomically swap. Composes on rtb-forge.
  • rtb-mcp: Model Context Protocol server (via the official rmcp SDK) exposing mcp_exposed commands as MCP tools.
use rtb_cli::prelude::*;

#[tokio::main]
async fn main() -> miette::Result<()> {
    Application::builder()
        .metadata(ToolMetadata::builder().name("mytool").summary("a tool").build())
        .version(version_info!())
        .build()?
        .run()
        .await
}

Development

just ci runs the full local gate (fmt, clippy, nextest, doc, deny), including --all-features clippy + test passes that exercise rtb-docs' ai feature. Tests include a cucumber BDD suite (crates/rtb-cli/tests/bdd.rs) and trybuild compile-fail fixtures (run in isolation by .config/nextest.toml, so use nextest rather than cargo test). Releases are cut by colophon from Conventional Commits; do not tag manually.

License

MIT