cortex_search
memory:readSearch memory by time and session — the read memory.recall
cannot do, because recall ranks by relevance and treats time words as text. Truly read-only: it does
not bump access counts and records no activity receipt.
Arguments (all optional)
| Name | Type | Required | Rules / enum |
|---|---|---|---|
query | string | optional | Non-empty if given. |
limit | integer | optional | 1–100. Default 20. |
session_id | string | optional | ≤256 chars. |
after_ts | number | optional | Unix seconds ≥0. |
before_ts | number | optional | Unix seconds ≥0. |
as_of | number | optional | Unix seconds ≥0. |
include_superseded | boolean | optional | Default false. |
order | enum | optional | asc | desc. |
Response (required:
episodes, count, degraded)episodes[]— each carriesentryId,sessionId,agentName,action,content,outcome,timestamp,supersedesEntryId,originChannel. Credential ids are redacted at the edge.count,degraded, and an optionalerror.
Episode
content is truncated to the first 500 characters on this route.
Full fidelity is available only through memory.export (operator-scoped).
Example
curl -sS "$CONDUIR_BASE/api/cortex/mcp" \
-H "Authorization: ApiKey $CORTEX_KEY" \
-H "Content-Type: application/json" \
-d '{"tool":"cortex_search","arguments":{"limit":10,"order":"desc"}}'
{ "result": {
"episodes": [
{ "entryId": "mcp_9f3c…", "sessionId": "sess-42",
"agentName": "assistant", "action": "remember",
"content": "Cross-vendor memory proven via one key.",
"outcome": "persisted", "timestamp": 1755734400,
"supersedesEntryId": null, "originChannel": "mcp" }
],
"count": 1,
"degraded": false
} }
Validation test
Runs this exact tool against the live broker (POST /api/cortex/mcp) with the
key saved in this browser — the same one the dashboard uses. No key yet?
Create one on Your keys (Microsoft sign-in), then come back.
Arguments (editable JSON)