项目简介
NCBI Entrez MCP Server是一个功能强大的后端服务,旨在通过Model Context Protocol (MCP) 标准化接口,让大型语言模型(LLM)客户端能够轻松访问和利用美国国家生物技术信息中心(NCBI)的丰富生物医学数据。它集成了E-utilities(如PubMed、Gene、Protein)、BLAST序列比对、PubChem化学信息和PMC全文文章等服务,并提供了先进的数据暂存功能,允许用户对暂存的数据执行复杂的SQL查询。
主要功能点
- 全面的NCBI数据访问: 轻松获取PubMed上的医学文献、Gene数据库的基因信息、Protein数据库的蛋白质序列,以及Nucleotide数据库的核酸序列等。
- 智能搜索与比对: 支持文本搜索以查找相关文献和数据记录,还能提交生物序列进行BLAST比对,找出相似的基因或蛋白质。
- 化学与文章信息: 访问PubChem中的化学分子性质、生物活性数据,并获取PMC上的开放获取全文文章及生成规范的引文。
- 大型数据处理: 自动将您查询到的庞大数据集(例如上百篇文献或基因序列)智能地暂存到一个临时的关系型数据库中,避免一次性传输过多的原始数据。
- 数据深度分析: 对暂存的数据使用标准SQL语句进行查询,如同操作普通数据库一样,可以进行筛选、排序、聚合统计,满足高级分析需求。
- AI助手友好接口: 遵循MCP标准协议,使得AI助手(如大型语言模型)能够理解并自动调用这些功能,获取所需信息并进行数据处理。
- 高效通信支持: 提供多种数据传输方式(如流式HTTP和SSE),确保AI助手与服务器之间的数据交换快速且稳定。
- 状态与能力声明: 服务器能向AI助手说明自己能做什么,提供哪些数据访问权限,并管理用户会话状态。
安装步骤
- 克隆仓库: 在您的本地机器上,打开终端并运行以下命令,将项目仓库克隆到本地:
git clone https://github.com/QuentinCody/entrez-mcp-server cd entrez-mcp-server - 安装依赖: 进入项目目录后,安装所有必要的Node.js依赖:
npm install - 启动服务器: 运行以下命令启动MCP服务器:
服务器将在默认端口启动。npm start
服务器配置(供MCP客户端使用)
MCP客户端(如Claude Desktop或Cloudflare AI Playground)需要配置MCP服务器的连接信息。以下是一个配置示例,请根据您的部署环境调整服务器URL:
{ "mcpServers": { "ncbi-entrez": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" // 如果在本地运行,请使用此URL。 // 如果已部署到Cloudflare Workers,请替换为实际的服务器URL,例如: // "https://remote-mcp-server-authless.your-account.workers.dev/sse" ] } } }
- '"ncbi-entrez"': 这是您给MCP服务器起的名称,客户端会用此名称引用该服务器。
- '"command"': 运行MCP代理的命令,通常是'"npx"'。
- '"args"': 代理的参数列表。
- 第一个参数'"mcp-remote"': 用于连接远程MCP服务器的工具。
- 第二个参数'"http://localhost:8787/sse"': 您的MCP服务器的实际访问地址。请根据您的具体部署情况进行选择和替换。
基本使用方法
- 连接MCP客户端: 根据上述“服务器配置”说明,将此MCP服务器添加到您选择的MCP客户端(如Claude Desktop或Cloudflare AI Playground)。
- 获取API Key(可选,推荐): 为了获得更快的API请求速率限制(从3次/秒提升到10次/秒),请访问NCBI API Key注册页面获取免费API Key。然后将其设置为环境变量:'export NCBI_API_KEY="您的API密钥"',并重启MCP服务器。
- 使用工具: 一旦客户端连接成功,LLM将能够发现并调用服务器提供的各种工具。例如:
- 搜索PubMed文章: 使用'entrez-query'工具的'search'操作,例如:“使用 'entrez-query' 工具搜索关于“癌症治疗”的PubMed文章。”
- 获取文章摘要: 使用'entrez-query'工具的'fetch'操作并指定'rettype="abstract"'来获取文章摘要。
- 暂存和查询数据: 对于大量搜索结果,可以使用'entrez-data'工具的'fetch_and_stage'操作将数据暂存,然后使用'query_staged_data'工具执行SQL查询来分析数据。
- 检查API密钥状态: 使用'system-api-key-status'工具来验证API密钥是否正确配置。
- 探索工具能力: 使用'entrez-capabilities'工具来查看所有可用的工具、它们的操作、参数以及用例提示。
信息
分类
网页与API