
This release covers the `@yugabytedb/meko-mcp` installer, the Meko MCP server, and the Claude Code, Claude Desktop, Cursor, and Codex agent skills. It makes installation and automatic capture more reliable, tightens the public MCP contract, and publishes a self-contained behavioral-skills plugin.

### New features

#### Installer and skills

- **Self-contained public skills plugin** — the publication pipeline now produces a complete Claude Code plugin with hooks, references, and connector metadata. Generated output is checked for drift, secrets, prompt injection, manifest validity, version consistency, and tool-catalog consistency before publishing.
- **Safer memory promotion** — the skills now preview the exact memories, explain team visibility and removal from private memory, require explicit confirmation, and enforce the owner/maintainer permission boundary before calling `memory_promote`.

### Improvements

#### Installer

- **Production is the default for fresh installs** — if no selected client already has Meko configured and you don't pass `--url`, the installer uses `https://mcp.mekodata.ai/mcp`. An explicit URL still wins, and consistent existing custom or development URLs are preserved.
- **Public HTTPS marketplace source** — the new standalone Claude Code plugin is distributed from `https://github.com/yugabyte/meko-skills.git`. The installer-packaged skills remain available as before.
- **Capture failures stay visible** — quota and HTTP `402`/`403` failures no longer advance the capture watermark. The next SessionStart reports the problem, and a successful retry clears the warning.
- **Claude Code capture starts reliably** — checkpoint capture starts even when SessionStart runs before the transcript file exists, and stale workers are cleaned up safely.
- **Codex hook compatibility** — SessionStart emits Codex's strict JSON shape, while SessionEnd securely hands work to a detached process and returns within Codex's three-second deadline.

#### MCP server

- **23-tool default surface** — experimental conversation-search tools are hidden unless enabled. `conversation_search` is no longer a standalone default tool.
- **More precise contracts** — `conversation_list` accepts an optional `datapack_id`; `datapack_update` changes a datapack's name and description; stale count and credential-shaped response fields are omitted; and Claude Desktop receives `conversation_add_message.plan` as an optional array instead of a JSON string.
- **Behavior lives in versioned skills** — MCP tool descriptions focus on function and inputs, while capture, identity, memory, and reasoning workflows live in the behavioral skills.

#### Skills

- **Correct cross-agent reads** — `memory_search`, `memory_get_all`, and `conversation_list` span the current user's agent namespaces within the datapack. The `agent_id` on these calls is for trace attribution, so agents no longer need to fan out one search per agent. `conversation_get` remains agent-owned.
- **Updated identity and tracing guidance** — the skills distinguish authenticated `user_id` from legacy `app_id`, document optional trace IDs, and use conversation IDs consistently.
- **Better Claude Desktop behavior** — bare recall prompts such as "what do you know about me?" activate the skill, and the datapack selector displays the caller's actual grant.

### Changes

#### MCP server

- **Breaking: tool-level `scope` retired** — stop sending `scope="read"`, `"write"`, or `"admin"` on MCP tool calls. Authorization is enforced by authenticated identity and datapack grants. New clients no longer see `scope` in tool schemas. A temporary compatibility shim currently strips the obsolete argument from older clients; that shim will be removed in a future release. Rerun the installer or install the current plugin from [`yugabyte/meko-skills`](https://github.com/yugabyte/meko-skills) so hooks and skills stop sending it. Installer flags such as `--scope user|project` are unrelated and remain supported.
- **`flush_pending_memory_candidates` removed** — saving a turn through `conversation_add_message` triggers asynchronous server-side extraction. There is no replacement flush tool.
- **Implicit extraction remains the default** — agents save substantive turns and let Meko extract durable facts. Explicit `memory_add` remains appropriate for direct "remember this" requests, assistant/tool-only facts, and corrections that must replace stale memory.

### Known limitations

- **Cursor automatic capture is incomplete** — normal Cursor turns emit `stop`, but the 2.1.0 installer relies on lifecycle events that don't reliably fire during ordinary archive and new-chat workflows. Don't rely on every Cursor turn being captured automatically in this release.
- **Codex automatic transcript capture isn't functional** — the capture parser doesn't yet understand Codex `response_item` records and can advance its watermark after extracting no exchanges. Use explicit save or remember requests.
- **Codex uses the Claude Code namespace** — Codex sessions currently derive `claude_code:<project>` rather than `codex:<project>`.
- **Cursor and Codex don't have guided datapack selectors** — name a datapack in an on-demand prompt; automatic-capture pin management remains available only in Claude Code and Claude Desktop.
- **Claude Desktop automatic capture is model-dependent** — Sonnet- and Opus-class models require the Instructions for Claude snippet described in [Troubleshooting](../../../troubleshooting/#common-problems-installing-and-connecting).
- **Automatic extraction is best-effort** — it can miss an individual fact. Use explicit `memory_add` for anything that must not be lost.
- **A datapack pin change doesn't move the current conversation** — the change normally applies to the next session.

### Install or upgrade

```bash
npx @yugabytedb/meko-mcp@2.1.0
```

See the [upstream release](https://github.com/yugabyte/meko-mcp-server/releases/tag/v2.1.0) and [skills changelog](https://github.com/yugabyte/meko-mcp-server/blob/v2.1.0/skills/CHANGELOG.md#210---2026-07-24) for complete implementation and release-quality details.
