AgentStack
MCP verified MIT Self-run

Helix

mcp-al1abdullah-helix · by Al1Abdullah

Clinical evidence synthesis engine. Scored, explainable access to ClinicalTrials.gov, PubMed, and openFDA in a single API call. REST + MCP server. No API key required.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-al1abdullah-helix

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Helix? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

🧬 Helix

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

[](https://github.com/Al1Abdullah/Helix/actions/workflows/ci.yml) [](https://python.org) [](LICENSE) [](https://modelcontextprotocol.io) [](https://pypi.org/project/helix-mcp/) [](CHANGELOG.md) [](https://al1abdullah-helix.hf.space)

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 |


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 — T2DType 2 Diabetes, NSCLCNon-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](LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.