Heor Agent

by neptun2000

7 632 downloads Not rated yet MIT

About

# HEORAgent MCP Server [![npm version](https://img.shields.io/npm/v/heor-agent-mcp.svg)](https://www.npmjs.com/package/heor-agent-mcp) [![license](https://img.shields.io/npm/l/heor-agent-mcp.svg)](./LICENSE) [![node](https://img.shields.io/node/v/heor-agent-mcp.svg)](https://nodejs.org) [![Try in…

Details

License
MIT

Explore

- 45 MCP tools spanning HEOR, RWE, and pharmacovigilance
- Literature search across 44 data sources with PRISMA audit trail
- Risk of bias assessment (RoB 2, ROBINS-I, AMSTAR-2)
- Cost‑effectiveness modelling (Markov, PartSA, PSA, OWSA, CEAC, EVPI)
- HTA dossier drafting for NICE, EMA, FDA, IQWiG, HAS, EU JCA
- Persistent project knowledge base with Obsidian‑compatible wiki
- AI transparency disclosure aligned with ISPOR ELEVATE-GenAI

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Heor Agent
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository


Pick your MCP host:

- ChatGPT (Plus / Team): HEORAgent on ChatGPT — type /heor to use it; works on any conversation.
- Web UI (Claude, BYOK): web-michael-ns-projects.vercel.app — bring your Anthropic API key; runs the full v1.6.3 toolset.

---

npx heor-agent-mcp --http # port 8787
MCP_HTTP_PORT=3000 npx heor-agent-mcp # custom port

HTTP endpoints:
- POST/GET/DELETE /mcp — MCP Streamable HTTP protocol
- GET /health — health check
- GET /.well-known/mcp/server-card.json — Smithery discovery

---

literature_search

Search 44 data sources with a full PRISMA-style audit trail

screen_abstracts

PICO-based relevance scoring and study design classification

risk_of_bias

Cochrane RoB 2 / ROBINS-I / AMSTAR-2 with GRADE RoB domain summary

evidence_network

Build treatment comparison network and assess NMA feasibility

evidence_indirect

Bucher and frequentist NMA with **automatic consistency check** vs direct h2h evidence (NICE DSU TSD 18)

population_adjusted_comparison

MAIC and STC for population-adjusted indirect comparisons

survival_fitting

Fit 5 parametric distributions to KM data (NICE DSU TSD 14)

itc_feasibility

Assess the 3-assumption ITC framework and recommend Bucher / NMA / MAIC / STC / ML-NMR

cost_effectiveness_model

Markov / PartSA / decision-tree CEA with PSA, OWSA, CEAC, EVPI, EVPPI; QALY + evLYG support

budget_impact_model

ISPOR-compliant BIA with year-by-year output and treatment-displacement modelling

hta_dossier

Draft submissions for NICE, EMA, FDA, IQWiG, HAS, and EU JCA — GRADE table uses structured RoB when `rob_results` passed; **inconsistency uses I² when `heterogeneity_per_outcome` passed**; **GRADE upgrading (Guyatt 2011) supported via `upgrading_per_outcome`**

utility_value_set

EQ-5D-3L / 5L value-set reference + **baseline-utility-aware** Biz 2026 ICER impact estimator (UK 5L transition)

validate_links

HTTP validation of citation URLs before presentation

project_create

Initialize a persistent project workspace

knowledge_search

Full-text search across a project's raw/ and wiki/ trees

knowledge_read

Read any file from a project's knowledge base

knowledge_write

Write compiled evidence to the project wiki (Obsidian-compatible)

| Tool | Purpose |
|------|---------|
| literature_search | Search 44 data sources with a full PRISMA-style audit trail |
| screen_abstracts | PICO-based relevance scoring and study design classification |
| risk_of_bias | Cochrane RoB 2 / ROBINS-I / AMSTAR-2 with GRADE RoB domain summary |
| evidence_network | Build treatment comparison network and assess NMA feasibility |
| evidence_indirect | Bucher and frequentist NMA with automatic consistency check vs direct h2h evidence (NICE DSU TSD 18) |
| population_adjusted_comparison | MAIC and STC for population-adjusted indirect comparisons |
| survival_fitting | Fit 5 parametric distributions to KM data (NICE DSU TSD 14) |
| itc_feasibility | Assess the 3-assumption ITC framework and recommend Bucher / NMA / MAIC / STC / ML-NMR |
| cost_effectiveness_model | Markov / PartSA / decision-tree CEA with PSA, OWSA, CEAC, EVPI, EVPPI; QALY + evLYG support |
| budget_impact_model | ISPOR-compliant BIA with year-by-year output and treatment-displacement modelling |
| hta_dossier | Draft submissions for NICE, EMA, FDA, IQWiG, HAS, and EU JCA — GRADE table uses structured RoB when rob_results passed; inconsistency uses I² when heterogeneity_per_outcome passed; GRADE upgrading (Guyatt 2011) supported via upgrading_per_outcome |
| utility_value_set | EQ-5D-3L / 5L value-set reference + baseline-utility-aware Biz 2026 ICER impact estimator (UK 5L transition) |
| validate_links | HTTP validation of citation URLs before presentation |
| project_create | Initialize a persistent project workspace |
| knowledge_search | Full-text search across a project's raw/ and wiki/ trees |
| knowledge_read | Read any file from a project's knowledge base |
| knowledge_write | Write compiled evidence to the project wiki (Obsidian-compatible) |

Projects live at ~/.heor-agent/projects/{project-id}/ with:
- raw/literature/ — auto-populated literature search results
- raw/models/ — auto-populated model runs
- raw/dossiers/ — auto-populated dossier drafts
- reports/ — generated DOCX files
- wiki/ — manually curated, Obsidian-compatible markdown with [[wikilinks]]

Pass project: "project-id" to any tool and results are saved automatically.

---

Literature search
> Search the literature for tirzepatide cardiovascular outcomes in type 2 diabetes. Use PubMed, ClinicalTrials.gov, and NICE TAs.

Survival curve fitting
> Fit survival curves to this OS data from KEYNOTE-189: time 0 survival 1.0, time 6 survival 0.88, time 12 survival 0.72, time 18 survival 0.60, time 24 survival 0.51, time 36 survival 0.38. Use months.

Budget impact
> Estimate the 5-year NHS budget impact of semaglutide for obesity. 200,000 eligible patients, drug cost £1,200/year, comparator (orlistat) £250/year, uptake 15% year 1 to 40% year 5.

Cost-effectiveness model
> Build a CE model for semaglutide vs sitagliptin in T2D, NHS perspective, lifetime horizon, with PSA.

Indirect comparison (Bucher)
> I have two trials: SUSTAIN-1 showed semaglutide vs placebo HR 0.74 (0.58-0.95) for HbA1c, and AWARD-5 showed dulaglutide vs placebo HR 0.78 (0.65-0.93). Run a Bucher indirect comparison between semaglutide and dulaglutide.

MAIC (population-adjusted comparison)
> Run a MAIC between SUSTAIN-7 (N=300, semaglutide vs placebo, HR 0.74, CI 0.58-0.95, age 56±10, BMI 33±5) and AWARD-11 (N=600, dulaglutide vs placebo, HR 0.78, CI 0.65-0.93, age 58±9, BMI 35±6). Adjust for age and BMI.

Abstract screening workflow
> Search PubMed for pembrolizumab in NSCLC, then screen the results with population adults with NSCLC, intervention pembrolizumab, comparator chemotherapy, outcomes overall survival and PFS.

Evidence network + NMA feasibility
> Search for GLP-1 receptor agonists in T2D using PubMed, build an evidence network from the results, and assess NMA feasibility.

CE model with scenarios
> Build a CE model for dapagliflozin vs placebo in heart failure, NHS perspective, lifetime horizon, with PSA. Add scenarios: "20% price reduction" with drug cost 400, "10-year horizon" with time_horizon 10yr.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "heor agent": {
            "heor-agent": {
                "command": "npx",
                "args": [
                    "heor-agent-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "heor-agent": {
        "command": "npx",
        "args": [
            "heor-agent-mcp"
        ]
    }
}

npm version
license
node
Try in ChatGPT
Web UI
EU AI Pact
AI Transparency

AI-powered Health Economics and Outcomes Research (HEOR) agent as a Model Context Protocol server.

> Try it now → HEORAgent on ChatGPT (ChatGPT Plus / Team)
> · Web UI (Claude, BYOK)
> · npx heor-agent-mcp for Claude Desktop / Claude Code

Automates literature review across 44 data sources, risk of bias assessment (RoB 2 / ROBINS-I / AMSTAR-2), EQ-5D value set impact estimation, state-of-the-art cost-effectiveness modelling, HTA dossier preparation for NICE / EMA / FDA / IQWiG / HAS / EU JCA, and a persistent project knowledge base — all callable as MCP tools from Claude.ai, Claude Code, and any MCP-compatible host.

Built for pharmaceutical, biotech, CRO, and medical affairs teams who need rigorous, auditable HEOR workflows without building infrastructure from scratch.

---

First 60 seconds

Verify your install works before wiring it into Claude / Cursor / Continue. Open two terminal tabs:

Tab 1 — start the server in HTTP mode:

MCP_HTTP_PORT=8080 npx heor-agent-mcp@latest

You should see:

HEORAgent MCP server running on HTTP port 8080

Tab 2 — confirm it responds:

curl -s http://localhost:8080/health

Expected output:

{"status":"ok","server":"heor-agent-mcp","version":"1.10.2"}

✅ If you see the JSON above, the npm package works on your machine. Any further issues are in your MCP client config (Claude Desktop / Cursor / Continue), not the server.

❌ If you see command not found, run node --version — you need Node ≥20. If you see a different error, file a quick issue at https://github.com/neptun2000/heor-agent-mcp/issues with the output.

Now stop Tab 1 (Ctrl+C) and pick your client below — you don't need the HTTP mode for the actual integration; Claude / Cursor / Continue all use stdio.

---

Quick Start (per client)

Pick your MCP host:

Claude Code

claude mcp add heor-agent -- npx heor-agent-mcp

Then restart Claude Code.

Claude Desktop / claude.ai Desktop

Edit your MCP config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS) and add:

{
  "mcpServers": {
    "heor-agent": {
      "command": "npx",
      "args": ["heor-agent-mcp"]
    }
  }
}

Then restart Claude Desktop.

Cursor / Continue / Cline

Same config shape as Claude Desktop above; the file path differs by client:
- Cursor: Settings → MCP → Add new MCP server
- Continue: ~/.continue/config.json under the mcpServers key
- Cline: Settings → MCP Servers → Edit MCP Settings

Hosted (no install)

- ChatGPT (Plus / Team): HEORAgent on ChatGPT — type /heor to use it; works on any conversation.
- Web UI (Claude, BYOK): web-michael-ns-projects.vercel.app — bring your Anthropic API key; runs the full v1.6.3 toolset.

---

Your first prompt

Once your MCP host is configured, paste any of these to verify end-to-end:

Run a literature search for semaglutide cost-effectiveness in T2D
using PubMed, NICE TAs, and ICER reports. Set runs=2.
Run irb_review for an industry-funded interventional Phase 2 trial in
relapsed MM — multi-site US+EU, pseudonymized data, greater-than-minimal
risk. I need the review tier, GDPR/HIPAA DMP, SAE framework, and the
ready-to-paste cover letter.
Run jca_pico_scope for osimertinib in EGFR-mutant 2L NSCLC across
DE/FR/IT/ES/NL. Then prepare an EU JCA dossier draft using the picos.

The first prompt exercises literature_search + validate_links (free, no API keys needed). The second exercises irb_review (pure decision tree, instant). The third exercises jca_pico_scope → hta_dossier pipeline.

---

What's new

See CHANGELOG.md for full version history. Current: v1.23.0 (45 tools, 44 data sources).

v1.17.0–v1.23.0 — Living Evidence Intelligence (review → reimbursement)

A connected RWE + cross-deliverable layer (see docs/FEATURES.md for the full table):

- RWE & real-world safety: rwe.method_select (study-design selection), pv.comparative_safety (class-level FAERS-style AE ranking), evidence.triangulation (per-outcome RCT↔RWE concordance).
- Governed social listening: rwe.social_listening_protocol + pv.social_listening_triage (GVP Module VI ICSR triage — no scraping).
- One source of truth: evidence.claim_registry (author/auto-import a figure once), evidence.consistency_check (detect drift across dossier/publication/payer), publication.draft (reuse claims; CONSORT/STROBE/PRISMA/CHEERS + GPP2022/ICMJE).
- Living orchestration: evidence.gap_analysis (iEGP), workflow.living_evidence (SLR → living KB → JCA/HTA runbook), hta.living_gvd (regenerate only the GVD sections whose figures changed).

v1.13.0 — AI Transparency Disclosure (ISPOR ELEVATE-GenAI aligned)

16 tools now accept an ai_disclosure_level parameter:

| Value | Behaviour |
|-------|-----------|
| "off" | No disclosure block appended |
| "standard" | Model ID · tools called · data sources · date · human-review reminder |
| "submission" | Standard block + ISPOR ELEVATE-GenAI full citation |

Default by tool tier: HTA/regulatory tools (hta_dossier, hta_workflow, jca_pico_scope, pv_classify, etc.) default to "submission"; analysis tools (risk_of_bias, cost_effectiveness_model, etc.) default to "standard". Pass ai_disclosure_level: "off" to suppress.

Environment-level default: set HEORAGENT_DISCLOSURE_LEVEL=off|standard|submission to override the built-in per-tool defaults globally.

Web UI persona defaults: payer and HTA-reviewer personas always use "submission"; analyst personas default to "standard" and switch to "off" for scratch / exploratory prompts.

v1.0.4 highlights (still in v1.6.3)

Pharmacovigilance + workflow orchestration:

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.