···77### search
8899```
1010-GET /search?q=<query>&tag=<tag>&platform=<platform>&since=<date>&mode=<mode>
1010+GET /search?q=<query>&tag=<tag>&platform=<platform>&since=<date>&author=<did|handle>&mode=<mode>
1111```
12121313full-text search across documents and publications.
···1919| `tag` | string | no | filter by tag (documents only) |
2020| `platform` | string | no | filter by platform: `leaflet`, `pckt`, `offprint`, `greengale`, `whitewind`, `other` |
2121| `since` | string | no | ISO date, filter to documents created after |
2222+| `author` | string | no | filter by author: DID (`did:plc:xyz`) or handle (`nate.bsky.social`). handles are resolved server-side via AT Protocol. |
2223| `mode` | string | no | `keyword` (default), `semantic`, or `hybrid`. semantic uses voyage-4-lite embeddings + turbopuffer ANN. hybrid merges keyword + semantic via reciprocal rank fusion. |
2324| `format` | string | no | `v2` wraps response in `{"results": [...], "total": N, "hasMore": bool}` |
2425| `limit` | int | no | max results to return (default 20) |
2526| `offset` | int | no | pagination offset |
26272727-*at least one of `q` or `tag` required
2828+*at least one of `q`, `tag`, or `author` required
28292930**filter behavior by mode:**
3030-- **keyword**: respects all filters (`tag`, `platform`, `since`)
3131-- **semantic**: respects `platform` only. ignores `tag` and `since`.
3232-- **hybrid**: keyword half respects all filters, semantic half respects `platform` only. results merged via RRF.
3131+- **keyword**: respects all filters (`tag`, `platform`, `since`, `author`)
3232+- **semantic**: respects `platform` and `author`. ignores `tag` and `since`.
3333+- **hybrid**: keyword half respects all filters, semantic half respects `platform` and `author`. results merged via RRF.
33343435**response:**
3536```json
+2-1
docs/search-syntax.md
···29293030beyond the query text, you can filter results by:
31313232+- **author**: type `@handle` in the search box (e.g., `@zat.dev up`). quote to search literally: `"@zat.dev"`.
3233- **platform**: leaflet, pckt, offprint, greengale, whitewind, other
3334- **tag**: click any tag in the results to filter by it
3435- **date**: today, this week, this month, this year
35363636-filters combine with the search query — e.g., searching `python` with the `leaflet` platform filter returns only leaflet posts matching "python".
3737+filters combine with the search query — e.g., searching `@zat.dev up` returns only zat.dev's posts matching "up".
37383839## search modes
3940
+1-1
mcp/README.md
···28282929| tool | description |
3030|------|-------------|
3131-| `search` | search documents by query, tag, platform, or date |
3131+| `search` | search documents by query, tag, platform, date, or author |
3232| `get_document` | retrieve full content by AT-URI |
3333| `find_similar` | find semantically similar documents |
3434| `get_tags` | list all tags with document counts |