Skip to content

v0.3.0 — Table datasets with aliases, DELETE /mcp, SSE hardening

Choose a tag to compare

@multideskio multideskio released this 27 Jul 12:53
· 2 commits to main since this release

Added

  • Table datasets with aliases (database.datasets): the AgentPress > API Keys screen now has a searchable table picker (every table in the database). Each selected table gets an alias — the AI agent only ever sees and uses that alias, never the real table name.
  • DELETE /mcp endpoint for explicit session termination (Streamable HTTP, per the MCP spec).
  • Mcp-Session-Id header returned on the initialize response.
  • Configurable SSE ping interval (agentpress_sse_ping_interval, default 15s) in Settings.

Changed

  • db_list_tables/db_describe no longer expose the real table name for keys on the older format (database.tables) — the wp_ prefix is stripped from the name shown to the agent. Permission logic and executed SQL are unchanged for existing keys.
  • SSE keepalive loop now runs at 1-second granularity — ping cadence and idle-timeout checks are more precise and configurable.

Fixed

  • Auth::can() was incorrectly denying the database permission group in tools/list/tools/call for any admin-configured key — db_query/db_insert/db_update/db_list_tables now work correctly.
  • SSE connection slot release now uses register_shutdown_function() — verified against a real instance (Docker + WordPress + MySQL) that without this, the slot was only released after the 10-minute safety-net TTL, even for connections that had been dead for a long time.

Compatibility: API keys created on previous versions keep working with no configuration changes required.

Full changelog: https://github.com/multideskio/agentpress/blob/main/CHANGELOG.md