For the complete documentation index, see /developers/llms.txt Markdown versions: append .md to any /developers/{slug} URL. Browse structure: /developers/sitemap.md This page: /developers/first-memory-walkthrough.md

First memory walkthrough

In plain terms: A hands-on tutorial — capture a thought, search your memories, and get a grounded answer through your connected AI assistant.

This walkthrough assumes you completed Connect Cursor or Claude and have a working MCP connection.

Who this is for

  • Integrators validating an MCP connection with hands-on tool calls
  • Self-hosted users who finished Cursor or Claude setup

Step 1 — Capture a thought

Ask your assistant to store a memory, or invoke the tool directly if your client exposes raw MCP calls:

Tool: capture_thought

{
  "raw": "I'm building a side project using SvelteKit and PostgreSQL. Deadline is end of Q3."
}

Expected result: A success response with a thought id and a natural-language summary of what was stored. Behind the scenes, Eigen Mesh normalizes the text, classifies it, computes an embedding, updates the lexical index, and syncs graph nodes in Apache AGE.

Step 2 — Browse recent thoughts

Tool: retrieve_thoughts

{
  "order": "created_at",
  "top_k": 10
}

Expected result: Your most recent open thoughts, newest first. Results are scoped to your user only (text fields — no embedding vectors).

You should see the thought from Step 1 in the list.

Step 3 — Search memories

Tool: retrieve_thoughts

{
  "query": "What tech stack am I using for my side project?",
  "top_k": 5
}

Expected result: Ranked matches with normalizedText, category, and fused score. Hybrid retrieval combines pgvector similarity, PostgreSQL full-text search, and precomputed graph neighbors — then an LLM listwise reranker refines the top results.

Optional: "threshold": 0.3 filters results below a normalized score in [0, 1].

Step 4 — Ask a grounded question

HTTP MCP has no answer_question tool. Ask your assistant to answer from retrieved context, or call retrieve_thoughts first:

Tool: retrieve_thoughts

{
  "query": "When is my side project deadline?",
  "top_k": 5
}

Expected result: Ranked thought matches. Your assistant (or you) composes a natural-language answer citing the returned thought ids — reducing hallucination by grounding in retrieved text only.

The in-app Chat UI (/chat) does retrieve-then-compose automatically.

Step 5 — Edit a memory

Tool: edit_thought

{
  "thought_id": "<id-from-step-1>",
  "edit_request": "Change the deadline to end of Q4 instead of Q3."
}

Expected result: Updated thought summary. The system re-embeds and refreshes graph links.

What you learned

Step Tool Operation
1 capture_thought Write
2 retrieve_thoughts (order=created_at) Browse recent
3 retrieve_thoughts (query) Hybrid search
4 retrieve_thoughts + client compose Retrieve + answer
5 edit_thought Update

Troubleshooting

See Troubleshooting if tool calls fail or return empty results.

Next steps

Explore further

Agent Instructions

This documentation is published for humans and AI agents. Prefer .md URLs for structured content.

  • Index: /developers/llms.txt
  • Full export: /developers/llms-full.txt
  • Sitemap: /developers/sitemap.md
  • Raw page: append `.md` to any /developers/{slug} URL
  • Example: GET /developers/mcp-overview.md

Dynamic `?ask=` and `?goal=` query on markdown URLs is planned — see docs/planning/10-docs-query-api-design.md.