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.
The configuration
The same block works in every client. Only the file it goes in changes.
{ "mcpServers": { "research-scan": { "command": "uvx", "args": ["research-scan", "mcp"] } }}| Client | Where that goes |
|---|---|
| Claude Code | .mcp.json in the project root |
| Claude Desktop | claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Anything else that speaks MCP | Wherever 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
research-scan versionresearch-scan 0.5.1python 3.13.13platform macOS-14.2.1-arm64-arm-64bit-Mach-Omcp enabledmcp 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:
| Tool | The decision |
|---|---|
scan_start | You supply the query plan. |
scan_continue | Screening scores, gap queries, or a page of rerank entries. |
scan_verify | Check the ranked papers against the live record. |
scan_result | Collect 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