NIH研究项目对话搜索工具

一个基于模型上下文协议(MCP)的服务器,用于以对话方式搜索NIH资助的研究项目和出版物。

  • by jbdamask
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jbdamask/mcp-nih-reporter

使用说明

NIH报告员MCP

一种模型上下文协议 (MCP) 聊天服务器 美国国立卫生研究院报告员以对话方式搜索美国国立卫生研究院资助的研究项目和出版物。 随附博客文章 这里.

特性

  • 使用各种标准搜索NIH资助的研究项目:
    • 财政年度
    • 主要研究者姓名
    • 组织详细信息(名称、州、城市、类型、部门)
    • 资金数额
    • 新冠肺炎应对状态
    • 筹资机制
    • 机构/中心代码
    • RCDC条款
    • 日期范围
  • 搜索与美国国立卫生研究院项目相关的出版物
  • 项目和出版物的组合搜索功能
  • 详细的项目和出版物信息,包括摘要
  • 可配置的结果限制

先决条件

  • Python 3.12或更高版本
  • UV包管理器(建议用于更快的依赖关系安装)

安装

  1. 克隆存储库:
git clone <repository-url>
cd mcp-nih-reporter
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
  1. 使用UV安装依赖项:
uv pip install -e .

用法

此MCP服务器通过以下几种工具提供对NIH RePORTER API的访问:

  • search_projects:搜索NIH资助的研究项目
  • search_publications:搜索与美国国立卫生研究院项目相关的出版物
  • search_combined:同时搜索项目和出版物
  • test_connection:测试API连接

您可以将此MCP与任何兼容MCP的客户端一起使用,例如:

  • 克劳德桌面
  • 光标
  • 其他启用MCP的工具

claude_desktop_config示例.json

{
  "mcpServers": {
	 "nih-reporter": {
	      "command": "<fully qualified path to>/uv",
	      "args": [
	        "run",
	        "--with",
	        "mcp[cli]",
	        "mcp",
	        "run",
	        "<fully qualified path to>/mcp-nih-reporter/mcp-nih-reporter.py"
	      ]
	    }
  }
}

搜索结果将以结构化格式返回,其中包含项目详细信息,包括:

  • 项目名称和摘要
  • 主要研究者信息
  • 组织详细信息
  • 资助信息
  • 项目日期和状态

调试

当MCP尝试在客户端(例如Claude Desktop)中运行时,将在根文件夹中创建日志文件。如果你有问题,请检查一下。

发展

该项目使用:

  • httpx 用于异步HTTP请求
  • mcp 用于任务控制协议的实施
  • python-dotenv 环境变量管理
  • uv 用于依赖关系管理

日志记录

日志被写入 mcp-nih-reporter.log 在项目根目录中。默认情况下,日志记录级别设置为INFO。

贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

请确保根据需要更新测试,并遵循现有的代码风格。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。