pinecallDocs
MCP: the tools / Knowledge and memory

Knowledge and memory

docs, memory and remember: what the agent searches, what it keeps, held to goldens.

Part of the MCP server: every tool of this stage, what each parameter takes — read off the tool's own schema, as the assistant sees it — and one real call, answered by Pinecall Cloud.

docs#

The documents the agent searches: a folder pushed as a base, attached to the agent, held to its golden; the org's bases and who reads them.

docs push sends the Markdown under docs/<agent>/ as a base (replacing it whole: push again after every edit); attach makes the agent search it before every turn; eval scores the questions in test/<agent>/goldens/docs.json against it (recall@k, nDCG@10, by code). list and attached are the org's, and name no agent. Dropping a base is never a tool: pinecall docs drop in a terminal.

parameter takes what it is
action push · list · eval · attach · detach · attached required push the agent's docs folder as a base; list the org's bases; eval scores the docs golden; attach a base to the agent; detach it; attached says which agents read which base
agent text the agent's name; the project's only agent when left out
base text the base's name; the agent's own when left out
k a whole number 1–50 attach and eval: how many chunks a turn reads
mode retrieved · tool attach: searched before every turn, or a tool the model calls
min_score a number 0–1 attach: chunks under this share of the best one are dropped
team true or false attach and detach: in the team's settings instead of your own
prod true or false act in production instead of the sandbox; the org's own switch decides whether this key may
called with
{
  "action": "push"
}
answered
{
  "files": 1,
  "base": "front-desk",
  "chunks": 1,
  "took_ms": 13.33
}

memory#

What the agent remembers about a caller, what it is told to keep and never keep, and the recall golden held against it.

memory policy says what the agent keeps about a caller (remember) and never keeps (forget); with neither it reads them, and with no policy the agent remembers nothing. show reads what it kept about one caller, and names no agent; eval scores test/<agent>/goldens/memory.json. Forgetting a caller is never a tool: pinecall memory forget in a terminal.

parameter takes what it is
action show · policy · eval required show what memory kept about contact; policy reads, or with remember/forget writes, what the agent keeps; eval scores the memory golden
agent text the agent's name; the project's only agent when left out
contact text show: the caller, by number or id
remember a list of texts policy: what is worth keeping about a caller, in your own words, one phrase each
forget a list of texts policy: what is never kept
k a whole number 1–50 eval: how many facts a turn recalls
prod true or false act in production instead of the sandbox; the org's own switch decides whether this key may
called with
{
  "action": "policy",
  "remember": [
    "what they ordered",
    "how they prefer to be called back"
  ],
  "forget": [
    "card numbers"
  ]
}
answered
{
  "world": "sandbox",
  "yours": {
    "holder": "m_4f1c2a9b0e7d",
    "version": 28,
    "author": "m_4f1c2a9b0e7d",
    "note": null,
    "set_at": 1791490594.44,
    "config": {
      "memory": {
        "remember": [
          "what they ordered",
          "how they prefer to be called back"
        ],
        "forget": [
          "card numbers"
        ]
      }
    }
  },
  "team": null,
  "production": null
}

remember#

Hold memory's writing to its cases: each written call in test//memory/ run through one extraction, and what it kept checked by code.

remember runs the extraction cases under test/<agent>/memory/ — a written call and what memory must and must never keep from it — through the agent start holds, scored by code.

parameter takes what it is
agent text the agent's name; the project's only agent when left out
grep text only cases whose name holds this
called with
{}
answered
{
  "agent": "front-desk",
  "model": "anthropic/claude-haiku-5-5",
  "cases": 1,
  "held": 1,
  "took_ms": 1027.29,
  "results": [
    {
      "name": "keeps the order number and never the card",
      "held": true,
      "wrote": [
        "add · what they ordered · Order 4471 arrived broken.",
        "add · how they prefer to be called back · Prefers to be called Mr Baker."
      ],
      "broke": []
    }
  ]
}