Show HN: Rs-Utcp, a Rust Implementation of the Universal Tool Calling Protocol (github.com)

🤖 AI Summary
Rs-Utcp is a new Rust implementation of the Universal Tool Calling Protocol (UTCP) that gives a single client API to discover and invoke tools across many transports — HTTP, CLI, WebSocket, gRPC, GraphQL, TCP/UDP, SSE, MCP, WebRTC, HTTP streams and plain text. It’s config-driven: you can ship provider manifests (JSON) and load them at runtime with UtcpClient::new_with_providers (variables can be injected from config or env), search tools by tags/descriptions, and call or stream responses. The repo includes demos for each transport, an in-memory repository, tag-based search, caching of provider-tool→transport bindings for fast calls, and auth scaffolding; HTTP is feature-complete while other transports are demo-ready. For AI/ML use cases Rs-Utcp is significant because it standardizes tool discovery and orchestration across heterogeneous endpoints, making it easier to wire LLMs into tool-using pipelines. It embeds a Rhai “codemode” to generate and run snippets that orchestrate tools (helpers like call_tool and call_tool_stream), and offers an optional LLM-driven orchestrator you can implement by providing LlmModel::complete to have the model decide when and how to invoke tools. The project targets Rust 1.70+, provides many cargo examples (http_server, grpc_server, codemode_eval, etc.), and is modeled after go-utcp — a practical foundation for building robust, multi-transport tool-enabled agents.
Loading comments...
loading comments...