Uni-CLI
Uni-CLI is a command-line tool that gives AI agents a unified interface to search, run, inspect, and repair operations across web, browser, desktop, local, and MCP surfaces. It solves the problem of fragmented tooling by providing a single catalog of commands and adapters for many sites and applications. It is for developers building agent-based automation or integrating with AI agents.
✨ Key features
- Unified CLI for web, browser, desktop, local, and MCP operations.
- Static catalog of 338 sites and 1891 registered commands.
- Structured output in JSON, YAML, CSV, or compact formats.
- Repair drift with bounded verification and local overrides.
- Evolve adapters with paired evaluation and promotion gates.
- Supports MCP stdio and Streamable HTTP servers.
🎯 Use cases
- Search and retrieve data from sites like Hacker News or arXiv.
- Automate browser actions like exporting saved posts from Reddit.
- Control desktop applications via accessibility references.
- Integrate with AI agents via MCP or native CLI.
- Repair failing commands by patching adapter YAML files.
📦 Installation
🧰 Requirements: Requires Node.js and npm; no API keys mentioned for basic use, but some operations may need authentication.
npm install -g @zenalexa/unicli
🚀 Usage
unicli search "list the top Hacker News stories"
unicli hackernews top --limit 3 -f json
❓ FAQ
How do I update Uni-CLI?
Run unicli upgrade --check -f json to check for updates, or unicli upgrade to update interactively. Use --no-auto-update to disable automatic updates.
What output formats are supported?
Piped output defaults to Markdown, but you can use -f json, yaml, csv, or compact for machine-readable formats.
How can I use Uni-CLI with MCP?
Add the MCP server configuration to your client, or run npx -y @zenalexa/unicli mcp serve to start the server.
How do I repair a failing command?
Run unicli repair <site> <command> to rerun the command as a bounded subprocess and verify it returns ok: true with exit code 0.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.