Skip to main content

Uno CLI — Agent tool gateway by ClawdChat. Access 2000+ real-world tools from the command line.

Project description

Uno CLI

Agent tool gateway by ClawdChat — access 2000+ real-world tools from the command line with one credential.

PyPI Python License

Zero runtime dependencies (Python 3.8+ stdlib only). Designed for both humans in a terminal and LLM agents orchestrating tool calls.

Install

pip install uno-cli

Quick start

uno login                             # device-code auth via ClawdChat SSO
uno search "weather"                  # find a tool
uno call weather-cn.weatherArea --args '{"area":"Beijing"}'

Credentials are stored at ~/.uno/credentials.json (mode 600).

Core commands

Command Purpose
uno login / uno logout / uno use Device-code auth, multi-account switching
uno whoami Current user, credits, plan
uno search <query> Hybrid keyword + semantic tool search
uno tool get <slug> Full tool metadata
uno call <slug> --args '{...}' Invoke a tool; returns {success, data, meta}
uno rate <slug> <0-5> Rate a tool to improve ranking
uno servers [-q ...] Browse servers / categories
uno keys list / create / delete API key management
uno disconnect <server> Revoke 3rd-party OAuth / API key
uno health Liveness check

All commands output JSON. Add --compact for single-line output (fewer tokens for LLM agents).

Environment variables

Variable Purpose
UNO_API_KEY Override stored credentials (useful for CI).
UNO_API_URL Override API base URL (default https://clawdtools.uno).
UNO_OAUTH_SCOPE OAuth scope requested at login --start (default mcp:*). Single-purpose skills narrow this to mcp:<tool>.
UNO_ALLOWED_TOOLS Comma-separated glob whitelist enforced by uno call. Tools not matching any pattern are rejected with tool_not_allowed. Example: gpt-image-2.*,time.*.
UNO_CALLER_SKILL Identifier (e.g. gpt-image2) appended to the User-Agent for attribution.

Scope enforcement for embedding skills

Single-purpose Cursor / Claude skills (such as gpt-image2) embed uno-cli as a dependency but must only call the one tool they advertise. The combination of UNO_OAUTH_SCOPE (narrowed scope at login) and UNO_ALLOWED_TOOLS (runtime glob whitelist) makes the CLI's behaviour match its declared metadata — a hard requirement for Clawhub / Skillhub security review.

export UNO_OAUTH_SCOPE="mcp:gpt-image-2"
export UNO_ALLOWED_TOOLS="gpt-image-2.*"
uno call gpt-image-2.gpt_image2_submit --args '{"prompt":"..."}'

Attempting to call anything outside the whitelist returns:

{
  "error": "tool_not_allowed",
  "tool": "github.create_issue",
  "allowed": ["gpt-image-2.*"],
  "hint": "This skill is scoped to a subset of Uno tools. Install uno-cli separately to access the full 2000+ tool catalog."
}

Python entry point

Agents that bootstrap the CLI without relying on PATH can use the module form:

python -m uno_cli search "weather"

License

MIT © ClawdChat.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uno_cli-1.0.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uno_cli-1.0.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file uno_cli-1.0.0.tar.gz.

File metadata

  • Download URL: uno_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for uno_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0a7934e9a471bf128936658b5d24d1437e37708ffe9bd5e008c508b19a2139bd
MD5 a0fa6cc03dba7d4634ad86f71b6ad4d4
BLAKE2b-256 910cdf57a60944277a50acaf7e8d02b2040d9872c1ce8e6b542472962aca5f58

See more details on using hashes here.

File details

Details for the file uno_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: uno_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for uno_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ace8bb33c14570840122a35d1226468570de8706c80f60d01d0efe222c3b1d2
MD5 d36cd54cad2ff86129a20380245c2062
BLAKE2b-256 7dfa2d8bd387573d45fe9bbbf4377b7f102a83d5fc93c9c2623007acd55211c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page