Reference

MCP resources

The six vault:// URIs the Personify MCP server exposes — usage and sample shapes.

In MCP, a resource is a stable URI the client can fetch on demand or attach as context. Personify's server exposes six.

URIDescription
vault://statsVault summary — same payload as the stats tool.
vault://recentThe last ~25 items, most recent first.
vault://sourcesSource registry with per-source accounts.
vault://item/{item_id}One item by id. Body truncated to 4 KB.
vault://entity/{entity_id}One entity with aliases and evidence.
vault://export/{export_id}One raw export with run history and item count.

The first three are static URIs that always exist. The last three are template URIs — the client substitutes the {...} segment with a concrete id.


vault://stats

Same payload as the stats tool. Useful as a default piece of context Claude pulls in at the start of a session.

Sample response

json
{
  "items": 128402,
  "exports": 12,
  "runs": 14,
  "items_per_source": { "gmail": 82140 },
  "items_per_account": { "myname@example.com": 82140 },
  "sources": [{ "slug": "gmail", "label": "Gmail" }],
  "accounts": [{ "handle": "myname@example.com", "display_name": null }]
}

vault://recent

The 25 most recent items across the whole vault. Like recent_items() with no filter and limit 25.

Sample response

json
{
  "items": [
    {
      "id": 91201,
      "source": "gmail",
      "kind": "email",
      "ts": "2026-05-03T08:14:00Z",
      "title": "Re: Q2 plan"
    }
  ]
}

vault://sources

The source registry annotated with the accounts present for each source.

Sample response

json
[
  {
    "slug": "gmail",
    "label": "Gmail",
    "created_at": "2026-04-12T08:14:00Z",
    "accounts": ["myname@example.com"]
  },
  {
    "slug": "github",
    "label": "GitHub",
    "created_at": "2026-04-12T09:01:00Z",
    "accounts": ["my-org", "personal"]
  }
]

vault://item/{item_id}

One item by id. The body field is truncated to 4 KB to keep the payload prompt-sized — use the get_item(include_body=true) tool if you need the untruncated text.

Example URI

code
vault://item/4127

Sample response

json
{
  "id":      4127,
  "source":  "github",
  "account": "my-org",
  "kind":    "code",
  "ts":      "2025-11-04T12:14:00Z",
  "title":   "src/borrow.rs",
  "body":    "fn check_borrow(...) { ... [truncated at 4096 chars]",
  "tags":    [{ "key": "topic", "value": "rust" }],
  "metadata": { "repo": "my-org/borrowctl", "path": "src/borrow.rs" }
}

vault://entity/{entity_id}

One entity with its aliases and evidence (item-grounded mentions).

Example URI

code
vault://entity/81

Sample response

json
{
  "entity": { "id": 81, "type": "Project", "name": "Personify", "canonical_name": "personify" },
  "aliases": [{ "id": 9, "alias": "the vault", "normalized_alias": "the vault", "source": null }],
  "evidence": [
    {
      "id": 22,
      "source_type": "item",
      "source_id": 4127,
      "quote": "Personify is a local-first personal data vault."
    }
  ]
}

vault://export/{export_id}

One raw export with its run history and the count of items it contributed.

Example URI

code
vault://export/7

Sample response

json
{
  "id": 7,
  "source": "chatgpt",
  "account": "myname@example.com",
  "filename": "chatgpt-export.zip",
  "sha256": "9c3a...",
  "status": "ingested",
  "items_count": 4210,
  "runs": [
    {
      "id": 11,
      "started_at": "2026-04-12T08:14:00Z",
      "status": "completed",
      "items_added": 4210
    }
  ]
}