# memory_search

> Search this project's memories.

URL: https://mcp-docs.opennomos.com/docs/tools/memory/memory_search

> Search this project's memories. Returns records, without summaries. Empty q lists recent entries; kind and tags are optional filters.

| Field | Value |
| --- | --- |
| Pack | Core (`core`) |
| Estimated cost per call | $0 |
| Monthly pack limit | none |
| Project | resolved: explicit `project` → header → credential default → workspace default |

## Parameters

| Parameter | Required | Type | Description |
| --- | --- | --- | --- |
| `q` | no | `string` | Search text, e.g. 'pricing'. Empty lists recent memories. Default: `""`. |
| `kind` | no | `string` | Only memories of this kind, e.g. 'decision'. |
| `tags` | no | `string[]` | Only memories with these tags, e.g. ['reddit']. |
| `limit` | no | `integer (≥ 1, ≤ 100)` | Max memories to return. Default 50. |
| `project` | no | `string` | Project slug or id. Omit to use the credential or workspace default. |

## Example call

```json
{
  "q": "reddit",
  "kind": "insight",
  "limit": 10
}
```

REST: `POST https://service.opennomos.com/v1/tools/memory_search` with that JSON as the body. MCP: `tools/call` with `name: "memory_search"` and that JSON as `arguments`.

## Example result

Values are illustrative; the shape comes from the service code.

```json
{
  "project": {
    "id": "prj_k3Vd9aQx2",
    "slug": "acme-crm"
  },
  "memories": [
    {
      "id": "mem_Zr81nQw3",
      "kind": "insight",
      "content": "Reddit r/SaaS ignores self-promo; reply with help first.",
      "tags": [
        "reddit",
        "rules"
      ],
      "source": "Claude Code",
      "created_at": "2026-10-16T09:00:00.000Z",
      "updated_at": "2026-10-16T09:00:00.000Z"
    }
  ]
}
```

## Notes

- The query parameter is `q` here (other tools use `query`). An empty `q` lists recent memories.
- Search uses full-text matching and also matches Chinese text. Edits are searchable immediately.
- Searches are rate limited per workspace (120 per minute, per isolate).

## Errors

Rejected calls (bad input, unknown ids, rate limits) return `message` and `code`; over MCP the result has `isError: true`. See [Errors](https://mcp-docs.opennomos.com/docs/reference/errors.md).
