Anthropic MCP 体验: 实现一个 Arxiv 论文搜索工具
Moreality's BlogMCP 介绍
Anthropic (Claude) 在 11 月 25 日推出了一个协议: MCP (Model Context Protocol)。[1]
协议的目的是解决各类无法联网的 ChatBot 的信息孤岛问题。
比如 ChatGPT 在 ChatGPT Search 的加持下,可以做到搜索最新的网页信息并分析:

但是 Claude 在内的许多模型目前还不支持:

除此之外,许多时候我们希望访问一些自定义的数据源,比如本地的数据库等。
这些需求目前只能通过自己写代码 + 用 GPT 的 API 来进行操作。
MCP 的出现实际上就是用来解决这个问题:作为一个中间层,提供一个统一的协议和 SDK 来对接各类数据源。

目前 Claude 在 https://modelcontextprotocol.io/introduction 已经提供了完整开源的 python SDK 和 TypeScript SDK
这个玩意也是我最近琢磨 Claude Desktop APP 的配置的时候才发现的,目前支持 MCP 的 Client 在 这里 可以看到:
如果你开通了 Claude Pro 并且有 Claude Desktop,可以通过官网的这个 DEMO:https://modelcontextprotocol.io/quickstart 来实现一个获取天气和天气警报的联网查询功能。
实践:实现一个 Arxiv 论文搜索工具
我自己也通过简单修改了一下 quickstart [4],利用 python sdk 来实现了一个符合自己需求的 Arxiv 论文获取工具。
完整的代码在:https://github.com/Lincest/mcp-papersearch
简单介绍一下具体的使用方式:
1 - 安装环境uv 是一个 rust 编写的 python 包管理器,和 virtualenv 这些差不多,由于官网用的是 uv,于是就沿用一下。
clone 仓库:
安装依赖:
需要编辑 ~/Library/Application\ Support/Claude/claude_desktop_config.json
(windows路径在:$env:AppData\Claude\claude_desktop_config.json)
内容为:
把上面的路径按注释内容改一下,删除注释,然后重新启动 Claude Desktop:
这时候会发现右下角出现了个锤子🔨:


就说明运行成功了。
3 - 测试case 01: 搜索近期的论文
问 Claude 一个简单的问题,比如
搜索一下最近3天的 MoE Inference 相关论文

这时候会弹出一个窗口,就表示 Claude 识别到了应该调用我们的 papersearch 来搜索。
点击 Allow 后,发现他很智能的调用了两次,一次在3天内没找到后,又扩展范围到了30天来搜索:

比如我们要搜索 https://arxiv.org/abs/2308.12066 这篇论文,标题是「Pre-gated MoE: An Algorithm-System Co-Design for Fast and Scalable Mixture-of-Expert Inference」
提问:

总结
目前的 case 写的还很潦草,大部分就是直接让 claude 自己生成了然后简单改一改。
以后用来接入一些 DB 估计会比较好用。
Reference
- https://www.anthropic.com/news/model-context-protocol ↩
- https://modelcontextprotocol.io/introduction ↩
- https://modelcontextprotocol.io/clients ↩
- https://modelcontextprotocol.io/quickstart ↩
Generated by RSStT. The copyright belongs to the original author.