๐ค MCP Server for AI Agents
Ivory now exposes its features over the Model Context Protocol, so an AI agent (Claude, Cursor, Codex, VS Code, โฆ) can read a cluster's health and operate it in plain language โ "why is replica 2 lagging?", "what's blocking my queries?", "switch the leader to node 3".
- Streamable HTTP endpoint at
/api/mcp, served on the same address and port as the web UI - Same permissions as the user: every tool is gated by the signed-in user's permissions, exactly like the UI
- Everything Ivory knows becomes one conversation: node roles, replication lag, pending restarts, drift warnings, VM metrics, container logs and saved diagnostic queries
- New Settings โ Integrations โ MCP Server screen: shows the endpoint, generates a token and gives a ready-to-copy config for Claude Code, Cursor, VS Code, Codex, Antigravity, IntelliJ IDEA and Claude Desktop
- New check tools:
checkendpoints for clusters, keepers, platforms and database connections, so an agent (or you) can verify connectivity step by step - Cross-origin protection on the MCP handler
See the MCP server docs for setup, the tool list and permissions.
๐ Authentication
- Session tokens for agents:
POST /auth/tokenmints a bearer token with a lifetime you pick (1h / 6h / 1d / 15d / 30d, never unlimited). It writes no cookie, can't mint another token, and is re-checked against the user store - Login sessions renew themselves: an active browser stays signed in, and an idle one signs out after 30โ60 minutes
- Common request validation: every HTTP and MCP request is validated through the same binding rules, so both report errors the same way
๐ Cluster Deployment
- Cluster deploy and node deploy behave the same way, sharing one flow and one dialog
- Per-step deploy status: each node reports its
deployandinitializesteps asdone,failedorskipped, so a partial deploy is obvious - Container inspect for deployed nodes
๐ฉบ Keeper Health & Monitoring
- More warnings from keeper adapters: engines now report more of what theyto the node they actually happened on
- Warnings merged for the same node across responses
- Lag display fixed across engines. An unreachable node now reports unknown lag (
-1) instead of0 - Better Postgres lag check
- Fewer requests to etcd
- Fixed ClickHouse plugin delay
- Fixed the keeper request sharing the same timeout as the cluster request
- Built-in queries are updated on restart unless the user changed them
๐จ UI & Branding
- New butterfly logo and favicon
- Header fixed to fit mobile screens
- Improved docs and README
๐งน Maintenance
- Router files split by transport (
HttpRouter/McpRouter), with transport types namedRouter*** - Go warnings fixed
- Dependency bumps
โ ๏ธ Compatibility
No fresh installation required. v2.1.0 is a drop-in upgrade from v2.0.0: storage and backup format (ivory.v2.bak) are unchanged.
After upgrading:
- New permissions
view.cluster.check,view.node.keeper.check,view.node.py.db.checkare added. Superusers get them automatically; grant them to otherusers in Settings โ Permissions if needed - Browser sessions now expire after inactivity rather than at a fixed time
What's Changed
Full Changelog: v2.0.0...v2.1.0
Changed: 246 files (+9,489, -1,939 lines)