Get the FREE Ultimate OpenClaw Setup Guide →

csharp-utcp

A high-performance, native C# implementation of the Universal Tool Calling Protocol - enabling AI agents to discover and communicate directly with tools without wrappers or middleware.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add cicatriiz-csharp-utcp

How to use

This MCP server configuration enables UTCP-based multi-server coordination with an MCP endpoint. It supports both a local stdio-based MCP server and an HTTP MCP endpoint, allowing tools to be registered, discovered, and invoked through the UTCP protocol over MCP. Clients can register tools, search for them using UTCP search capabilities, and invoke them either synchronously or via streaming as defined by UTCP. The httpServer configuration demonstrates how to route UTCP traffic to an external MCP endpoint with optional HTTP headers for authentication or tracing. Use the stdioServer when running MCP locally as a process, and the httpServer when delegating MCP handling to a remote or hosted MCP service. The toolkit supports OAuth2-based authentication and streaming results, enabling robust tool invocation workflows across multiple providers.

How to install

Prerequisites:

  • .NET 6+ SDK (or the version required by the Utcp project)
  • Git
  • Optional: Docker if you prefer containerized setup

Install steps:

  1. Clone the repository: git clone https://github.com/yourorg/cicatriiz-csharp-utcp.git cd cicatriiz-csharp-utcp

  2. Restore and build the solution: dotnet restore dotnet build dotnet test

  3. Run the MCP-enabled server locally (example using the http/mcp endpoint):

    • Ensure the MCP HTTP endpoint is reachable at http://localhost:7400/mcp
    • If running a local stdio-based MCP server, ensure the process named in the stdioServer Command is available in PATH
    • Start the hosting application that serves the MCP endpoint as defined in your configuration
  4. Verify MCP endpoint is reachable by inspecting logs or using a simple UTCP client to register and call a tool via the MCP endpoint.

Additional notes

Tips and common considerations:

  • Ensure the MCP endpoint URL (httpServer.Url) is reachable from clients, and that any required authentication headers are included (e.g., via httpServer.Headers).
  • For OAuth2 authentication, configure the appropriate token acquisition flow (TokenUrl, ClientId, ClientSecret) if your MCP endpoint requires tokens.
  • When using the stdioServer, ensure the command you specify can be launched by the hosting environment and that it exposes the MCP protocol interface expected by UTCP.
  • If you encounter CORS or networking issues on the HTTP MCP endpoint, verify firewall rules and that the server is listening on the correct interface and port.
  • Review how MCP result shaping and streaming are implemented to handle large tool outputs efficiently over MCP SSE streams.

Related MCP Servers

Sponsor this space

Reach thousands of developers