Go UTCP
Official Go implementation of the UTCP
What is Go UTCP?
Go UTCP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to official go implementation of the utcp
Official Go implementation of the UTCP
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Official Go implementation of the UTCP
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx go-utcpConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Go UTCP
go-utcp is the official Go implementation of the Universal Tool Calling Protocol (UTCP), an open standard for defining, discovering, and invoking tools across diverse communication protocols including HTTP, WebSockets, gRPC, CLI, Server-Sent Events, GraphQL, TCP, UDP, WebRTC, and MCP. It provides a single unified client API — NewUTCPClient, SearchTools, CallTool, CallToolStream — so Go applications and AI agents can interoperate with any UTCP-compliant tool provider without writing protocol-specific integration code. Developers building multi-agent systems, AI pipelines, or cross-service automation use go-utcp to avoid vendor lock-in and standardise how their agents discover and call external capabilities.
Prerequisites
- Go 1.21 or later installed (go version to check)
- A Go module already initialised in your project (go mod init)
- Internet access to fetch the module from pkg.go.dev
- Optional: a .env file for environment variable substitution in provider configurations
Add go-utcp to your Go module
Run go get to download and add go-utcp as a dependency. The @latest tag fetches the most recent release.
go get github.com/universal-tool-calling-protocol/go-utcp@latestImport the library in your Go code
Import the utcp package and initialise a client from a providers configuration file that lists the tool providers and their transport settings.
import "github.com/universal-tool-calling-protocol/go-utcp"Create a UTCP client
Instantiate a client by passing a providers configuration. The configuration specifies which providers are available and how to reach them (HTTP endpoint, CLI binary, MCP server, etc.).
client, err := utcp.NewUTCPClient("providers.json")
if err != nil {
log.Fatal(err)
}Discover available tools
Call SearchTools to list all tools exposed by your configured providers. You can filter by name or category.
tools, err := client.SearchTools(ctx, "")
if err != nil {
log.Fatal(err)
}Invoke a tool
Call CallTool with the tool name and a map of input parameters. For streaming responses, use CallToolStream instead.
result, err := client.CallTool(ctx, "my-tool", map[string]any{
"param1": "value1",
})Go UTCP Examples
Client configuration
Example MCP server configuration if running go-utcp as part of an MCP-compatible workflow. Note that go-utcp is primarily a Go library, not an npx-runnable server; use it in your own Go binaries.
{
"mcpServers": {
"go-utcp": {
"command": "npx",
"args": ["go-utcp"]
}
}
}Prompts to try
If your Go agent built with go-utcp is exposed as an MCP server, AI assistants can use prompts like these.
- "List all tools available from my UTCP providers"
- "Call the weather tool with location set to London"
- "Search for tools related to file management"
- "Stream the output of the log-analysis tool for the last hour"Troubleshooting Go UTCP
go get fails with 'module not found' or network errors
Ensure GOPATH and GOMODCACHE are writable and that your Go proxy (GOPROXY) can reach pkg.go.dev. If behind a corporate proxy, set GOPROXY=direct or configure your internal Go module proxy.
Provider connection errors when calling SearchTools
Verify your providers.json has the correct endpoint URLs and transport types. For HTTP providers, confirm the server is running and reachable. For CLI providers, confirm the binary is on your PATH.
Environment variable substitution not working in provider config
Place a .env file in the working directory where the UTCP client is initialised. The library reads this file automatically for variable substitution in provider configurations.
Frequently Asked Questions about Go UTCP
What is Go UTCP?
Go UTCP is a Model Context Protocol (MCP) server that official go implementation of the utcp It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Go UTCP?
Follow the installation instructions on the Go UTCP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Go UTCP?
Go UTCP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Go UTCP free to use?
Yes, Go UTCP is open source and available under the MPL-2.0 license. You can use it freely in both personal and commercial projects.
Go UTCP Alternatives — Similar Developer Tools Servers
Looking for alternatives to Go UTCP? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Go UTCP in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Go UTCP?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.