ParseRelay
Parse a document into structured, confidence-scored fields. Bring your own model, pay per scan.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@parserelay/mcpclaude mcp add parserelay -e 'PARSERELAY_API_KEY=<your parserelay_api_key>' -e 'PARSERELAY_BASE_URL=<PARSERELAY_BASE_URL>' -- npx -y @parserelay/mcp@0.1.1
{
"mcpServers": {
"parserelay": {
"command": "npx",
"args": [
"-y",
"@parserelay/mcp@0.1.1"
],
"env": {
"PARSERELAY_API_KEY": "<your parserelay_api_key>",
"PARSERELAY_BASE_URL": "<PARSERELAY_BASE_URL>"
}
}
}
}
Environment variables
PARSERELAY_API_KEYrequired secret ParseRelay API key (prl_live_…). Required for stdio.PARSERELAY_BASE_URLAPI base URL. Defaults to https://api.parserelay.app; point at a local worker for testing.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
@parserelay/mcp
ParseRelay's scan operation as an MCP tool — so any
MCP host (Claude Desktop, Cursor, …) can parse a document into structured, confidence-scored
fields. Same contract as the REST API and the <DeadSimpleMicroScanner> component; one tool,
scan.
The scan tool
Input mirrors the sync ScanRequest — image (required), plus
schema, doc_type, engine, ocr, dry_run, model, model_key. (relay webhooks are
omitted: a tool call is synchronous, so you get the envelope back inline.) The result is the
full ScanEnvelope as JSON: fields, per-field confidence,
needs_review, field_source, and meta (engine, credits, tokens).
Set dry_run: true to preview which fields would trigger a paid rescue — and the estimated
credits — without spending anything.
Run it
stdio (Claude Desktop, Cursor)
{
"mcpServers": {
"parserelay": {
"command": "npx",
"args": ["-y", "@parserelay/mcp"],
"env": {
"PARSERELAY_API_KEY": "your-key",
"PARSERELAY_BASE_URL": "https://api.parserelay.app" // optional
}
}
}
}
streamable-HTTP (remote / hosted)
PARSERELAY_API_KEY=your-key PORT=8080 node node_modules/@parserelay/mcp/dist/http.js
# → POST http://localhost:8080/mcp
Stateless: a fresh server per request, so it scales horizontally. Auth per request via
Authorization: Bearer <key>, falling back to PARSERELAY_API_KEY for single-tenant setups.
Programmatic
import { createMcpServer } from "@parserelay/mcp";
import { ParseRelayClient } from "@parserelay/client";
const server = createMcpServer(new ParseRelayClient({ apiKey }));
// then wire your own transport: await server.connect(transport)
Config
| Env var | Required | Default | Notes |
|---|---|---|---|
PARSERELAY_API_KEY | stdio: yes | — | HTTP can override per request via Authorization: Bearer. |
PARSERELAY_BASE_URL | no | https://api.parserelay.app | Point at a local worker for testing. |
PORT | no | 8080 | HTTP transport only. |
Frequently asked questions
What is ParseRelay?
Parse a document into structured, confidence-scored fields. Bring your own model, pay per scan.
How do I install ParseRelay?
It runs on your machine. In Claude Code: claude mcp add parserelay -e 'PARSERELAY_API_KEY=<your parserelay_api_key>' -e 'PARSERELAY_BASE_URL=<PARSERELAY_BASE_URL>' -- npx -y @parserelay/mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does ParseRelay need an API key?
Yes. It expects PARSERELAY_API_KEY, which you set in its configuration.
Is ParseRelay open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains ParseRelay?
It is published by parserelay. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.