PKM Capture¶
Single-step entrypoint for adding anything to the personal knowledge system.
When to use¶
- "Save this for later" / "capture this" / "add to PKM".
- Pasting a snippet that should not stay in chat history.
- Recording something said in a meeting that's worth keeping.
What you produce¶
- One AnyType
Inboxobject with classification, capture source, and content. - Optionally an
Idea,Event,Person, orProjectobject if classification is high-confidence. - One audit-log entry per write.
MCP tools used¶
mcp__anytype__API-list-spaces— resolve space ID by namemcp__anytype__API-create-object— create Inbox entry and any upgraded objectmcp__anytype__API-update-object— writeresult_refback to the Inbox entry after upgrade
Procedure¶
- Capture content. Verbatim from the user input or selection.
- Determine data classification — required (SPB-01).
- If unclear, ask before writing.
- Default for ambiguous private notes:
private_sensitive. - Choose target Space (layout):
- Resolve space ID by calling
mcp__anytype__API-list-spaces— do not hardcode IDs. - Default for agent-driven writes: Agent · LLM wiki.
- Job hunt Space: MCP write only after explicit user approval in this chat for that capture.
- Sensitive · Human only: never read or write via MCP; if the capture clearly belongs there (offer, NDA detail, comp), tell the user to paste it in Anytype manually.
- Create Inbox object via
mcp__anytype__API-create-object: type_key:inbox- Properties to set (per inbox-entry.schema.json):
captured_at(date) — nowcapture_source(select) — one of:chat,clipboard,email,voice,manual⚠️ Usecapture_source, NOTsource— thesourcekey is reserved by AnyType's built-in URL property.content(text) — captured textdata_classification(select) —private_sensitive/internal/low_sensitiveprocessed(checkbox) —false
- Use the agent-scoped key (never user key, SPB-02/SPB-03).
- Confidence-based classification:
- If classifier confidence > 0.85 for one of (Task, Person, Event, Idea, Project), create a second object of that type:
- Task →
type_key: task(usepkm-taskskill procedure for field population) - Indicators: imperative phrasing ("I need to", "follow up with", "send X by"), explicit deadlines, words like "action item", "TODO", "commit to"
- Set
task_source: chat; setdue_dateif mentioned - Person →
type_key: person - Event →
type_key: event - Idea →
type_key: idea - Project →
type_key: pkm_project⚠️ NOTproject(that's the built-in type)
- Task →
- Else leave as inbox; user can classify later.
- Write result_ref back to Inbox (only if step 5 created a new object):
- Call
mcp__anytype__API-update-objecton the Inbox object. - Set
result_ref(objects) to the ID of the newly created object. - Set
processed(checkbox) totrue. - Audit log: append a row to
audit-log.md(SPB-12). - Action:
writefor the Inbox creation;classifyif upgraded. - Mirror to wiki? Only if classification is
low_sensitiveorinternalAND the user opts in. Default: Anytype only.
Anti-patterns¶
- Don't write to Anytype without a classification.
- Don't reuse the user-level AnyType key.
- Don't echo the captured content into a cloud model context if it's
private_sensitive. - Don't use MCP against Sensitive · Human only for any operation.
- Don't auto-classify with confidence < 0.85 — leave to inbox.
- Don't use
type_key: project— usepkm_project. - Don't use property key
sourceon Inbox — usecapture_source. - Don't use property key
sourceon Task — usetask_source.
Compatibility¶
- Requires AnyType Local API key (agent-scoped) injected via env var.
- Requires the
anytypeMCP server to be configured. - Local-only network egress.