Research Scan
Type to search documentation.

MCP clients

Claude Desktop, Cursor, and anything else that speaks MCP. One stdio configuration, the same pipeline.

research-scan mcp speaks MCP on stdin and stdout and nothing else. It reads no token and needs none: the process is trusted because your client launched it.

Nothing extra to install — the server ships with the package.

How MCP clients reach the research-scan pipelineClaude Code, Claude Desktop, Cursor and custom agents all launch research-scan mcp over stdio. The server exposes four tools — scan_start, scan_continue, scan_verify and scan_result — one per decision the pipeline needs from a model. Behind them runs the same pipeline, writing the same run-directory artifacts with the same DOI verification.Claude CodeClaude DesktopCursorAny MCP clientresearch-scan mcpstdio · your client launches it · reads no token and needs nonescan_startscan_continuescan_verifyscan_resultTHE SAME PIPELINEretrieve · expand · dedupe · coverage · shortlist · verify · emitthe same run-directory artifacts, the same DOI verificationEVIDENCE OBJECTSEvidencePacket JSON + Markdown, identical to a skill-driven run
Four tools, one per decision the pipeline needs from a model. They are not a chat endpoint over the pipeline — the client's model supplies exactly the cognition the skill would, in the same stage order.

The configuration

The same block works in every client. Only the file it goes in changes.

json
{
"mcpServers": {
"research-scan": {
"command": "uvx",
"args": ["research-scan", "mcp"]
}
}
}
ClientWhere that goes
Claude Code.mcp.json in the project root
Claude Desktopclaude_desktop_config.json
Cursor.cursor/mcp.json
Anything else that speaks MCPWherever that client keeps its server list

uvx resolves and caches the package on first use, so there is no install step to sequence — the first launch is slower and the rest are not. If you would rather pin an installed copy, uv tool install research-scan and then use research-scan as the command with ["mcp"] as the args.

Confirm the server can start

Terminal window
research-scan version
research-scan 0.5.1
python 3.13.13
platform macOS-14.2.1-arm64-arm-64bit-Mach-O
mcp enabled

mcp enabled means the server will start. Because its dependencies are core rather than optional, disabled means a broken install — reinstall with uv tool install research-scan.

You do not normally run research-scan mcp by hand. It serves on stdio and waits for a client, so a terminal invocation looks like a hang. Let the client launch it.

The four tools

Four tools, one per decision the pipeline needs from a model:

ToolThe decision
scan_startYou supply the query plan.
scan_continueScreening scores, gap queries, or a page of rerank entries.
scan_verifyCheck the ranked papers against the live record.
scan_resultCollect the deliverable.

They are not a chat endpoint over the pipeline. Each is a point where a judgement is needed, and the client’s model supplies exactly the cognition the skill would — same stage order, same artifacts, same verification. The adapter drives the CLI as a subprocess and reads its exit codes; it never imports a stage’s internals and makes no judgement about papers.

Full signatures and the decision points between calls are in the MCP tools reference.

Credentials

The MCP server reads the same configuration as the CLI, so research-scan configure covers both. If your client launches the server in an environment that does not inherit your shell, ~/.config/research-scan/.env is the store it will find.

Other transports

research-scan mcp --help documents the rest of the transport options. For local agent clients — Claude Code, Claude Desktop, Cursor — stdio is the mode you want, and the one this documentation covers. Anything that would expose the server beyond your own machine is a security question first; the main repo’s SECURITY.md is the place that answers it.

Last updated Aug 21, 2026