Skip to content
Docs menu

Tool reference · Team server (remote)

memory_update

Replaces a record’s content with a new version, but only if nobody changed it since the revision you read.

team server /mcp
Caution. The update returns a NEW id (data.id) and the old id becomes superseded. Use the new id and its revision for any further edits. A stale expected_revision, or a record that is no longer active, is refused with a conflict; read the record again before retrying.

When to use

  • A team decision changed and the stored text is out of date.
  • You want the change, its reason and its author kept in history.
  • Several people or agents may edit the same record and you must not overwrite someone else’s edit.

Parameters

NameTypeDefaultDescription
scope { kind, team_id } — —
idrequired integer — —
request_id string (uuid) — —
expected_revisionrequired integer — —
contentrequired string — (min length 1, max length 200,000)
reasonrequired string — (min length 1, max length 2,000)

Example

Arguments

{
  "scope": {
    "kind": "team",
    "team_id": "engineering"
  },
  "id": 812,
  "request_id": "6d2a9f10-3b7c-4e21-8f45-a0c1d2e3f4a5",
  "expected_revision": 1,
  "content": "Use pgbouncer in transaction mode; session mode only for the migration runner.",
  "reason": "Migrations need session-level advisory locks"
}

Result shape

{
  "scope": {
    "kind": "team",
    "team_id": "engineering"
  },
  "scope_tags": [
    "scope:team",
    "team:engineering"
  ],
  "data": {
    "id": 815,
    "type": "decision",
    "content": "Use pgbouncer in transaction mode; session mode only for the migration runner.",
    "project": "billing-api",
    "status": "active",
    "created_by": {
      "user_id": "vasya",
      "display_name": "Vasya",
      "client": "codex"
    },
    "updated_by": {
      "user_id": "petya",
      "display_name": "Petya",
      "client": "claude-code"
    },
    "revision": 1,
    "saved": true,
    "deduplicated": false,
    "privacy_redacted": false,
    "previous_id": 812
  }
}

Type, project, tags and context are copied from the old record. The original author is kept in created_by; you appear in updated_by.

Values are illustrative; the keys follow the server's handler. MCP clients receive the result as JSON text content.

Server description

The description the server sends to your agent in tools/list, captured from the v14.7.0 source:

Replace an exact record with revision checking; returns its new ID.

Found a mistake? Open an issue on GitHub.

Search