Give your coding agent real-world capabilities

Review, merge, deploy, monitor, respond to incidents, track issues — plain CLI commands, scoped to exactly the actions you allow.

omni-cli

Works with every coding agent — if it can run a command, it can use OmniCLI.

Cursor
Codex
Claude Code
Gemini CLI
Kiro
Aider
Define the surface

You pick the platforms and actions. The CLI exposes only those.

Build a definition in the dashboard — anything you leave unchecked simply doesn't exist to your agent.

Your definitionSelection Editor · v3
GitHub3 of 4 enabled
Get a pull request
Get the unified diff of a pull request
Submit a pull request reviewwrites
Merge a pull requestwrites
GitLab2 of 3 enabled
Get a merge request
List the file changes of a merge request
Merge a merge requestwrites
Jira2 of 3 enabled
Get an issue
Search issues with JQL
Transition an issue to a new statuswrites
resulting surface — omni-cli

Anything you didn't select simply doesn't exist in your CLI — the agent gets unknown command.

Every definition is cryptographically signed, so the surface your agent sees is exactly the one you approved — tamper-proof and enforced client-side.

Discovery

Your agent reads the contract before it runs anything.

--help is for humans. Your agent reads omni-cli discovery — JSON with the exact parameters and output schema for the action it's about to run.

omni-cli discovery
$ omni-cli discovery
{
"discovery_schema_version": "2.2.0",
"authenticated": true,
"platforms": [
{ "key": "github", "action_count": 21,
"mutating_count": 8 },
{ "key": "jira", "action_count": 14,
"mutating_count": 6 }
],
"operational_commands": ["context",
"definitions", "version", "errors",
"discovery"]
}

the index — only the platforms your definition allows

omni-cli discovery github issue.list
$ omni-cli discovery github issue.list
{ "action": {
"id": "issue.list",
"params": [
{ "name": "repo", "required": true,
"example": "octo/hello" },
{ "name": "state", "type": "enum",
"values": ["open", "closed"] }
],
"output_schema": { "type": "array", … },
"mutating": false,
"example_invocation":
"omni-cli github issue list --repo octo/hello"
} }

the full schema — fetched only for the action it will run

Why one CLI

One command line instead of a server per tool

One install works with every platform — instead of a separate server, config, and token for each tool.

Agents do only what you approved

Your signed definition decides. Unselected actions don't exist in the CLI — not disabled, absent.

Your agent can't touch your account

Signing in, signing out, and account changes are yours alone — your agent can't run them.

More room for your actual problem

Your agent looks up an action right before using it, instead of carrying every tool's description the whole time.

Nothing to build or maintain

Every platform is already modelled. No servers to host, no schemas to write.

See everything your agent did

One dashboard lists every run across your platforms — what ran, whether it worked, and which actions changed something.

Everyone runs the same setup

One install per person. Update the definition; connected machines follow.

MCP and OmniCLI aren't exclusive — run a server where you need a long-lived, stateful connection to one system, and one command line for everything else.

Connect in seconds

From zero to authorized in three commands

The browser handles login — never the agent. Here's the full GitHub flow, verbatim.

1

Log in once

Device flow: visit the link, enter the code. The browser handles login, not the agent.

$ omni-cli account login
→ Visit https://omnicli.io/device
enter code: WDJB-MZHT
2

Connect GitHub

Authorize GitHub once — your token is validated and stored locally.

$ omni-cli github login
→ Create a token at github.com/settings/tokens, then paste it
✓ GitHub authorized · token stored locally
3

Use it from any agent

Ask in plain language — the agent picks the scoped command and runs it. No tokens pasted, no secrets in prompts.

you Approve PR #42 if CI is green.
agent Checks passed — approving.
⌁ run omni-cli github pr review \
--repo octo/hello --number 42 \
--event APPROVE
✓ Review submitted · APPROVED
Security

Your credentials never leave your machine.

OmniCLI is the boundary between your agent and your tools — and it's built to keep secrets out of prompts.

Credentials stay local

Every token stays on your machine — never sent to agents, pasted into prompts, or off your device.

Scoped, per-platform actions

Agents run only the platforms and actions you turned on — like omni-cli github pr diff — and nothing more.

You stay in control

Each action is a signed, auditable CLI command with a fixed surface — no raw API access or arbitrary calls.

See the audit trail →

No silent retries

A failed action runs once and returns structured context, so your agent decides the next step — no duplicate PRs or deploys.

Usage & audit

Know exactly what your agent did

Every run is recorded — which platform, which action, and whether it succeeded — so giving your agent real capabilities never means losing sight of how they're used.

Every action, accounted forPer-platform and per-action run counts with success rates.
Writes stand outMutating actions like pr merge and deployment deploy are flagged, so side effects are easy to spot.
Team-wide visibilityAdmins see a rollup across every seat on the team — not just their own machine.
Failures, explainedA platform-error log shows every run a platform rejected — rate limits, expired tokens, missing permissions.
UsageMy usage · last 30d
Total runs
1,284
Success rate
98%
Platforms
6
Actions
14
GitHub512 runs · 99% ok
Datadog306 runs · 98% ok
Jira214 runs · 97% ok
pr mergeGitHubwrites38 runs · 100%
monitor searchDatadog289 runs · 98%
issue transitionJirawrites121 runs · 97%
Integrations

Every capability, from tools you already run

GitHubPull requests, checks, and issues
GitLabMerge requests, pipelines, and issues
BitbucketPull requests and pipelines
JiraIssue search, retrieval, and workflow
Octopus DeployReleases, deployments, tasks, and runbooks
SonarCloudQuality gates, issues, measures, and hotspots
GraylogLog search, aggregation, and triggered events
DatadogMonitors, metrics, logs, spans, SLOs, and Synthetics
SentryIssues, error events, logs, traces, alerts, and crons
PostHogLog search, error-issue triage, mute and routing rules
RollbarError-item triage, occurrences, versions, top-active reports
GrafanaDatasource queries, alert rules, contact points, policies
AxiomAPL log and error queries, MPL metrics, monitors and notifiers
Grafana LokiLogQL search, metric aggregation, labels, volume, patterns
PagerDutyIncident triage, notes, ack/resolve, on-call topology
Incident.ioIncidents, follow-ups, schedules, escalations, paging
AsanaTasks, projects, sections, comments, and attachments
NotionPage search, Markdown read/write, tables, and comments
LinearIssues, workflow states, labels, projects, cycles, comments
HarnessOrgs, projects, pipelines, input sets, and pipeline execution
CircleCIPipelines, workflows, jobs, artifacts, contexts, and schedules
SnykOrgs, projects, targets, vulnerability issues, SBOM export and testing
ClerkUsers, sessions, organizations, invitations, bans, locks and credential resets
See all 26 platforms and every action → More integrations on the way.

Same surface, any agent

Write one command and it runs identically whether it's Cursor, Codex, or Claude Code calling it. No per-agent setup, no glue scripts.

One vocabularyVerbs like pr create and issue transition mean the same thing everywhere.
Predictable outputStructured, scriptable results with clear success and failure states.
live demo — omni-cli

Give your agent its next capability

Sign up, pick your platforms and actions, and get a copy-paste install one-liner for your agents.

Get Started