项目简介
NIH RePORTER MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端应用,它充当 LLM 客户端和 NIH RePORTER API 之间的桥梁。该服务器提供了一组工具,允许用户通过自然语言指令,利用 LLM 客户端来搜索和检索美国国立卫生研究院 (NIH) 资助的科研项目和相关的科学出版物数据。
主要功能点
- 科研项目搜索 (search_projects): 允许用户根据多种标准(如财年、PI 姓名、机构信息、资助金额等)搜索 NIH 资助的科研项目。
- 科学出版物搜索 (search_publications): 允许用户搜索与 NIH 科研项目相关的出版物。
- 综合搜索 (search_combined): 结合项目和出版物搜索功能,一次性检索相关信息。
- 连接测试 (test_connection): 用于验证与 NIH RePORTER API 的连接是否正常。
- 结构化结果输出: 所有搜索结果均以结构化的 Markdown 格式返回,方便 LLM 客户端理解和展示。
安装步骤
-
克隆仓库:
git clone https://github.com/jbdamask/mcp-nih-reporter cd mcp-nih-reporter -
创建并激活虚拟环境:
python -m venv .venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows -
安装依赖:
uv pip install -e . -
配置 API 密钥:
- 在项目根目录下创建 '.env' 文件。
- 在 '.env' 文件中添加 Data.gov API 密钥 (需要注册获取):
DATA_GOV_API_KEY=YOUR_API_KEY_HERE
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 NIH RePORTER MCP 服务器:
{ "serverName": "NIH RePORTER MCP Server", "command": "python", "args": ["server.py"] }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'python' 命令的参数,'["server.py"]' 指定运行 'server.py' 文件。
注意:
- 确保已安装 Python 3.12 或更高版本。
- 确保已设置 'DATA_GOV_API_KEY' 环境变量。
- 首次运行前,请先完成安装步骤。
基本使用方法
-
启动服务器: 在虚拟环境激活的状态下,在项目根目录运行以下命令启动 MCP 服务器:
python server.py服务器成功启动后,将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
-
在 MCP 客户端中使用:
- 在兼容 MCP 协议的 LLM 客户端(如 Claude Desktop, Cursor 等)中,配置上述服务器 JSON 信息。
- 使用自然语言指令,客户端会将指令转换为对 MCP 服务器工具的调用。
- 例如,在客户端中输入类似 "搜索 2023 年关于癌症的 NIH 科研项目" 的指令,客户端会调用 'search_projects' 工具,并将 "2023年" 和 "癌症" 等信息作为参数传递给服务器。
- 服务器会调用 NIH RePORTER API 进行搜索,并将结果以 Markdown 格式返回给客户端。
工具调用示例:
以下是一些工具及其参数的示例,可以在 MCP 客户端中调用:
- 搜索项目:
search_projects(fiscal_years="2023", rcdc_terms="Cancer", limit=5) - 搜索出版物:
search_publications(core_project_nums="CA123456", limit=3) - 综合搜索:
search_combined(fiscal_years="2022", pi_names="John Doe", include_publications=true, limit=5)
请参考 'server.py' 文件中每个工具函数的参数定义和描述,以了解更详细的工具使用方法和参数选项。
信息
分类
网页与API