uxc
Universal API calling CLI for URL-first discovery and invocation across OpenAPI, gRPC, GraphQL, MCP, and JSON-RPC.
claude mcp add --transport stdio holon-run-uxc cargo run --bin uxc
How to use
UXC is a universal CLI that can discover and invoke a variety of remote interfaces (OpenAPI, GraphQL, gRPC, MCP, and JSON-RPC) from a single URL-first contract. When used as an MCP client, UXC can call MCP endpoints exposed by a server over HTTP or as a local stdio-based MCP daemon. You can discover available MCP operations, inspect their inputs, and execute them with structured key=value arguments. Example MCP usage includes invoking an MCP endpoint by name (for example, ask_question) on a host exposing an MCP surface, and optionally using a specific repository or data payload as part of the request. The tool keeps responses in deterministic JSON envelopes, aiding automation and agent workflows. Use UXC as the single contract layer to reach multiple protocols behind one execution surface, including MCP.
Typical MCP workflows with UXC:
- Discover an MCP surface: uxc mcp.example.com/mcp -h
- Inspect an operation: uxc mcp.example.com/mcp ask_question -h
- Call an operation with arguments: uxc mcp.example.com/mcp ask_question repoName=holon-run/uxc question="What does this project do?"
You can also use the stdio-based MCP support for local processes. For stdio, the URL is the quoted command line, enabling you to connect to a locally launched MCP daemon or a one-off MCP CLI invoked via a process launcher. This makes it easy to integrate MCP workflows into your agent runtimes or automation pipelines without preloading large tool definitions into prompt context.
How to install
Prerequisites:
- Rust and Cargo installed on your system (for building or installing the UXC CLI from source).
- Optional: Homebrew on macOS/Linux for convenience:
- brew tap holon-run/homebrew-tap
- brew install uxc
Install methods:
-
From source (builds a local binary):
- git clone https://github.com/holon-run/uxc.git
- cd uxc
- cargo install --path .
-
Install via Cargo (publishes the prebuilt binary from crates.io if available):
- cargo install uxc
-
Install using the official install script (macOS/Linux):
- curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh | bash
- Optional: install a specific version
- curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh | bash -s -- -v v0.9.0
Windows users note: native Windows support is deprecated; use WSL to run UXC.
After installation, verify:
- uxc --version
- Ensure uxc is in your PATH and can be invoked from your shell.
Additional notes
- MCP support in UXC covers HTTP-based MCP endpoints and MCP via stdio (local process invocations).
- For MCP stdio, you can launch a local command as the endpoint and connect to it via a quoted command line, enabling stable, repeatable operation names across invocations.
- When invoking MCP operations, you can typically pass key=value pairs for structured arguments; complex objects can be provided as JSON strings.
- If you rely on external tooling (e.g., grpcurl for gRPC, or OpenAPI/GraphQL tooling), ensure those executables are on your PATH when required by the corresponding adapters.
- For authentication and endpoint bindings, UXC supports credential sources and environment-based bindings; consult the architecture docs for details on configuring credentials and token-based access.
- If you encounter issues with MCP HTTP endpoints, verify the host URL and that the MCP surface is exposed at the /mcp path (or the configured path for your server).
Related MCP Servers
grafbase
The Grafbase GraphQL Federation Gateway
automagik-genie
🧞 Automagik Genie – bootstrap, update, and roll back AI agent workspaces with a single CLI + MCP toolkit.
mcp-jest
Automated testing for Model Context Protocol servers. Ship MCP Servers with confidence.
local -gateway
Aggregate multiple MCP servers into a single endpoint with web UI, OAuth 2.1, and profile-based tool management
xcatcher -manifest
Agent-first Remote MCP for X (Twitter) batch crawling with x402 USDC top-up (Base/Solana). Includes OpenAPI + copy-paste ADK/curl E2E examples.
devir
Dev Runner CLI - Terminal UI for managing multiple dev services with colored logs, filtering, and MCP integration for Claude Code