Skip to main content

🧬 Helix

Clinical evidence synthesis engine — free, no API key, production-grade.


CI Python 3.11+ License: MIT MCP Compatible PyPI Version HuggingFace


Give any AI model — or any HTTP client — structured, scored access to the world's three largest free health databases. In a single call.


400,000+ Clinical Trials 35M+ PubMed Papers FDA Drug Labels < 4s Response
ClinicalTrials.gov live Full abstracts via efetch openFDA drug information All 3 databases in parallel


See It

curl -X POST http://localhost:8000/synthesize \
  -H "Content-Type: application/json" \
  -d '{"condition": "T2D", "age": 45, "sex": "MALE"}'
{
  "clinicalInsight": {
    "condition": "Type 2 Diabetes",
    "expanded_from": "T2D",
    "total_trials": 16,
    "top_score": 94.0,
    "average_score": 77.66
  },
  "trialProfiles": [
    {
      "id": "NCT05099770",
      "title": "PROACT: A Study of REACT in Subjects With Type 2 Diabetes",
      "phase": ["PHASE3"],
      "final_score": 94.0,
      "score_vector": {
        "condition_match": 1.0,
        "eligibility_fit": 0.8,
        "evidence_support": 1.0,
        "trial_phase_maturity": 1.0
      },
      "risk_flags": []
    }
  ],
  "excludedTrials": [
    {
      "id": "NCT00000042",
      "title": "Pediatric Glucose Management Study",
      "exclusion_reason": "age 45 above max 18"
    }
  ]
}

Every trial gets a score vector showing exactly why it ranked where it did. Ineligible trials appear in excludedTrials with a precise rejection reason — they never silently disappear.


Install

pip install helix-mcp

REST API

helix-api
# → http://localhost:8000/docs

MCP Server (Claude Desktop)

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "helix": { "command": "helix" }
  }
}

Then ask Claude: "Find clinical trials for a 52-year-old female with NSCLC in London"

Docker

docker compose up

How It Works

When you call synthesize_evidence, Helix:

  1. Expands medical abbreviations — T2D → Type 2 Diabetes, NSCLC → Non-Small Cell Lung Cancer (70+ mappings)
  2. Resolves conditions to authoritative NLM MeSH terms before querying PubMed — the same vocabulary PubMed uses internally
  3. Queries ClinicalTrials.gov, PubMed, and openFDA concurrently
  4. Scores every trial using a BM25 relevance index built across the full trial corpus
  5. Returns ranked profiles with a four-component score_vector and an explainability_vector showing the raw numbers behind each score
Condition input
      ↓
synonym expansion → MeSH resolution
      ↓
ClinicalTrials.gov ──┐
PubMed (MeSH query) ─┼── parallel asyncio.gather
openFDA ─────────────┘
      ↓
BM25 corpus scoring across all trials
      ↓
hard eligibility gate (age + sex)
      ↓
ranked profiles + excluded trials + clinical insight

Scoring Formula

final_score = 100 × (
    0.35 × condition_match        # BM25 relevance: condition vs trial corpus
  + 0.30 × eligibility_fit        # age-window centrality (1.0=center, 0.5=edge)
  + 0.20 × evidence_support       # fraction of PubMed papers supporting condition
  + 0.15 × trial_phase_maturity   # Phase 3/4=1.0, Phase 2=0.6, Phase 1=0.3
)

Tools

Tool Description
synthesize_evidence Full cross-database synthesis — scored, ranked, explained
find_trials Search ClinicalTrials.gov with condition, location, sex, phase
search_papers Search PubMed with MeSH-resolved queries, full abstracts
lookup_drug FDA drug information by brand or generic name
match_eligibility Match a patient profile to trials ranked by eligibility fit
health_check Live latency check against all three upstream APIs

All tools accept medical abbreviations. All tools are cached. All tools never raise.


Data Sources

Source Access
ClinicalTrials.gov Free, no key
PubMed E-utilities Free, email optional
openFDA Free, no key
NLM MeSH API Free, no key

Development

git clone https://github.com/Al1Abdullah/Helix.git
cd Helix
pip install -e ".[dev]"
pytest

License

MIT — see LICENSE

Metadata

Release files for helix-mcp 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for helix-mcp 1.5.0
File Size Uploaded
helix_mcp-1.5.0.tar.gz 29.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for helix-mcp 1.5.0
File Interpreter ABI Platform
helix_mcp-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.8 kB

Release files / helix_mcp-1.5.0.tar.gz

Download URL helix_mcp-1.5.0.tar.gz
Size 29.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a0835c61063aa42b676049828900304a552d1bb7ee95c159fcdd8d7ab51b4bc1
BLAKE2b-256 checksum
How to use checksums
e4185ead7967a5d1fbaa2517eb02dcc76274e472c8e7f30a8aa92e43438f9431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / helix_mcp-1.5.0-py3-none-any.whl

Download URL helix_mcp-1.5.0-py3-none-any.whl
Size 28.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
742639b4501abe3e8ea9b7589011eb8e6a4c2b97e003c7846432105bea99aeab
BLAKE2b-256 checksum
How to use checksums
2681ddfb8732ad9ad9b1f95bc8978716749f1242074d55ebd0b0adf17b82a756
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page