PersonaKit
DocumentationPre-release
Back to personakit.me
pre-releaseFor people who run PersonaKit locally, contributors, and AI assistants

Parameters and results of personakit_read and personakit_propose in release 0.1.

MCP tools reference

All examples are fictional.

personakit_read

What happens on a personakit_read call: your decisions are applied, memories are ranked by word overlap, approved ones fill up to three places, and quotes are masked

ParameterTypeMeaning
questionstringWhat the assistant is trying to answer
limitintegerMost memories to return; default 7, clamped to 1-20

Result:

{
  "memories": [
    {
      "id": "m_0123456789ab",
      "text": "Prefers direct, practical feedback",
      "category": "preferences",
      "confirmed": false,
      "evidence": ["give me blunt feedback, skip the padding"]
    }
  ],
  "withheld": 1,
  "note": "Unconfirmed: extracted from the owner's conversations but not yet reviewed by them."
}
FieldMeaning
confirmedtrue only for approved memories
categoryOne of communication, work-style, tools, preferences, background, constraints, other
evidenceUp to two supporting quotes, each shortened to 240 characters with email addresses masked
withheldCount of matching restricted memories; their content is never returned
noteReminder that unconfirmed memories are unreviewed

note is present only when at least one returned memory is unconfirmed.

When fewer than three memories match the question, approved memories fill the remaining places, so a result can include approved memories that share no words with the question.

Empty result: memories is an empty list. That means nothing matched and nothing is approved, not that nothing exists.

personakit_propose

ParameterTypeMeaning
textstringThe memory, one short statement
quotestringThe person's own words that support it
categorystringOne of the known categories; anything else becomes other

Result: {"stored": true, "id": "...", "new": true, "state": "unconfirmed"}, or {"stored": false, "reason": "..."}. reason is one of empty_text, too_long (over 300 characters), credential_shape, or empty_quote. new is false when the same memory already existed; its state is left as it was.

PersonaKit

Your AI's memory. Your say.