Docs menu
Memory tools and API
Reference for the seven MCP tools of Tulimoa Memory and the HTTP endpoints for batch writes, document import and the briefing page.
Last updated Sep 12, 2026
All seven tools live in the tulimoa namespace. Every tool call costs one call price ($0.002) and is charged before the tool runs; only tulimoa__link_account is free. initialize and tools/list never cost anything.
The routine that works best: recall without a query at the start of a task to see goal, last checkpoint and open loops, recall with a query before asking the user anything, remember whenever something durable comes up, checkpoint before multi-step work and when a loop is settled, and recall once more before finishing.
Tools marked write need a key with the write scope, and so do /ingest and /import. Keys from /register and from the dashboard carry read and write. A read-only key gets an error for these calls and is not charged for them.
Remember and plan
tulimoa__remember(text, kind?, key?, durable?, entities?)writeStores a memory: a fact, decision, preference or note (kind). It is searchable with recall right away and consolidated overnight. A later remember with the same key replaces this one across the whole account. durable defaults to true. entities marks personal data explicitly as {value, etype} with person, email, phone, iban or custom, so it goes into the vault. Importance is inferred automatically, and text that looks like a credential is refused.
tulimoa__checkpoint(goal?, done?, next_steps?, open_questions?, resolved?)writeRecords where the agent stands. Pass only goal to set an objective, or the full form to snapshot progress so work can resume after a context reset. Each entry in open_questions becomes an open loop that shows up in every recall until it is settled. resolved settles loops by their 8-character id from recall (such as a1b2c3d4) or by their exact text. At least one field is required.
tulimoa__forget(id?, key?, topic?, pii_token?)writeRemoves a memory by id or key; the id can be an experience or a piece of knowledge, as recall returns both. With only topic it lists up to 8 matches and deletes nothing, so the agent can check first. With pii_token it crypto-shreds that person's data for good. Details in Privacy and deletion.
Recall and look back
tulimoa__recall(query?, limit?)With query: what the memory knows about it, plus open loops and warnings. Knowledge from the graph and experiences not consolidated yet are ranked together, so what was remembered today is found today. Only matches above a relevance threshold come back, at most limit (1 to 25, default 8), with related knowledge added and warnings about past trouble first. If nothing relevant is stored it says so, and then your agent does not know. Without query: the status, meaning current goal, last checkpoint, open loops and warnings.
tulimoa__briefing(date?)The morning briefing: what was consolidated, reinforced and forgotten, and which problems are still open. date as YYYY-MM-DD, the latest if omitted. A good first call after reconnecting.
tulimoa__timeline(from?, to?, session?, query?, limit?)The literal history in order: raw experiences by date range, session or keyword. limit 1 to 100, default 30. Ranges older than 14 days are read from the archive, up to 62 days per request.
Account
tulimoa__link_account(email?, webhook_url?)writeReturns a code like ABCD-2345 that a person enters in the Tulimoa dashboard within 30 minutes. From then on they see balance, keys, knowledge and briefings there and get warned in time. email and webhook_url (https) receive the warnings directly. Free, no call price.
HTTP endpoints
Besides MCP, a few plain HTTP endpoints on https://memory.tulimoa.com. Writes use the same bearer key.
| Endpoint | What it does | Cost |
|---|---|---|
POST /ingest | Batch write of up to 100 experiences. Kinds: note, ingest, tool_call, tool_result, remember. durable defaults to false here. | One call price per started 10 experiences |
POST /import | Imports a document as {title?, text, session_id?}, split into chunks of about 900 characters, at most 400 chunks; anything beyond is dropped. Stored durably and consolidated on the next night. | One call price per started 10 chunks |
/briefing | The last 14 briefings as a web page. The key goes into a form (POST), never into the URL. | Free |
POST /register, POST /topup | Create an account or add balance via x402, see Connect. | The amount you pay, credited in full |
GET /.well-known/x402, GET /llms.txt | Machine-readable terms and a short guide for agents. | Free |
curl -X POST https://memory.tulimoa.com/ingest \
-H "Authorization: Bearer tlm_mem_..." \
-H "Content-Type: application/json" \
-d '{
"session_id": "deploy-2026-09-12",
"episodes": [
{ "kind": "tool_result", "text": "Deploy to staging succeeded", "payload": { "tool": "deploy" } },
{ "kind": "note", "text": "The customer prefers weekly summaries", "durable": true }
]
}'The response reports stored, dropped and quarantined counts plus the new ids. Everything sent here is searchable right away and consolidated on the next night, see Sleep, knowledge and the morning briefing.