{"id":"universal-tool-calling-protocol-go-utcp","name":"go-utcp","af_score":44.0,"security_score":36.8,"reliability_score":26.2,"what_it_does":"go-utcp is a Go implementation of the Universal Tool Calling Protocol (UTCP) that lets clients discover and call tools through multiple transport types (e.g., HTTP, WebSocket, gRPC, GraphQL, TCP/UDP, CLI, SSE/streaming HTTP) and provides utilities like environment-variable substitution (.env) and an OpenAPI-to-manual converter.","best_when":"You want a self-hosted Go library to standardize tool calling across multiple protocols/providers and you can review/secure the underlying transports and any plugin execution paths.","avoid_when":"You cannot audit transport security/auth behavior or you are not prepared to mitigate risks around executing LLM-supplied code (if using CodeMode).","last_evaluated":"2026-03-30T13:46:45.179301+00:00","has_mcp":false,"has_api":false,"auth_methods":[],"has_free_tier":false,"known_gotchas":["README does not document standard retry/idempotency semantics for CallTool/SearchTools; agents should be cautious with repeated tool calls.","If using the CodeMode plugin, LLM-driven execution increases risk; ensure sandboxing and strict input controls beyond what is stated in README."],"error_quality":0.0}