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.
| URI | Description |
|---|---|
vault://stats | Vault summary — same payload as the stats tool. |
vault://recent | The last ~25 items, most recent first. |
vault://sources | Source 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
{
"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
{
"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
[
{
"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
vault://item/4127
Sample response
{
"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
vault://entity/81
Sample response
{
"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
vault://export/7
Sample response
{
"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
}
]
}