UXC
Universal X-Protocol CLI
UXC is a universal X-protocol CLI that lets you discover and invoke OpenAPI, gRPC, GraphQL, MCP, and JSON-RPC interfaces directly from a URL.
It turns remote schema-exposed interfaces into executable command-line operations without SDKs, code generation, or endpoint pre-registration.
What Is UXC
Modern services increasingly expose machine-readable interface metadata. UXC treats those schemas as runtime execution contracts:
- Discover operations from a host
- Inspect operation inputs/outputs
- Execute operations with structured input
- Return deterministic JSON envelopes by default
If a target can describe itself, UXC can usually call it.
Why It Exists
Teams and agents often need to interact with many protocol styles: OpenAPI, GraphQL, gRPC, MCP, and JSON-RPC.
Traditional workflows create repeated overhead:
- language-specific SDK setup
- generated clients that drift from server reality
- one-off wrappers for each endpoint
- large embedded tool schemas in agent prompts
UXC provides one URL-first CLI contract across protocols.
Why UXC Works Well With Skills
UXC is a practical fit for skill-based agents:
- On-demand discovery and invocation, without preloading large MCP tool definitions into prompt context
- Portable by endpoint URL and auth binding, not tied to per-user local MCP server names
- Reusable as one shared calling interface across many skills
Core Capabilities
- URL-first usage: call endpoints directly, no server alias required
- Multi-protocol detection and adapter routing
- Schema-driven operation discovery (
<host> -h,<host> <operation_id> -h) - Structured invocation (positional JSON, key-value args)
- Deterministic JSON envelopes for automation and agents
- Auth model with reusable credentials and endpoint bindings
- Host shortcut commands via
uxc link
Supported protocols:
- OpenAPI / Swagger
- gRPC (server reflection)
- GraphQL (introspection)
- MCP (HTTP and stdio)
- JSON-RPC (OpenRPC-based discovery)
Architecture Snapshot
UXC keeps protocol diversity behind one execution contract:
User / Skill / Agent
↓
UXC CLI
↓
Protocol Detector
↓
Adapter Layer
(OpenAPI/gRPC/GraphQL/MCP/JSON-RPC)
↓
Remote Endpoint
This design keeps invocation UX stable while allowing protocol-specific internals.
Target Use Cases
- AI agents and skills that need deterministic remote tool execution
- CI/CD and automation jobs that need schema-driven calls without SDK setup
- Cross-protocol integration testing with one command contract
- Controlled runtime environments where JSON envelopes and predictable errors matter
Non-Goals
UXC is not:
- a code generator
- an SDK framework
- an API gateway or reverse proxy
UXC is an execution interface for schema-exposed remote capabilities.
Install
Homebrew (macOS/Linux)
Install Script (macOS/Linux)
|
Review before running:
Install a specific version:
|
Cargo
From Source
Quickstart (3 Minutes)
Most HTTP examples omit the scheme for brevity.
For public hosts, UXC infers https:// when omitted.
- Discover operations:
- Inspect operation schema:
- Execute with structured input:
Use only these endpoint forms:
uxc <host> -huxc <host> <operation_id> -huxc <host> <operation_id> key=valueoruxc <host> <operation_id> '{...}'
Protocol Examples (One Each)
Operation ID conventions:
- OpenAPI:
method:/path(example:get:/users/{id}) - gRPC:
Service/Method - GraphQL:
query/viewer,mutation/createUser - MCP: tool name (example:
ask_question) - JSON-RPC: method name (example:
eth_getBalance)
OpenAPI
For schema-separated services, you can override schema source:
gRPC
Note: gRPC unary runtime invocation requires grpcurl on PATH.
GraphQL
MCP
JSON-RPC
Skills
UXC provides one canonical skill plus scenario-specific official wrappers.
Use uxc skill as the shared execution layer, and add wrappers when they fit your workflow.
| Skill | Purpose | Path |
|---|---|---|
uxc |
Canonical schema discovery and multi-protocol execution layer | skills/uxc/SKILL.md |
deepwiki |
Query repository documentation and ask codebase questions | skills/deepwiki/SKILL.md |
context7 |
Query up-to-date library documentation/examples over MCP | skills/context7/SKILL.md |
notion-mcp-skill |
Operate Notion MCP workflows with OAuth-aware guidance | skills/notion-mcp-skill/SKILL.md |
See docs/skills.md for install methods and maintenance rules.
Output and Help Conventions
UXC is JSON-first by default.
Use --text (or --format text) when you want human-readable CLI output.
Examples:
Note: In endpoint routing, help is treated as a literal operation name, not a help alias.
Success envelope shape:
Failure envelope shape:
Auth (Credentials + Bindings)
UXC authentication has two resources:
- Credentials: secret material and auth type
- Bindings: endpoint matching rules that select a credential
Example:
OAuth for MCP HTTP is supported (device code, client credentials, authorization code + PKCE).
See docs/oauth-mcp-http.md for full workflows.
Docs Map
- Extended quickstart and protocol walkthroughs:
docs/quickstart.md - Public no-key endpoints for protocol checks:
docs/public-endpoints.md - Logging and troubleshooting with
RUST_LOG:docs/logging.md - OpenAPI schema mapping and
--schema-url:docs/schema-mapping.md - Skills overview and install/maintenance guidance:
docs/skills.md - Release process:
docs/release.md
Contributing
Contributions are welcome.
- Development workflow and quality bar:
CONTRIBUTING.md - CI and release flows: GitHub Actions
License
MIT License - see LICENSE.