github veegres/ivory v2.1.0

4 hours ago

๐Ÿค– 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: check endpoints 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/token mints 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 deploy and initialize steps as done, failed or skipped, 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 of 0
  • 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 named Router***
  • 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.check are 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)

Don't miss a new ivory release

NewReleases is sending notifications on new releases.