MCP server by kusy2009
CORE MCP Server
CORE MCP Server is a Model Context Protocol (MCP) Server for the CDISC CORE Rules Engine.
This MCP server is built with Python FastMCP.
Support CORE Rules Engine
- Validate clinical datasets (XPT, JSON, NDJSON, XLSX) against CDISC conformance rules
- Browse all 981+ validation rules with filtering by standard, authority, sensitivity
- Inspect individual rule details (conditions, actions, authority references)
- List supported standards, versions, and Controlled Terminology packages
- Manage engine updates from GitHub
Architecture
CORE MCP ──→ CORE Rules Engine Cache + CLI (rules, validation)
Requirements
- Python ≥ 3.12 and UV installed on your device.
- A CDISC Library API key (needed to build the rules cache).
Installation
Step 1: Set up CDISC CORE Rules Engine
If you don't already have the CORE Rules Engine, clone it and build the rules cache:
git clone https://github.com/cdisc-org/cdisc-rules-engine.git
cd cdisc-rules-engine
pip install -r requirements.txt
python core.py update-cache --apikey YOUR_CDISC_LIBRARY_API_KEY
This downloads all validation rules and controlled terminology into a local cache. It only needs to be done once.
Step 2: Install CORE MCP Server
git clone https://github.com/kusy2009/core-mcp-server.git
cd core-mcp-server
uv sync
Set the path to your CORE Rules Engine as an environment variable:
export CORE_DIR=/path/to/cdisc-rules-engine
Configure MCP Client
VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your project:
{
"servers": {
"core-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/core-mcp-server", "run", "core-mcp"],
"env": {
"CORE_DIR": "/path/to/cdisc-rules-engine"
}
}
}
}
Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"core-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/core-mcp-server", "run", "core-mcp"],
"env": {
"CORE_DIR": "/path/to/cdisc-rules-engine"
}
}
}
}
You need to replace /path/to/core-mcp-server and /path/to/cdisc-rules-engine to match your own environment.
MCP Tools
Validation
| Tool | Description |
|------|-------------|
| validate_dataset | Validate datasets against CDISC rules with standard, version, CT, and rule filters |
Rule Browsing
| Tool | Description |
|------|-------------|
| list_rules | List rules with optional filters (standard, version, authority, sensitivity, status) |
| get_rule_details | Get full details for a specific CORE rule ID |
| search_rules | Search rules by keyword in description or message |
Standards & Configuration
| Tool | Description |
|------|-------------|
| list_rule_sets | List all supported standards and versions with rule counts |
| list_ct_packages | List available Controlled Terminology packages |
| get_engine_version | Get CORE version, git commit info, cache statistics |
Engine Management
| Tool | Description |
|------|-------------|
| check_for_updates | Check if CORE has new commits on GitHub |
| update_engine | Pull latest CORE from GitHub |
License
This project is licensed under the MIT License - see the LICENSE file for details.