uxc is a Claude Code plugin with 62 hand-picked skills, indexed on Flowy in the API Design category.
$ npx -y skills add holon-run/uxc --agent claude-code
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.
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
Remote capabilities are easy to access in isolation, but hard to reuse consistently across systems.
Common friction points:
UXC exists to turn schema-described remote capabilities into one reusable CLI entrypoint for agents, skills, scripts, and local applications.
UXC keeps the top-level interaction model simple:
This makes remote interfaces feel more like a stable command surface than a collection of protocol-specific request styles.
curlcurl 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 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 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.
<host> -h and <host> <operation_id> -h:= per-field JSON, or positional JSON payloadsUXC currently supports these protocol families behind one CLI contract:
Related runtime support also includes:
UXC is intended for more than public demo endpoints. It includes reusable auth and binding primitives for real provider integrations.
Supported auth patterns include:
The main auth model is:
That keeps auth setup reusable instead of embedding secrets and rules into every individual command.
UXC is not only a CLI entrypoint. This repository also ships a growing set of official skills built on top of the shared execution layer.
Representative categories include:
playwright-mcp-skill, chrome-devtools-mcp-skillcontext7-mcp-skill, deepwiki-mcp-skillnotion-*, slack-*, discord-*, telegram-*dune-*, etherscan-*, thegraph-*, coinmarketcap-*Use the base uxc skill as the shared execution layer, then add wrapper skills
when a service-specific workflow is worth packaging.
See the Skills Directory for the full skill catalog and
docs/operations/skills.md for publish and maintenance logs.
UXC is a good fit for:
UXC is not:
brew tap holon-run/homebrew-tap
brew install uxc
curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh | bash
Review before running:
curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh -o install-uxc.sh
less install-uxc.sh
bash install-uxc.sh
Install a specific version:
curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh | bash -s -- -v v0.19.0
Windows note: native Windows is no longer supported; run UXC through WSL.
cargo install uxc
git clone https://github.com/holon-run/uxc.git
cd uxc
cargo install --path .
uxc petstore3.swagger.io/api/v3 -h
uxc petstore3.swagger.io/api/v3 get:/pet/{petId} petId=1
uxc countries.trevorblades.com -h
uxc countries.trevorblades.com query/country code=US
uxc mcp.deepwiki.com/mcp -h
uxc mcp.deepwiki.com/mcp ask_question '{"repoName":"holon-run/uxc","question":"What does this project do?"}'
uxc fullnode.mainnet.sui.io -h
uxc fullnode.mainnet.sui.io sui_getLatestCheckpointSequenceNumber
UXC is JSON-first by default.
Use --text or --format text for human-readable CLI output.
Success responses return a stable JSON envelope with fields such as:
okkindprotocolendpointoperationdatametaThis makes UXC easier to consume from agents, scripts, and local applications.
For local app integration, UXC also ships an official Node/TypeScript client:
npm install @holon-run/uxc-daemon-client
It connects directly to the local daemon socket and returns structured objects instead of CLI stdout envelopes.
Use it when embedding UXC into applications that need runtime calls, daemon status, or subscription lifecycle and event streaming.
For generated runtime clients (#334), you can export host-scoped codegen input from CLI and generate a typed TypeScript client through the daemon client:
uxc <host> --codegen-schema
import { UxcDaemonClient } from "@holon-run/uxc-daemon-client";
const runtime = new UxcDaemonClient();
const source = await runtime.generateTypeScriptClient({
endpoint: "https://petstore3.swagger.io/api/v3",
options: { no_cache: true },
emitter: { className: "PetstoreClient" },
});
See the daemon API docs for the daemon contract.
--schema-url: https://uxc.holon.run/reference/schema-mapping/docs/operations/skills.mddocs/operations/release.mdContributions are welcome.
CONTRIBUTING.mdMIT License. See LICENSE.
uxc is a Claude Code plugin with 62 hand-picked skills, indexed on Flowy in the API Design category. Install it with the command on its page. It includes alchemy-openapi-skill, binance-spot-openapi-skill, binance-spot-websocket-skill. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it