The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
uxc
A unified CLI for discovering and invoking tools across OpenAPI, MCP, GraphQL, gRPC, and JSON-RPC
Install
npm install @holon-run/uxc-daemon-clientInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →UXC
One CLI for tools across protocols
English | 简体中文
Documentation | Skills Directory
UXC helps agents and automation discover and invoke APIs and tools across OpenAPI, MCP, GraphQL, gRPC, and JSON-RPC through one consistent workflow.
From discovery to structured invocation, UXC aims to keep calling patterns consistent across protocols while handling auth, output formatting, and protocol-specific differences behind the scenes.
Start Here
Most flows follow the same path:
uxc <host> -h
uxc <host> <operation_id> -h
uxc <host> <operation_id> key=value
Argument styles:
# nested fields
uxc <host> <operation_id> filter.status=active items[0].id=1
# one field as JSON
uxc <host> <operation_id> filter:='{"status":"active"}' tags:='["rust","cli"]'
# full payload
uxc <host> <operation_id> '{"filter":{"status":"active"}}'
Example:
uxc petstore3.swagger.io/api/v3 -h
uxc petstore3.swagger.io/api/v3 get:/pet/{petId} -h
uxc petstore3.swagger.io/api/v3 get:/pet/{petId} petId=1
Why UXC
Remote capabilities are easy to access in isolation, but hard to reuse consistently across systems.
Common friction points:
- each protocol has its own discovery and invocation style
- auth setup is scattered across shell scripts, prompts, SDKs, and local config
- tool and schema details are hard to inspect before execution
- automation breaks when output shape and error handling differ by provider
- local agent workflows do not want one-off wrappers for every service
UXC exists to turn schema-described remote capabilities into one reusable CLI entrypoint for agents, skills, scripts, and local applications.
How It Works
UXC keeps the top-level interaction model simple:
- Discover what a host exposes.
- Inspect the shape of a specific operation.
- Invoke with structured arguments.
- Reuse the same calling pattern across protocols.
This makes remote interfaces feel more like a stable command surface than a collection of protocol-specific request styles.
Why Not curl, SDKs, or MCP-Only Tooling
curl
curl is request-first. It is excellent when the caller already knows the URL,
method, headers, and payload shape.
UXC is discovery-first. It helps callers inspect what is available, understand expected input shape, and invoke with a more stable command contract.
Provider SDKs or protocol-specific CLIs
Provider SDKs can be deep and powerful, but each one introduces its own usage model, auth conventions, and output shape.
UXC trades provider-specific ergonomics for a shared interface across many providers and protocol families.
MCP-only tool calling
MCP is an important part of the ecosystem, but many useful systems are exposed through OpenAPI, GraphQL, gRPC, or JSON-RPC instead.
UXC is designed to unify MCP with those adjacent protocol surfaces rather than stopping at MCP-only workflows.
What You Get
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io