Skip to main content

ucli

Turn MCP servers and local scripts into CLI commands and agent skills for Codex, Claude Code, and Cursor.

Instead of loading every MCP tool schema into an agent's context, ucli gives it a skill and commands it can explore with --help. The MCP server remains the backend.

Install

Requires Python 3.11+ and macOS or Linux.

uv tool install ucli-tools
# Or: pip install ucli-tools

The package name is ucli-tools; the command is ucli. AI discovery and generation require an installed, authenticated Claude Code CLI. Each MCP server may need its own runtime and credentials.

Only install trusted servers, presets, and scripts: they run with your account's permissions. AI generation uses limited tools by default. UCLI_UNSAFE_AI=1 explicitly bypasses AI permission checks; it is not needed for normal use.

Quick start

Convert a server already configured in your agent client:

ucli mcp list
ucli mcp add mcp-atlassian
ucli mcp-atlassian --help
ucli mcp-atlassian jira issue search --jql 'project = DEMO'

Conversion generates or reuses CLI mappings and skills, syncs them to detected clients, and disables the original MCP registration. Add --skip-disable to keep it enabled. Commands depend on the server's mapping.

Install a new server:

ucli install mcp-atlassian --client codex

ucli mcp install does the same thing. Installation keeps existing client MCP registrations enabled. Use --client codex,claude,cursor to sync to multiple clients.

Photoshop example

Photoshop is one shipped integration. On macOS, with Photoshop open and Node.js 22, 24, or 26 installed:

ucli install ps
ucli ps app ping
ucli ps document create --width 1920 --height 1080
ucli doctor ps

This installs a pinned MCP backend and a ready-made CLI and skill without AI generation. See docs/photoshop.md in the source package for more details.

Common commands

Command Purpose
ucli list List shipped integrations and configured servers
ucli update <server> Update tools, CLI mappings, and skills
ucli uninstall <server> --dry-run Preview removal
ucli mcp tools <server> Inspect MCP tools
ucli skill sync <server> --targets codex Sync skills and disable the client's original MCP registration
ucli exec add <server> ./report.py --command-path 'report build' Add a local Python, shell, or Go helper

Run ucli --help or add --help to a command for more options.

Configuration lives in ~/.agents/ucli/servers.yaml. Skills sync to each client's skill directory; updates preserve your users/ and scripts/ content. After changing a running server's configuration, run ucli daemon reconnect <server>.

Presets reuse generated CLI mappings and skills. Only ps is currently shipped in the Python package. From a repository checkout, use ucli install <server> --preset-dir ./presets for other included presets. Remote preset downloads currently require a public GitHub registry.

Development

uv sync
uv build
uv run python -m unittest discover -s tests -v

UCLI_USER_HOME redirects ucli's configuration and skill destinations for isolated development. It does not isolate third-party apps or backends.

License

MIT. MCP servers and third-party applications have their own licenses and requirements.

Metadata

Release files for ucli-tools 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ucli-tools 1.1.0
File Size Uploaded Provenance Actions
ucli_tools-1.1.0.tar.gz 206.2 kB Without provenance Details for ucli_tools-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ucli-tools 1.1.0
File Interpreter ABI Platform Actions
ucli_tools-1.1.0-py3-none-any.whl Python 3 none any Details for ucli_tools-1.1.0-py3-none-any.whl

Total release size: 393.4 kB

Release files / ucli_tools-1.1.0.tar.gz

Download URL ucli_tools-1.1.0.tar.gz
Size 206.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bef576bbd4aab38179132f16d65b700e041f9d92864370dd2e806f8190c3b160
BLAKE2b-256 checksum
How to use checksums
7e0696ba5c1ad1d675f61f2cae6936f8cbee6b128a61a8605a05b2872700afb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Release files / ucli_tools-1.1.0-py3-none-any.whl

Download URL ucli_tools-1.1.0-py3-none-any.whl
Size 187.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a88e33e503e207ccaaf1d87b8924abf3c1027ca026d79212bbabfff460df5745
BLAKE2b-256 checksum
How to use checksums
8518409b3df51c7bd78150b2eb909b8f626ac33e4f7ce4d952a221f0d98579cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Security for ucli-tools 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page