Skip to main content

Develop MCP Servers for automate the work processes of the Clinical Data Manager.

Project description

Clinical Data Management MCP Server

A unified MCP (Model Context Protocol) server for automating Clinical Data Manager (CDM) workflows. Provides Excel comparison, Google Calendar integration, and more through any MCP-compatible AI agent.


Available Tools

Excel & DB Spec Engine

  • compare_common_excel: Compares specific sheets of two Excel files and generates a difference report (comparison_result.xlsx). Requires specifying the primary key column.
  • compare_db_spec: Compares full CDM DB Spec workbooks. Automatically detects header positions and updates the Revision History sheet.

Calendar CSV Generator

  • make_google_calendar_csv: Extracts key schedules from a Timeline/Schedule Excel file and converts them into a CSV formatted for Google Calendar. The output file can be imported manually via Google Calendar > Settings > Import/Export.

Blank eCRF PDF Comparison

  • compare_ecrf_pdf_single: Compares two Blank eCRF PDF files and produces a single side-by-side comparison PDF. Changed pages are shown with Before (left) and After (right) layouts. Annotations use color coding: red = deleted, green = added, yellow = modified. Adjacent annotations of the same color are automatically merged.

Installation

Step 1. Install uv

uv is a fast Python package manager. Installing it also gives you uvx, which runs packages without a separate Python installation.

Mac / Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Step 2. Register the MCP Server

Choose the AI client you use and run the corresponding command once. This registers the server globally so it's available from any directory.

Claude Code

claude mcp add --scope user cdm-server uvx cdm-mcp-server

Claude Desktop

Add the following to your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cdm-server": {
      "command": "uvx",
      "args": ["cdm-mcp-server"]
    }
  }
}

Then restart Claude Desktop.

Gemini CLI

gemini mcp add cdm-server "uvx cdm-mcp-server" --scope user

Step 3. Verify the Connection

Claude Code

claude mcp list

Gemini CLI

gemini mcp list

You should see cdm-server: ✓ Connected.


Usage

Once connected, simply describe what you need in natural language:

"Compare the previous and current DB Spec files and generate a difference report. Also extract the schedule from the Timeline sheet and create a CSV for Google Calendar."

The AI agent will automatically select and call the appropriate tool.


Project Structure

src/
└── cdm_mcp_server/
    ├── __init__.py
    ├── server.py              # MCP server entry point
    └── modules/
        ├── excel_compare.py      # Excel & DB Spec comparison engine
        ├── calendar_maker.py     # Timeline parsing & Calendar CSV generator
        └── pdf_ecrf_compare.py   # Blank eCRF PDF comparison engine

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdm_mcp_server-0.2.0.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdm_mcp_server-0.2.0-py3-none-any.whl (41.6 kB view details)

Uploaded Python 3

File details

Details for the file cdm_mcp_server-0.2.0.tar.gz.

File metadata

  • Download URL: cdm_mcp_server-0.2.0.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for cdm_mcp_server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 99634371d22dad625b4dec76e38b0010efbb86fd356c7880d2fae174cd856412
MD5 29dd201d0c0548ffd8176cfe3b108a84
BLAKE2b-256 3724fc327fa6797a53d502c67d2142cc5d062cf54a24c3d830827e4dc3037ad0

See more details on using hashes here.

File details

Details for the file cdm_mcp_server-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cdm_mcp_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37bbea36c49ea44398dfe877fba5311bba2b4f028f7e3dfd8f6437acb6338f4b
MD5 6b5ed061a48f34e8a131b5007e329af0
BLAKE2b-256 e065b51fa9c2de19658bebe0de263c92ada2f047605d7158ebdc20dbce1d1766

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page