API & MCP
Everything a person can do on Personal Archive Search, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://paperwellarchivesearch.usefulweb.app/api/v1/calculate– run Personal Archive SearchGET https://paperwellarchivesearch.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Personal Archive Search
Search your own text collection by phrase or multiple terms, with word/case/accent controls, file filters and exact source references.
| Field | Type | Default | Description |
|---|---|---|---|
documents | table | [{"name":"notes.md","body":"Project notes\nThe blue cabinet is 600 mm wide."}] | Documents |
query (required) | textarea | "cabinet" | Search phrase |
mode | select (phrase, all, any) | "phrase" | Match mode |
caseSensitive | boolean | false | Match case |
wholeWord | boolean | false | Whole words only |
ignoreAccents | boolean | false | Ignore accents |
nameFilter | text | — | File name contains |
Example request
Try an example
curl -X POST https://paperwellarchivesearch.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://paperwellarchivesearch.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
paperwell_archive_search - Local stdio connector:
node src/mcp-stdio.ts --tool=paperwell-archive-search
{
"mcpServers": {
"paperwell-archive-search": { "type": "http", "url": "https://paperwellarchivesearch.usefulweb.app/mcp" }
}
}