临床研究数据协议服务器

K-CRIS MCP服务器是一个用于连接和管理韩国疾病管理厅临床研究数据库OpenAPI的协议服务器,提供临床研究列表和详细信息的查询功能。

  • by HyeonhoonLee
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 HyeonhoonLee/kcris-mcp-server

使用说明

K-CRIS MCP服务器

公共数据门户 疾病管理局临床研究DB 集成OpenAPI 模型上下文协议(MCP)服务器是。
有关临床研究信息服务(Clinical Research information Service,CRIS)的更多信息, 临床研究信息服务(CRIS)简介请参考。

功能

工具 说明
kcris_list_studies 符合搜索词、页面的临床研究 列表 查询(CRIS注册号、研究题目、研究种类等)
kcris_get_study 使用CRIS注册号(例如KCT0002243)进行临床研究 详细 查询(临床研究信息、参与机构信息、研究非支持机构信息、研究责任机构信息、仲裁群信息、主要结果变量信息等)

要求

安装

1.Git clone&转到项目

git clone https://github.com/your-username/kcris-mcp-server.git
cd kcris-mcp-server

2.安装Python依赖性

pip install -r requirements.txt

或 uv如果使用:

uv pip install -r requirements.txt

运行本地软件包需要安装:

pip install -e .
# 또는 uv 사용 시
uv pip install -e .

3.设置环境变量

cp .env.example .env

.env 编辑文件以设置以下变量:

使用方法

运行服务器(本地)

安装依赖性后:

uv run kcris-mcp-server

或者,如果安装了软件包:

python -m kcris_mcp_server

Claude Desktop的使用方法

在Claude Desktop配置文件中添加以下内容:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json

Claude桌面 设置→Developer→Edit Config 可以用打开。

方法1:直接使用python

{
  "mcpServers": {
    "kcris": {
      "command": "python",
      "args": ["-m", "kcris_mcp_server"],
      "cwd": "/path/to/kcris-mcp-server",
      "env": {
        "DATA_GO_KR_SERVICE_KEY": "your-service-key-here"
      }
    }
  }
}

安装依赖性(pip install -r requirements.txt)和安装软件包(pip install -e .)先完成后再使用。

方法2:使用uv(建议)

{
  "mcpServers": {
    "kcris": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/kcris-mcp-server",
        "run",
        "kcris-mcp-server"
      ],
      "env": {
        "DATA_GO_KR_SERVICE_KEY": "your-service-key-here"
      }
    }
  }
}

参考:Claude Desktop(GUI)中 uv可能不在PATH中。这时 command呃 uv的 完整路径请插入(例如: /Users/username/.local/bin/uv).在终端 which uv可以通过确认。

方法3:使用uvx(本地项目)

{
  "mcpServers": {
    "kcris": {
      "command": "/path/to/uvx",
      "args": ["--from", "/path/to/kcris-mcp-server", "kcris-mcp-server"],
      "env": {
        "KCRIS_SERVICE_KEY": "your-service-key-here"
      }
    }
  }
}
  • 设置后,请完全退出Claude Desktop,然后重新运行。

问题和回答示例

想做什么 示例问题
按条件/关键词搜索列表 “请搜索糖尿病临床研究列表”,“请给我看10个与心脏相关的正在招募的临床试验”
【查看特定研究详细信息】“KCT0002243告知研究详细信息”,“CRIS注册号KCT0001234告知参与机构和研究责任机构”
调整页面“搜索糖尿病,给我看第二页的结果”

示例对话:

  • 用户:帮我搜索10个糖尿病临床研究目录。

  • 回应:(使用K-CRIS工具 kcris_list_studies(srch_word="당뇨", num_of_rows=10, page_no=1) 调用后整理并显示结果)

  • 用户:KCT0002243告诉我研究详细信息。

  • 回应:(使用K-CRIS工具 kcris_get_study(cris_number="KCT0002243") 呼叫后总结研究题目、招募情况、参与机构、仲裁群等。)


API注释

  • 服务URL: http://apis.data.go.kr/1352159/crisinfodataview
  • 查询列表: GET .../list — serviceKey, resultType=json, srchWord, numOfRows(1~50), pageNo
  • 详细查询: GET .../detail — serviceKey, resultType=json, crisNumber(CRIS注册号)

许可证

该项目根据MIT许可证获得许可。