Memory Runtime Foundation — 5 MCP tools, full SDK parity, search UI

2026-03-10

memorymcpsdkdashboard

What We Built

Consolidated BrainstormRouter's memory infrastructure into a coherent product surface with full SDK parity, MCP tool coverage, dashboard search/pin UI, and comprehensive documentation. The existing memory system had 8 API endpoints and 7 agent tools but incomplete SDK coverage (missing query()), only 3 of 5 MCP tools, no search UI in the dashboard, and docs that listed only 3 of 7 agent tools.

This phase closes every gap: both SDKs now expose query() for keyword search, the MCP server has br_memory_delete and br_memory_update tools, the dashboard has a search input and pin/unpin toggle per entry, and the docs cover the full memory model with REST API reference, all 7 agent tools, 5 MCP tools, SDK examples in both languages, and session isolation behavior.

Why It Matters

Memory is BrainstormRouter's core differentiator against stateless routing alternatives like Portkey and OpenRouter. But differentiation only counts when every developer surface — SDKs, MCP, dashboard, docs — tells the same story. A CTO evaluating the platform should be able to discover memory capabilities through any surface and get consistent, complete information.

Operators can now search memory entries from the dashboard, pin important facts to prevent eviction, and manage memory through any tool their stack supports (REST, TypeScript SDK, Python SDK, or MCP).

How It Works

SDK query

const { results } = await client.memory.query("deploy");
// results: [{ entry: { id, fact, block, pinned }, score: 0.85 }]
results = client.memory.query("deploy")

MCP tools

AI agents connected via MCP can now manage the full memory lifecycle:

ToolDescription
br_memory_listList all core memory entries
br_memory_storeStore a new entry
br_memory_querySearch by keyword relevance
br_memory_deleteDelete an entry by ID
br_memory_updateUpdate text and/or pin status

Dashboard

The agents page memory section now includes:

  • Search: Keyword search input with scored results
  • Pin/Unpin: Toggle button on each entry row

Auth bridge

Two new Supabase JWT bridge endpoints for dashboard access:

  • POST /auth/memory/query — keyword search proxy
  • PUT /auth/memory/entries/:id — update/pin proxy

The Numbers

  • 5 MCP memory tools (was 3)
  • 2 SDK methods added (query() in TypeScript + Python)
  • 2 auth bridge endpoints added
  • 7 agent tools documented (was 3 in docs)
  • 9 lockstep surfaces verified

Competitive Edge

No competing router (Portkey, OpenRouter, Martian) offers built-in persistent memory with full CRUD, keyword search, pinning, and exposure across REST API, two SDKs, MCP, and a dashboard — all tenant-scoped with session isolation support. BrainstormRouter is the only platform where memory is a first-class, fully-governed product surface rather than an add-on.

Lockstep Checklist

  • [x] API Routes: src/api/routes/auth.ts — added POST /auth/memory/query and PUT /auth/memory/entries/:id
  • [x] TS SDK: packages/sdk-ts/src/resources/memory.ts — added query() method
  • [x] Python SDK: packages/sdk-py/src/brainstormrouter/resources/memory.py — added query() to sync + async
  • [x] MCP Schemas: src/mcp/tool-manifest.ts + src/mcp/server.ts — added br_memory_delete, br_memory_update
  • [x] Discovery: site/.well-known/agents.json, site/llms.txt, LLMS_TXT_CONTENT updated
  • [x] Docs: docs/concepts/memory.mdx — comprehensive rewrite
  • [x] Dashboard: site/dashboard/src/pages/agents.ts — search UI, pin/unpin toggle
  • [x] Tests: memory.test.ts, server.test.ts, auth.test.ts — isolation, CRUD, query, pin, MCP tools, bridge