使用说明
MCP研究服务器
一个演示项目,展示了如何使用FastMCP框架创建自定义MCP(模型控制协议)服务器。该实现是构建与arXiv集成以搜索、检索和管理学术论文的MCP服务器的一个实例,为人工智能辅助研究提供了一个结构化界面。该项目利用FastMCP的功能创建自定义工具、资源和提示,使其成为开发自己的MCP服务器的绝佳参考。
🚀 特性
- 论文搜索:按主题搜索arXiv的学术论文
- 永久存储:自动保存纸张元数据以供将来参考
- 主题组织:按研究主题组织论文
- RESTful API:通过FastMCP公开端点,便于集成
- 人工智能集成:包括提示Claude AI分析研究论文
🛠️ 先决条件
- Python 3.11.11(推荐)
- pip(Python包管理器)
- 虚拟环境(推荐)
备注:这个项目是用Python 3.11.11开发和测试的。虽然它可能适用于其他Python 3.7+版本,但为了兼容性,建议使用3.11.11。
🚀 安装
-
克隆存储库:
git clone https://github.com/teddytesfa/research-mcp-server.git cd mcp_project -
创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` -
安装所需的软件包:
pip install -r requirements.txt
🏃♂️ 入门指南
-
启动MCP服务器:
python research_server.py -
服务器将于启动
http://localhost:8001默认情况下。
🛠️ API终点
工具
-
search_papers(topic: str, max_results: int = 5)- 搜索arXiv上的论文
- 返回:纸张ID列表
-
extract_info(paper_id: str)- 获取特定论文的详细信息
- 返回:JSON格式的纸质元数据
资源
-
papers://folders- 列出所有可用的主题文件夹
-
papers://{topic}- 获取特定主题的论文
🤖 人工智能集成
该服务器包括一个提示模板,供Claude AI分析研究论文。使用 generate_search_prompt 开始人工智能辅助研究的功能。
📁 项目结构
mcp_project/
├── papers/ # Directory for storing paper metadata
│ └── {topic}/ # Topic-specific directories
│ └── papers_info.json # Paper metadata
├── research_server.py # Main server implementation
└── README.md # This file
📝 示例用法
-
搜索某个主题的论文:
# Example search for papers about "machine learning" paper_ids = search_papers("machine learning", max_results=3) -
获取特定论文的信息:
paper_info = extract_info("2103.00001") print(paper_info)
📚 学习资源
这个项目是一个演示如何创建自己的MCP(模型控制协议)服务器的实现。它展示了:
- 使用创建自定义工具
@mcp.tool() - 定义资源
@mcp.resource() - 使用生成AI提示
@mcp.prompt() - 管理服务器状态和持久性
- 与外部API(arXiv)集成
🤝 贡献
欢迎投稿!请随时提交拉取请求。