The CLI for LLM agents
Run agentic workflows against Gmail, Slack, JIRA, WhatsApp, and 14 more — over MCP, in GitHub Actions, or as a daemon. One binary, encrypted vault, no third-party servers.
Built for agents, not humans
Output shaped for LLMs
Every command emits structured, parseable output. JSON when you need it; predictable text otherwise.
Encrypted vault, multi-profile
Credentials are AES-256-GCM-encrypted in ~/.config/agentio/vault.enc. One binary, many identities per service.
MCP + CLI + Actions
Same binary serves a stdio MCP server to Claude Code, an HTTP MCP server with OAuth, and runs unchanged inside GitHub Actions.
Connect once, automate everywhere
Read, search, send, label, and export email at scale.
Post to channels via incoming webhooks.
Send messages and run a real-time inbox via the daemon.
Post to spaces and read messages from authorized rooms.
Real-time messaging and full group management via the daemon.
Search issues with JQL, comment, transition.
Read and write Confluence pages.
Install agentio secrets to a repo for GitHub Actions runs.
Read forum topics and categories.
Parse arbitrary RSS / Atom feeds.
Run queries against PostgreSQL or MySQL databases.
Read and create Docs as Markdown, text, or HTML.
List, search, download, and upload files.
Read and write spreadsheet ranges.
Read and update presentation content.
Manage your task lists.
Read and create calendar events.
Manage and run Apps Script projects.
Drop into Claude Code
One command writes a .mcp.json that exposes your selected services as MCP tools. Stdio for local clients; HTTP with OAuth for hosted ones.
$ agentio mcp install gmail:work slack:team rss
Wrote .mcp.json
MCP server command: agentio mcp serve gmail:work slack:team rss
For remote deploys: agentio mcp teleport <name> ships an HTTP MCP server to a siteio-managed remote with OAuth, in one command.
Schedule agents in CI
name: daily-summary
on:
schedule: [{ cron: '0 9 * * *' }]
jobs:
summarize:
runs-on: ubuntu-latest
steps:
- uses: oven-sh/setup-bun@v2
- run: bun add -g agentio
- env:
AGENTIO_KEY: ${{ secrets.AGENTIO_KEY }}
AGENTIO_CONFIG: ${{ secrets.AGENTIO_CONFIG }}
run: |
agentio gmail list --query "is:unread" --limit 20 \
| claude -p "summarize these in 3 bullets" \
| agentio slack send --channel team-updates
agentio github install <owner/repo> installs the two secrets above for you.
Real-time, when you need it
For services that need a persistent connection (WhatsApp, Telegram inbox) or scheduled runs (folder-watched .run.md files), agentio daemon start runs a single background process. Schedules are host-pinned so Dropbox-synced folders never double-fire.
One line
macOS / Linux
curl -LsSf https://agentio.me/install | sh
Windows
iwr -useb https://agentio.me/install.ps1 | iex
Update later with agentio update.
Common questions
Is agentio free?
Yes — MIT-licensed, self-hosted. No accounts, no telemetry.
Where are my credentials stored?
In an encrypted vault at ~/.config/agentio/vault.enc, AES-256-GCM. The passphrase is machine-bound by default; you can supply one via AGENTIO_PASSPHRASE.
Do I need the daemon?
Only for WhatsApp, the Telegram inbox, scheduled .run.md runs, and the HTTP MCP server. Everything else runs as a one-shot CLI invocation.
Can I use it without an LLM?
Yes. It's a regular CLI — pipe its output into anything.
How is this different from Zapier?
You own the credentials and the workflow definitions. Runs in your CI or on your machine; no third-party servers in the path.