目录纯文本版上一节 3

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。