LitSynth MCP服务器
使用ArXiv实现智能学术论文发现和语义搜索的模型上下文协议(MCP)服务器。该服务器提供用于搜索学术论文和使用最先进的句子转换器进行语义相似性分析的工具。
特性
- ArXiv搜索:使用自动URL编码查询复杂搜索词的ArXiv数据库
- 语义搜索:使用AI驱动的语义相似性查找与您的研究最相关的论文
- 稳健的错误处理:妥善处理网络问题和格式错误的数据
- 灵活输入:支持各种查询格式,包括空格和特殊字符
可用工具
1. greet(name: str)
简单的问候功能,用于测试服务器连接。
参数:
name:String-要问候的姓名
退货: 祝福
2. search_query_arxiv(query: str, max_results: int = 5)
在ArXiv数据库中搜索与您的查询匹配的学术论文。
参数:
query:String-搜索词(自动URL编码)max_results:Integer-要返回的最大结果数(默认值:5)
退货: 结构化回复,包括以下论文:
- 标题
- 作者
- 总结/摘要
- ArXiv 链接
- 状态消息
例子:
search_query_arxiv("multimodal agents", 3)3. search_semantic_arxiv(query: str, papers: list, top_k: int = 5)
对论文列表进行语义搜索,以找到最相关的论文。
参数:
query:String-语义匹配的研究查询papers:列表-要搜索的论文(来自search_query_arxiv或手动列表)top_k:整数-要返回的最相关论文的数量(默认值:5)
退货: 相似性得分排名的论文包括:
- 标题
- 总结
- 作者
- ArXiv 链接
- 相似性得分(0-1)
例子:
papers = search_query_arxiv("machine learning")
relevant = search_semantic_arxiv("deep reinforcement learning", papers, 3)4. search_hf_datasets(query: str, limit: int = 5)
对Hugging Face进行研究,以找到与某个主题最相关的数据集
参数:
query:String-匹配数据集的研究查询limit:Integer-显示的数据集限制数
退货: 排名数据集信息
- I had 的常用口语形式
- 描述
- 网址
search_hf_datasets("biology", 5)5. get_dataset_details(dataset_id: str)
获取特定Hugging Face数据集的详细信息。它提供了全面的分析,包括结构、使用示例和研究应用。
参数:
dataset_id:String-来自Hugging Face的数据集ID(例如,“microsoft.com”)
退货: 详细的数据集信息,包括元数据、结构和使用示例
- 数据集Id
- 网址
- 基本信息
- 结构
- 文件
- 用法信息
- 研究应用
6. explore_dataset_files(dataset_id: str)
探索拥抱脸数据集的结构,而无需完全下载。 显示可用文件/拆分,并提供数据的示例预览。
参数:
dataset_id:String-来自Hugging Face的数据集ID(例如,“microsoft.com”)
退货: 数据集结构信息,包括文件、拆分和示例数据
- 数据集Id
- 网址
- 结构
- 可用文件
- 示例预览
- 总结
7. explore_dataset_structure(dataset_id: str, split_name: str = None)
探索具有详细分割信息的拥抱脸数据集的结构。
参数:
dataset_id:String-来自Hugging Face的数据集ID(例如,“microsoft.com”)split_name:可选的具体拆分(例如,“训练”、“测试”、“验证”)
退货: 数据集结构概述,包括拆分、文件类型和示例数据
- 数据集Id
- 网址
- 概述
- 可用拆分
- 文件类型
- 样品数据
- 描述
- 后续步骤
安装
先决条件
- Python 3.8+
- 点
设置
- 克隆或下载项目文件
git clone https://github.com/RayaneChCh-dev/LitSynth-MCP-Server.git- 安装依赖项:
pip install -r requirements.txt- 运行MCP服务器:
fastmcp run my_server.py:mcp --transport http --port 依赖项
该项目需要以下软件包(请参见 requirements.txt):
fastmcp>=0.1.0-MCP框架feedparser>=6.0.10-ArXiv API的RSS/Atom提要解析requests>=2.31.0-HTTP请求sentence-transformers>=2.2.2-语义搜索和嵌入torch>=2.0.0-PyTorch用于神经网络transformers>=4.21.0-拥抱面部变压器numpy>=1.21.0-数值计算
项目结构
ai-research-assistant/
├── my_server.py # Main MCP server implementation
├── requirements.txt # Python dependencies
└── README.md # This file使用示例
基本ArXiv搜索
搜索特定主题的论文:
# Search for papers about transformers
results = search_query_arxiv("attention mechanisms transformers", 5)语义论文发现
从搜索结果中查找最相关的论文:
# First, get papers on a broad topic
papers = search_query_arxiv("artificial intelligence", 20)
# Then find the most relevant ones for your specific research
relevant_papers = search_semantic_arxiv("graph neural networks", papers, 5)处理复杂查询
服务器会自动处理特殊字符和空格:
# These work automatically without manual encoding
search_query_arxiv("machine learning & deep learning: survey")
search_query_arxiv("reinforcement learning (RL) applications")技术细节
语义搜索模型
服务器使用 sentence-transformers/all-MiniLM-L6-v2 语义嵌入模型。此模型:
- 提供384维句子嵌入
- 平衡速度和精度
- 在学术文本相似性方面效果良好
错误处理
服务器包括全面的错误处理:
- URL译码:自动处理空格和特殊字符
- 网络错误:ArXiv不可用时性能下降
- 数据验证:安全处理丢失或格式错误的纸质数据
- 空结果:找不到文件时的信息
响应格式
所有函数都返回结构化响应:
{
"message": "Status or info message",
"results": [
{
"title": "Paper Title",
"author": ["Author 1", "Author 2"],
"summary": "Abstract text...",
"link": "https://arxiv.org/abs/...",
"similarity_score": 0.85 // Only in semantic search
}
]
}故障排除
常见问题
“URL不能包含控制字符”错误:
- 这在当前版本中已通过自动URL编码修复
- 确保您使用的是最新版本的服务器
“未找到论文”结果:
- 检查您的查询拼写
- 尝试更广泛的搜索词
- 验证ArXiv服务可用性
语义搜索速度慢:
- 首次运行下载变压器型号(~90MB)
- 后续的运行速度要快得多
- 考虑减少
top_k为了更快的结果
内存问题:
- 句子转换器模型需要~500MB RAM
- 如果遇到内存问题,请减小批处理大小
贡献
请随时提交问题、功能请求或拉取请求,以改进AI研究助理。
许可证
这个项目是开源的。请检查商业用途的个人依赖许可证。
致谢
- 档案 免费提供学术论文
- 句子转换 语义搜索功能
- FastMCP 用于MCP服务器框架
