MCP远程论文研究服务器
A. 模型上下文协议(MCP) 服务器,通过arXiv集成为学术论文提供全面的研究能力。该服务器公开了用于搜索论文、提取信息、访问有组织的资源和生成研究提示的工具。
MCP Papers Research Server on Inspector
🚀 特性
🔧 工具
search_papers-在arXiv中搜索任何主题的论文并存储其元数据extract_info-按ID检索特定论文的详细信息
📁 资源
papers://folders-列出所有可用的研究主题文件夹papers://{topic}-访问特定主题的详细论文信息
💡 鼓励
generate_search_prompt-为克劳德分析学术论文生成全面的研究提示
🗂️ 数据组织
- 在中按主题自动组织论文
papers/目录 - 以JSON格式存储纸张元数据,以实现高效检索
- 在服务器重启过程中保持持久存储
🌐 部署
此服务器是 准备部署 在任何云提供商上,包括:
- AWS(EC2、Lambda、ECS)
- 谷歌云平台(计算引擎,云运行)
- Microsoft Azure(虚拟机、容器实例)
- DigitalOcean水滴
- Heroku
- 铁路
- Fly.io
服务器运行在 端口8001 并使用 流式HTTP传输 为了获得最大的兼容性。
🛠️ 本地开发和测试
先决条件
- Python 3.8+
- 紫外线 包管理器
安装步骤
- 克隆存储库
git clone
cd remote_mcp_server- 使用uv创建和激活虚拟环境
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment
uv venv
# Activate the virtual environment
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate- 安装依赖项
uv pip install -r requirements.txt- 运行服务器
uv run research_server.pyMCP检验员测试
- 启动服务器 (在第一个终端中):
uv run research_server.py- 启动MCP检查器 (在第二个终端中):
npx @modelcontextprotocol/inspector- 连接到服务器:
- 服务器URL: http://localhost:8001 - 运输: streamable-http
📖 使用示例
搜索论文
# Search for machine learning papers
search_papers(topic="machine learning", max_results=10)提取纸张信息
# Get detailed information about a specific paper
extract_info(paper_id="2301.07041")访问资源
# List available topic folders
papers://folders
# Access papers on a specific topic
papers://artificial_intelligence生成研究提示
# Create a comprehensive research prompt
generate_search_prompt(topic="quantum computing", num_papers=5)📁 项目结构
remote_mcp_server/
├── research_server.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── papers/ # Auto-generated paper storage
│ ├── topic_name/
│ │ └── papers_info.json
│ └── another_topic/
│ └── papers_info.json
└── README.md # This file🔧 配置
服务器配置了合理的默认值:
- 端口: 8001
- 运输:可流式传输http
- 论文目录:
./papers - 默认最大结果:每次搜索5篇论文
📚 api参考
工具
search_papers(topic: str, max_results: int = 5) -> List[str]
在arXiv中搜索给定主题的论文并存储其元数据。
参数:
topic:要搜索的研究主题max_results:要检索的最大论文数(默认值:5)
退货: 找到的纸张ID列表
extract_info(paper_id: str) -> str
检索特定论文的详细信息。
参数:
paper_id:ArXiv纸张ID(例如“2301.07041”)
退货: 带有纸张详细信息或错误消息的JSON字符串
资源
papers://folders
列出所有可用的研究主题文件夹。
papers://{topic}
提供特定主题论文的详细标记格式信息。
鼓励
generate_search_prompt(topic: str, num_papers: int = 5) -> str
为克劳德生成一个全面的研究提示。
参数:
topic:研究主题num_papers:要分析的论文数量(默认值:5)
🤝 贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
______________________________________________________________________
准备好彻底改变你的研究工作流程了吗? 🚀 部署此服务器,在人工智能的帮助下开始探索广阔的学术文献世界!
