Heor Agent MCP server
io.github.neptun2000/heor-agent·v1.35.0·9 starsHEOR MCP server: literature search, CEA, BIA, NMA/MAIC, HTA dossiers (NICE/FDA/EMA/JCA).
9 stars817 downloads/wk
Reviews
Write oneNobody has reviewed Heor Agent yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Heor Agent tools (53, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
data.claims_queryQuery real-world claims and survey data across 14 datasets spanning the US and Latin America.
data.query_agentValidated epidemiology agent. Use this INSTEAD of data.claims_query when you need
epidemiology.extractBuild a structured epidemiology extraction table (country × prevalence × incidence × definition × year) from agent-extracted rows. Applies an explicit source-quality hierarchy (IHME GBD/WHO > national survey/registry > systematic review > single observational study) and Hoy et al. 2012 / JBI prevalence-study checklist scoring. Use after literature_search (with literature_search_plan) and screen_ab
evidence.claim_registryAuthor evidence claims once and reference them by ID across deliverables (dossiers, publications, payer materials). A claim is a single source-of-truth statement — an ICER, an effect estimate, a prevalence — persisted in the project knowledge base. Actions: 'upsert' (create/update a claim; id auto-derived from the statement if omitted), 'list', 'get', 'remove', and 'import' (auto-register claims f
evidence.clinical_scaleScore neurology & cognitive outcome scales (UMSARS/UPDRS/MDS-UPDRS/ADAS-Cog/MoCA/MMSE). Returns total + subscale scores, MCID-based responder classification, and trajectory comparison vs NNIPPS/PPMI/ADNI reference cohorts. Integrates with jca_pico_scope for MSA (neurology_msa, orphan Phase 2 2028)/PD (neurology_pd)/AD (neurology_ad) indication categories.
evidence.confounder_expert_templateGenerate a clinician/patient interview guide (Pufulete Step 2/3) for the 'unmeasurable' confounders that literature cannot supply — patient treatment preference, tolerability expectation, etc. Pure template (no LLM, no network). Pass confounder_identification's expert_interview_required list as `unmeasurable_confounders`. Each confounder is probed against the two confounding criteria (associated w
evidence.confounder_identificationIQWiG / Pufulete 2022 Step 1: systematically identify candidate CONFOUNDER variables for a non-randomised comparison, with full provenance. DETERMINISTIC — you (the agent) read each corpus paper and pass structured `candidate_extractions` (variable_name + source_paper_pmid/doi + source_location + verbatim_snippet); the tool enforces closed-corpus provenance (it NEVER cites a paper outside the corp
evidence.consistency_checkDetect drift of evidence claims across deliverables (HTA dossier, publication, GVD/AMCP payer materials). Loads claims from the project registry (project_id) and/or takes inline claims, then scans each supplied deliverable's text and flags where a DIFFERENT number sits next to a claim's keywords (drift — e.g. an ICER you updated in the model but not in the dossier) or where a claim is absent. Retu
evidence.gap_analysisGenerate an integrated Evidence Generation Plan (iEGP). Assess the evidence base across HEOR domains (epidemiology, disease_burden, clinical_efficacy, comparative_effectiveness, safety, economic_cea, budget_impact, hrqol_utilities, adherence, unmet_need, patient_experience) — each with a status (robust/limited/absent/discordant) — and the tool returns the gaps, a recommended evidence-generation ac
evidence.indirectCompute indirect treatment comparisons using the Bucher method (single common comparator) or frequentist network meta-analysis (full network). Requires user-supplied effect sizes (point estimates + 95% CI) from published trials. Supports MD, OR, RR, HR. Auto-selects method by network structure. When direct head-to-head A-vs-C evidence is also in the network, automatically tests Bucher's consistenc
evidence.itcAssess the feasibility of an indirect treatment comparison (ITC) by walking through the three core assumptions (exchangeability, homogeneity, consistency) and recommending an appropriate method: direct comparison, Bucher, full NMA, anchored MAIC/STC, unanchored MAIC/STC, ML-NMR, NMR/subgroup meta-regression, or infeasible. Cites Cope 2014 (BMC Med), NICE DSU TSD 18 (Phillippo), Signorovitch 2023 (
evidence.networkAnalyze literature search results to build an evidence network map. Extracts intervention-comparator pairs from titles and abstracts, constructs a treatment comparison network, and assesses NMA (network meta-analysis) feasibility. Pass the results array from a prior literature.search call.
evidence.population_adjusted⚠️ EXPERIMENTAL / orientation-only. Approximate population-adjusted indirect comparison using summary-level statistics (mean, SD per covariate). True MAIC/STC per NICE DSU TSD 18 requires individual patient data (IPD) for one trial. This tool inflates the SE of a Bucher indirect comparison based on covariate imbalance (MAIC-style ESS penalty) and applies a simple linear adjustment based on standar
evidence.risk_of_biasAssess risk of bias for a set of studies using the appropriate Cochrane instrument: RoB 2 (RCTs), ROBINS-I (observational studies), or AMSTAR-2 (systematic reviews/meta-analyses). Instrument is auto-detected from study_type or can be specified. Judgments are inferred from abstract text — domains without sufficient reporting are marked Unclear. Returns a per-study table and a rob_results object to
evidence.survivalFit parametric survival distributions (Exponential, Weibull, Log-logistic, Log-normal, Gompertz) to either patient-level event-time data (preferred — true right-censored MLE per Collett 2015 / NICE DSU TSD 14) OR Kaplan-Meier step-summary data (legacy approximation, used when only published KM digitization is available). Returns AIC/BIC model comparison and extrapolation table. Supply EXACTLY ONE
evidence.triangulationTriangulate RCT vs real-world evidence per outcome. For each outcome supply what the randomised trials show (rct) and what real-world evidence shows (rwe) — each as a direction of benefit (favors: intervention/comparator/no_difference) plus an optional point estimate + measure. The tool classifies concordance (concordant / discordant / partial / single-source), and when both bodies give an estimat
evidence.unmet_needGenerate a structured unmet need section for HTA dossiers (NICE STA, EMA, FDA, IQWiG, HAS, JCA, GVD, AMCP). Consume-only: first retrieve evidence with literature_search, then pass only cited facts across 4 HEOR dimensions — disease burden, treatment landscape, QoL impact, economic burden. By default (auto_check_regulatory=true), automatically checks current regulatory status of comparators in trea
examplesGet a pre-filled, copy-runnable JSON input for any of the heavy-schema tools (cost_effectiveness_model, budget_impact_model, survival_fitting, population_adjusted_comparison, evidence_indirect). Use when you want to demo a tool but don't want to invent inputs from scratch — the example is editable so you can tweak intervention names, costs, populations, etc. before calling the actual tool.
governance.self_checkScore an AI-assisted HTA/HEOR workflow against 6 governance dimensions (transparency, citation validation, human-in-the-loop, PHI/data handling, bias & equity, auditability), each traced to the verified ELEVATE-GenAI reporting domains (ISPOR Working Group on Generative AI, Value in Health 2025). Two modes: 'describe' (free-text workflow_description + structured probes — a blank probe scores 'insuf
hta.dossierStructure evidence into HTA body-specific submission format (NICE STA, EMA, FDA, IQWiG, HAS, EU JCA, or Global Value Dossier). Produces draft sections with gap analysis and auto-GRADE evidence quality tables. Accepts output from literature.search and models.cost_effectiveness. Enum values are case-insensitive — `"NICE"`/`"nice"`, `"STA"`/`"sta"` etc. all work.
hta.gba_ppddVerifiable PPDD evidence engine for a German G-BA (AMNOG) benefit assessment. Produces a Peers / Precedent / Drift / Delta pack for a drug-class + indication where every fact is provenance-tagged: peers are asserted only from a curated, verified G-BA precedent knowledge base (or agent citations verified via verify_citations); anything unverifiable is reported as `unknown`, NEVER fabricated. Recomp
hta.living_gvdMaintain a Living Global Value Dossier as a diffable artifact, so a refresh regenerates only the sections whose figures changed instead of the whole GVD. Actions: 'snapshot' (record which registry claims each GVD section is built from — pass sections [{name, claim_ids}] — capturing each claim's current value as the baseline) and 'refresh' (diff the snapshot against the live claim registry and retu
hta.panel_simulationVirtual HTA institutional-panel simulator. hta_body='gba' (default): faithful G-BA §35a hearing (mundliche Anhoerung) roster - IQWiG/Biostatistician, G-BA/GKV-SV Assessor, KOL/Clinical Expert, Patient Representative. hta_body='nice': NICE EAG statistician/technical team/clinical expert/patient expert. hta_body='eu_jca': JCA assessor/co-assessor/member-state PICO scope (requires drug_class). hta_bo
hta.review_simulationPredict the clarification questions an HTA body will ask about a dossier, BEFORE submission. Consumes an hta.dossier / hta.workflow output (dossier_markdown), structured dossier_sections, or just {drug, indication, pico, model_results} for a pre-mortem. Runs a deterministic gap/risk scan over a 10-category taxonomy (comparator, indirect comparison, survival extrapolation, clinical risk-of-bias, ec
hta.utilityLook up EQ-5D value set characteristics (UK 3L, England 5L, new UK 5L 2026, NICE DSU mapping) or estimate the ICER/QALY impact of the new UK EQ-5D-5L value set for a given indication type. Cites Biz, Hernández Alava, Wailoo (2026) Value in Health. Use when user asks about NICE 5L transition, UK utility value sets, or impact on NICE STA submissions.
hta.workflowEnd-to-end HTA submission orchestrator. One call runs literature_search (with PRISMA-style stability via runs=N) → screen_abstracts (PICO filter) → risk_of_bias (auto RoB 2/ROBINS-I/AMSTAR-2) → cost_effectiveness_model (Markov + 1k PSA, defaults from indication) → hta_dossier (auto-GRADE downgrade from RoB output) → validate_links (post-hoc URL audit). Returns a combined report with per-phase timi
icf.readability_checkScore the readability of an Informed Consent Form (ICF) text. Returns Flesch-Kincaid Grade Level, Flesch Reading Ease, Gunning Fog Index, SMOG Grade, plus per-sentence breakdown identifying the worst offenders, medical-jargon detection with plain-language alternatives, and a pass/borderline/fail verdict vs a target grade level (default 8 per FDA / NIH guidance). Pairs with irb_review when planning
irb.reviewClassify a planned study under 45 CFR 46 (US Common Rule) + EU CTR 536/2014 to produce an IRB / Ethics Committee submission scaffold. Returns: review tier (exempt §46.104 cat 1-8 / expedited §46.110 cat 1-7 / full-board §46.108), EU CTR review path with timeline, vulnerable-population obligations (Subpart B/C/D), GDPR Art. 9 + HIPAA §164.514 data-management plan, SAE-reporting framework (CTR Annex
jca.pico_scopeProduce the canonical EU Joint Clinical Assessment (JCA) PICO matrix for a drug-indication pair. Returns a consolidated PICO list (per JCA process under Reg. 2021/2282) plus country-specific comparator universes, outcome instrument preferences, population subgroup focus, and a heterogeneity warning. Pipe `pico_matrix.picos` directly into `hta_dossier({hta_body:"jca", picos: ...})`. v1 covers DE/FR
knowledge.readRead a file from a project's raw/ or wiki/ tree. Path is relative to project root. Only raw/ and wiki/ subtrees accessible.
knowledge.searchSearch a project's knowledge base (raw/ and wiki/) for text matches. Returns file paths with line numbers and snippets. Use this to find previously-retrieved literature, model runs, and compiled wiki content without re-querying external APIs.
knowledge.writewrite actionWrite a file to the project's wiki/ tree. Path MUST start with 'wiki/' and end with '.md'. Use this to compile/organize evidence from raw/ files into a structured knowledge base. Supports Obsidian-style [[wikilinks]].
literature.fulltextRetrieve FULL TEXT (Methods/Results sections + baseline/results tables) for already-identified articles by PMID, PMCID, or DOI, from Europe PMC (PMC open-access subset + author manuscripts + preprints). License-gated: non-open-access articles return NO body text (full_text_available:false) — only a pointer. Use AFTER literature_search/screen_abstracts to read the methods text that abstracts omit —
literature.living_reviewProtocol-locked LIVING systematic literature review with delta refresh. Stateless: the tool never stores anything — the caller persists state. Two modes: 'init' locks a protocol, runs a baseline literature.search, and returns the baseline records for you to persist; 'refresh' takes the protocol + your previous_records, re-runs the search, and returns the delta (new/dropped records, a deterministic
literature.screenScreen literature search results using PICO criteria. Scores each abstract by relevance to the research question, classifies study design, and returns a ranked shortlist with inclusion/exclusion decisions and reasons. For descriptive epidemiology omit intervention/comparator and pass population + condition + outcomes. Pass the results array from a prior literature.search call (use output_format='j
literature.searchSearch PubMed, ClinicalTrials.gov, bioRxiv/medRxiv, ChEMBL, FDA Orange Book, FDA Purple Book, enterprise sources (Embase, ScienceDirect, Cochrane, Citeline, Pharmapendium, Cortellis), HTA cost reference sources (CMS NADAC, PSSRU, NHS National Cost Collection, BNF, PBS Schedule), LATAM sources (DATASUS, CONITEC, ANVISA, PAHO, IETS, FONASA), APAC sources (HITAP), and HTA appraisal/guidance sources (
models.budget_impactEstimate the total budget impact of adopting a new intervention over 1-5 years. Follows ISPOR Budget Impact Analysis good practice guidelines (Mauskopf 2007, Sullivan 2014). Computes year-by-year net cost to payer, including market share uptake, treatment displacement, and population growth.
models.cost_effectivenessBuild a cost-utility analysis (ICER, QALY, PSA, sensitivity analysis) for a drug vs comparator. Follows ISPOR good practice guidelines and NICE reference case. Includes probabilistic sensitivity analysis (PSA), one-way sensitivity, and cost-effectiveness acceptability curve (CEAC). NOTE: utility inputs are value-set-dependent — UK submissions in 2026+ will transition from DSU 3L→5L mapping to the
project.createwrite actionInitialize a new HEOR project workspace with directory skeleton and project.yaml metadata. Idempotent — returns existing project if already created. Required before using the `project` parameter in other tools. Enum values are case-insensitive — `"NICE"`, `"Nice"`, and `"nice"` all work for hta_targets.
publication.draftDraft a publication — abstract, manuscript, poster, or plain-language summary — that reuses claims from the project registry so the same source-of-truth figures appear in the publication as in the dossier. Structures the content per type (structured abstract / IMRaD manuscript / poster / lay summary), auto-selects the reporting guideline for the study_design (CONSORT for RCTs, STROBE for observati
pv.classifyClassify a planned study into its EMA pharmacovigilance regulatory category (PASS imposed/voluntary, PAES, RMP Annex 4, DUS, active surveillance registry, pregnancy registry, spontaneous reporting, ICH E2E plan). Returns the matching GVP module + ENCePP study-category label (not a registered protocol ID — consult the ENCePP Code of Conduct checklist for templates) + submission obligations + RMP im
pv.comparative_safetyBuild a class-level comparative safety profile from spontaneous-report data (FAERS / EudraVigilance / VigiBase / WHO VigiBase). Ranks the top-N adverse events for each product in a drug class by reporting rate per 1,000 exposed (supply exposed_population per product) or by raw report count, lays the products side-by-side in a class-comparison matrix, and emits key observations — shared class profi
pv.signal_workflowCompute disproportionality statistics (PRR, ROR, IC/BCPNN, MGPS/EBGM) on user-supplied drug-AE case counts and decide a signal verdict per EMA GVP Module IX rev 2. Returns the verdict (no/strengthening/confirmed/previously known/refuted), workflow recommendations, and canonical RMP signal-section text. To classify a finding as previously_known_signal, supply BOTH prior_known_signals AND reported_e
pv.social_listening_triageTriage already-collected social-media posts for pharmacovigilance reportability per EMA GVP Module VI. For each post the caller supplies a structured assessment of which of the four ICSR elements are present (identifiable_reporter, identifiable_patient, suspect_product, adverse_event) plus optional sentiment / themes / adverse_event_terms. The tool applies the deterministic four-element validity t
regulatory.status_checkLook up current regulatory approval status for a drug from primary sources (OpenFDA for US, EMA EPI for EU). Returns approved indications, label text verbatim, age/weight/sex constraints, black-box warnings, REMS status, contraindications, source URLs, and fetch timestamp. Refuses to assert 'not approved' on database absence — emits 'unknown' instead. 24h cache with force_refresh flag. Use BEFORE
rwe.method_selectSelect an appropriate real-world-evidence (RWE) study design for a research question. Ranks the five core RWE methodologies — retrospective database analysis, survey, literature review, chart review, social-media listening — against your research objective, the data you can access, the decision context (HTA/payer, regulatory, clinical guideline, internal strategy, exploratory), and the rigour requ
rwe.social_collectCollect public posts for a drug/indication from a free social source (Bluesky by default, or Reddit) for social-listening RWE.
rwe.social_listening_protocolGenerate a social-listening (social-media listening) study protocol + compliance checklist for an RWE study. Given the drug, indication, objectives (patient_experience, sentiment, adverse_event_monitoring, unmet_need, treatment_adherence, disease_awareness), platforms, privacy jurisdictions, and seed keywords, it produces a full protocol: objectives & scope, search strategy, inclusion/exclusion, a
search.strategy_buildGenerate a formal PRISMA-ready systematic-review search strategy from a research question / PICOS. Returns numbered Embase + PubMed syntax blocks per review strand (economic, clinical, HRQoL, epidemiology). Live PubMed counts via NCBI E-utilities: per-concept lines, concept-only combined, and per-strand full queries (concept AND SIGN filter NOT exclusions AND limits). Embase blocks are paste-ready
utils.validate_linksValidate URLs by making HEAD requests and checking HTTP status codes. Returns categorization: working (200), browser_only (401/403/407 from bot-blocking sites that work in browsers), broken (404/410), or timeout/error. ALWAYS use this before presenting reference links to users — broken links destroy trust. Pass all URLs you plan to cite.
utils.verify_citationsVerify DOI/PMID citations against Crossref + NCBI E-utilities. Returns per-citation status: verified (resolved), fabricated (format-valid identifier that resolves to NOTHING — a likely invented DOI), unverifiable (network error or malformed identifier — never asserts fabrication), or url_only (a URL with no resolvable DOI/PMID). Use this to catch hallucinated references BEFORE presenting them — ge
workflow.living_evidenceOrchestrate the end-to-end living-evidence pipeline — AI-augmented SLR → living knowledge base → JCA/HTA deliverables ('from review to reimbursement'). Returns the ordered runbook of tool calls to make: for stage='baseline', the full chain (literature.search → screen → risk_of_bias → triangulation → network/indirect → cost_effectiveness → budget_impact → gap_analysis → claim_registry → dossier/JCA
workflow.maicwrite actionRun the canonical MAIC discovery+screening pipeline in one call: ITC feasibility + parallel literature_search (broad + per-trial) + PICO screening + evidence_network. Does NOT auto-run risk_of_bias (it needs named trials; the report directs you to run risk_of_bias on the screened set) and stops short of running MAIC/Bucher itself (those require IPD or trial-level effect estimates). Produces a stru
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan496 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 91 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Heor Agent compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 65% of 4,460 AI and agents servers
- Tools
- 53
- the typical AI and agents server has 6
- Tools that change things
- 6%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 9
- more than 83% of 2,711 AI and agents servers
- Downloads a week
- 817
- more than 91% of 1,538 AI and agents servers with a package
What its tools let an agent do: 50 read · 2 create · 1 change
Install Heor Agent in Claude Code, Cursor or VS Code
Runs npx -y heor-agent-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add heor-agent -- npx -y heor-agent-mcp
What the publisher says
From the Heor Agent repository's README, as published. We do not edit it. Read it on GitHub
HEORAgent MCP Server
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@latestYou should see:
HEORAgent MCP server running on HTTP port 8080Tab 2 — confirm it responds:
curl -s http://localhost:8080/healthExpected 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-mcpThen restart Claude Code.
Claude Desktop / claude.ai Desktop
Edit your MCP config file (~/Library/Application Support/Claude/claudedesktopconfig.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
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Heor Agent: common questions
- Is Heor Agent MCP server safe?
- Mostly: it is graded B (82/100). Read the Heor Agent safety report
- How do I install Heor Agent?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Heor Agent need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Heor Agent maintained?
- The last commit was 130 days ago (2026-06-27). The latest release is v1.35.0.
- How does Heor Agent compare with other AI and agents MCP servers?
- safety score 82/100 (higher than 65% of 4,460 AI and agents servers); tools 53 (the typical AI and agents server has 6); tools that change things 6% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.