4 MCP 端点 POST /mcp
供 agent 接入的 MCP(Model Context Protocol)Streamable HTTP 端点。无状态:每个 POST 是一条 JSON-RPC 2.0 消息,应答是单条 application/json;不开 SSE 流、不发会话 id,GET / DELETE 回 405。鉴权与 /graph/v1/ 相同(见 §0)。
客户端配置(支持远程 MCP 的 agent 框架通用形状):
{"mcpServers": {"fetchpaper": {
"url": "https://fetchpaper.com/mcp",
"headers": {"x-api-key": "<密钥>"}
}}}
支持的方法:initialize、ping、tools/list、tools/call;notification(如 notifications/initialized)回 202 空 body。协议版本协商2025-06-18 / 2025-03-26。
13 个工具与 REST 端点一一对应,参数名与对应章节的查询参数相同(paper_id / author_id 即路径里的 id;过滤参数见 §1.1):
| 工具 | 对应端点 |
|---|---|
paper_search | §1.1 GET /paper/search |
paper_search_bulk | §1.2 GET /paper/search/bulk |
paper_search_match | §1.3 GET /paper/search/match |
paper_autocomplete | §1.4 GET /paper/autocomplete |
paper_get | §1.5 GET /paper/{paper_id} |
paper_citations | §1.6 GET /paper/{paper_id}/citations |
paper_references | §1.7 GET /paper/{paper_id}/references |
paper_authors | §1.8 GET /paper/{paper_id}/authors |
paper_batch | §1.9 POST /paper/batch(ids 数组) |
author_search | §2.1 GET /author/search |
author_get | §2.2 GET /author/{author_id} |
author_papers | §2.3 GET /author/{author_id}/papers |
author_batch | §2.4 POST /author/batch(ids 数组) |
tools/call 示例:
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "paper_search",
"arguments": {"query": "transformer", "limit": 5,
"fields": "title,year,citationCount"}}}
应答的数据在 result.content[0].text(JSON 字符串)与result.structuredContent(同内容的 JSON 对象)。查询按不动(参数错、id 不存在)时 result.isError=true,text 里是 {"error", "status"},与 REST 面 4xx 同一份文案 —— 换写法重试有意义;数据目录问题同 §0 口径回 500。