CDISC Library MCP
基于 CDISC Library API 的 MCP(Model Context Protocol)服务,为 AI 助手提供 SDTM、ADaM、CDASH、Controlled Terminology 等标准查询能力。
安装
pip install allensrj-cdisc-library-mcp
或使用 uv:
uv add allensrj-cdisc-library-mcp
配置 API Key(必填)
本包不包含任何 API Key,用户需自行在 CDISC Library 注册并获取 API Key,然后通过以下任一方式配置:
方式一:环境变量
export CDISC_API_KEY=你的API_KEY
allensrj-cdisc-library-mcp
方式二:.env 文件(推荐本地开发)
在运行目录或项目根目录创建 .env 文件:
CDISC_API_KEY=你的API_KEY
(可参考项目中的 .env.example,切勿将 .env 提交到 Git。)
运行
安装并配置好 CDISC_API_KEY 后:
allensrj-cdisc-library-mcp
默认使用 stdio 传输。若需其他传输方式,可在代码中修改 main.py 的 run() 或通过 MCP 客户端配置。
提供的工具概览
| 类别 | 工具示例 |
|---|---|
| 产品列表 | get_product_list |
| SDTM / SEND | get_sdtmig_class_info, get_sdtmig_dataset_info, get_sdtm_model_*, get_sendig_* |
| CDASH / CDASHIG | get_cdashig_class_info, get_cdashig_domain_info, get_cdash_model_* |
| ADaM | get_adam_product_info, get_adam_datastructure_info |
| QRS | get_qrs_info |
| Controlled Terminology | get_package_ct_info, get_package_ct_codelist_info, get_package_ct_codelist_term_info |
项目结构
├── main.py # 入口:注册工具、启动服务
├── config.py # 配置:CDISC_API_KEY、常量
├── utils/ # 通用:HTTP 客户端、响应格式化
├── tools/ # 业务:sdtm, adam, terminology, general
├── pyproject.toml # 包元数据与 allensrj-cdisc-library-mcp 入口
└── README.md
License
见 LICENSE 文件。
Metadata
Release files for allensrj-cdisc-library-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| allensrj_cdisc_library_mcp-0.1.1.tar.gz | 11.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| allensrj_cdisc_library_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.5 kB
Release files / allensrj_cdisc_library_mcp-0.1.1.tar.gz
| Download URL | allensrj_cdisc_library_mcp-0.1.1.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ebe441830805d0f79c315841b7c11c8968b27c86def25c65431e6c5ec9dd349
|
|
BLAKE2b-256 checksum How to use checksums |
87fc4954c1d6858921c2358d32f0e6c9daa9f859d5823a7daf4f08898729a884
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / allensrj_cdisc_library_mcp-0.1.1-py3-none-any.whl
| Download URL | allensrj_cdisc_library_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da0284b3747e69a9543ac3ab2b54e254a88f66433975347a420f68edc0d37878
|
|
BLAKE2b-256 checksum How to use checksums |
6a6aa37ec3dafbd4fc45072f9df8bd6a149cec5dbcd4ccec5479490544815b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for allensrj-cdisc-library-mcp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.