A side-by-side look at the Catalyst evidence graph and Opdstar Nhi MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Catalyst evidence graph for biology & bioinformatics work over a hosted endpoint; choose Opdstar Nhi MCP for biology & bioinformatics as a local process. You can also run both side by side in one mcpServers block.
find_evidence, search_nodes, get_findings.lookup_rejection_code, get_procedures_for_icd, get_indicator.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 57/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 7 | 27 |
| Full listing | View Catalyst evidence graph | View Opdstar Nhi MCP |
find_evidenceUse this when someone asks what a supplement, nutrient, drug, food compound or plant does in the body, or whether it affects something specific (for example "does magnesium help sleep?", "what is creatine shown to do?", "omega-3 and triglycerides"). Pass the substance (or an outcome such as "sleep") as query, and the specific effect, if there is one, as about. One call resolves the name to the node that has findings and returns them, each with its evidence strength in words, the study design, the quote, the paper, a permalink and a citation to quote as it stands. Without about, summary lists everything the node has findings about. If nothing matches, it says so: tell the person Catalyst has no findings on it rather than answering from memory as though from Catalyst. An evidence strength says how well the evidence supports a finding; it is not a recommendation.search_nodesSearch the Catalyst evidence graph by name or synonym (for example "magnesium", "vitamin D", "sleep", "creatine"). Returns node ids to pass to get_findings or get_relations. Each hit says how many findings it has, and hits with findings come first, so the first hit with findings above 0 is usually the one to use. It finds things; it does not say anything about them.get_findingsThe curated study findings for one node: for a compound, organism or material, what it has been shown to affect; for an outcome, which compounds have been studied against it. summary lists everything the node has findings about, one row each, across ALL its findings and not only the rows returned. Use it to see what is covered, then pass about (an id from summary, or words such as "sleep") to get the findings on one thing. Each finding carries its evidence strength, one of five named levels from strong to insufficient (strong, moderate, limited, very_limited, insufficient), the verbatim sentence it was drawn from, the paper, the population and dose, and a permalink. An evidence strength says how well the evidence supports the finding; it is not a recommendation. Always give the evidence strength with the claim, and link the permalink. An empty list means nothing has been curated yet, not that the compound does nothing.get_findingOne finding by its id (the last part of a permalink, /e/{id}): the claim, its evidence strength and what that level means, the verbatim quote, the study design and the paper, and evidence_strength_reasons: each rule that set the level, in order, and what the assessment does not weigh. Use it to explain why the evidence behind a finding is as strong as it is, from evidence_strength_reasons rather than by guessing.get_relationsWhat public reference databases (Reactome, UniProt, Rhea, ChEBI and others) record about a node: transporters, enzymes, pathways, expression. Every row is assertion_class 'inferred': a hypothesis about how a compound could act, not a result anyone measured in people. Present these as possible mechanisms and never as effects. For effects, use get_findings.get_reactionsBiochemical reactions from Rhea and Human-GEM that a compound is a substrate or product of, or that a protein catalyses or transports. Every row is assertion_class 'inferred': a reaction two public databases record, not a result anyone measured in a person. Present these as known biochemistry, never as an effect a compound has, and never as a recommendation. For effects, use get_findings. A compound flagged is_hub (water, ATP, protons and the like) returns its reaction count only, because it participates in nearly everything and a row list would not be biology anyone reads. Coverage: the whole of one Rhea release and one Human-GEM release, each reaction counted once; a participant that is not a node in this graph is listed but not linked, and only human enzymes that are nodes are listed at all. An empty result means no reaction in those releases names this node, not that the body has none.reachBreadth-first reachability through the reactions two public databases (Rhea, Human-GEM) record: what a compound could become, and through which reactions and enzymes, within up to 3 steps. Every route is assertion_class 'inferred': a hypothesis drawn from reference databases, never a measured or reported effect. Present it as known biochemical connectivity — never as an effect, a recommendation, or a claim that the body actually does this. For measured effects, use get_findings. Common cofactors and currency species (water, ATP, protons and the like) are excluded as intermediate steps, so a route never reads 'reaches everything through ATP'. A currency species is also never materialised as from_id or to_id itself — asking about one returns reachable: null with a coverage note explaining that, not a checked "0 routes". Give to_id to check one target compound; omit it to list everything from_id reaches. A route not being found can mean three different things, and the result's coverage field says which: reachability may not have been BUILT for this scope yet (nothing has been checked); it may have been checked and found NOT REACHABLE through the reactions loaded — never read that as "the body cannot make it"; or the compound asked about may be a currency species, structurally excluded rather than searched.lookup_rejection_codeLook up a single Taiwan NHI rejection code (5-character format `NNNNL` — 4 digits + 1 uppercase letter A/B/C/..., e.g. '0317A', '0338A', '0114A'). Returns severity (low / medium / high), category (00 診療品質 · 01 病歷紀錄 · 02 基本診療 · 03 藥品特材 · 04 手術處置 · 05 檢查檢驗 · 06 論病例計酬 · 07 復健精神 · 08 其他 · 09 法令 — first two digits encode the category), and the official Chinese description from 健保署 專業審查不予支付理由代碼. Returns a not-found message (not an error) if the code does not exist. **Use when** an agent encounters a known rejection code in a notice or claim response and needs the human-readable explanation, or when triaging which category a code belongs to. **Typical follow-up**: call `get_drug_rules({rejection_code})` if the code is in category 03 (藥品特材) to surface the drug rule behind the rejection; call `search_audit_guidelines({query: <code>})` for codes in 04 / 05 to read the underlying audit-clause text; call `count_appeal_precedents_for_rejection_code({rejection_code})` to gauge whether disputes for this code are commonly successful. **Don't use** to enumerate codes by category — call `get_rejection_code_category({category})` instead. **Reference only** — the official 健保署 code list is authoritative. Curated by OPDSTAR (https://opdstar.com).get_procedures_for_icdGiven a Taiwan ICD-10 code and a medical specialty, return the NHI procedure codes plausibly applicable to that diagnosis within that specialty. Each result includes the procedure code, Chinese name, English name, nhi_points (payment points), and audit_notes (specialty-specific review caveats and risk hints). Results are ordered by curated relevance (most commonly applied codes first), capped at `limit` (default 10, max 20). Returns an empty list (not an error) when no curated mapping exists for the given (icd10, specialty) pair — this is common because the mapping is intentionally conservative. **Use when** an agent is drafting SOAP and needs a starting set of procedure codes for the diagnosis within the clinician's specialty context — e.g. dermatologist with `L30.9` (chronic eczema) needs candidate procedure codes. **Typical follow-up**: for each candidate code, call `lookup_fee_code({q: <code>})` to confirm current points and effective dates, and `lookup_audit_clauses_for_procedure({procedure_code})` to surface any audit-clause caveats. **Don't use** as a billing source of truth — the original NHI fee schedule has no ICD field, this is a curated, intentionally conservative mapping that prefers false negatives over false positives; for the canonical fee-schedule entry of a known code, call `lookup_fee_code`. **Reference only** — final code selection remains the clinician's responsibility. Curated by OPDSTAR (https://opdstar.com).get_indicatorLook up a single Taiwan NHI prescribing-pattern indicator. These are short codes (numeric, or 'P'-prefixed) that encode common over-prescribing patterns such as antibiotic-on-URI, multi-drug co-prescribing, or duration limits. Returns the indicator name, the threshold (e.g. '7-day URI episode'), applicable drugs / diagnoses, and the compliance meaning. Returns a not-found message (not an error) if the code does not exist. **Use when** an agent needs the human-readable explanation for a specific indicator code referenced during a SOAP review or audit response — e.g. an audit notice cites an indicator and the agent needs to surface what it monitors and why a prescription tripped it. **Typical follow-up**: call `get_drug_rules({rejection_code})` with the indicator's downstream rejection code to read the formal payment rule, or `search_audit_guidelines({query})` to read related audit-clause text. **Don't use** for the official 分析審查不予支付指標 (percentage-cap audit) list — that's a different system — call `lookup_audit_indicator` instead. **Reference only** — thresholds and applicable lists reflect published guidance and may change with each NHI release; agents should re-read the indicator each session rather than caching values across sessions. Curated by OPDSTAR (https://opdstar.com).search_nhi_wikiSearch across Taiwan's official NHI knowledge base (健保署全球資訊網) for natural-language background questions. Covers 9 categories: audit (審查 — review rules / rejection grounds), drugs (藥品特材 — formulary, payment limits), fees (費用 — copay, premiums, contribution), plans (醫療計畫 — disease-management programs), services (醫療服務 — covered benefits), insurance (投保 — enrollment), forms (表單 — applications), records (紀錄 — documentation rules), admin (行政 — contracting, accreditation). Returns up to 10 ranked excerpts (most relevant first); each result includes title, content snippet, source URL, and category tag. Returns an empty list (not an error) when the query has no matches. **Use when** an agent needs broad NHI policy background not tied to a specific code — e.g. '慢性病連續處方箋天數上限' / 'how does balance billing work for orthodontics' / 'what are the rules for telemedicine reimbursement'. **Typical follow-up**: when an excerpt mentions a specific code (e.g. '0317A', '00101B'), call the appropriate code-specific tool (`lookup_rejection_code`, `lookup_fee_code`) for the canonical entry. **Don't use** when you already know a specific rejection code, procedure code, drug name, or audit-clause topic — those have dedicated tools that return structured fields rather than excerpts. **Reference only** — official 健保署 publications are authoritative; ranked excerpts may lag the latest revision and the snippet is not the full document. Curated by OPDSTAR (https://opdstar.com).search_nhi_interpretationsSearch Taiwan's official NHI administrative interpretations (健保署行政函釋 / 函令) — the binding 公告 and 解釋函 issued by the National Health Insurance Administration that clarify how payment rules, drug-formulary provisions, special-material coverage, and review policy apply in practice. Each result returns the official document number (字號), issue date, 主旨 (subject), a content excerpt, and the source URL on the government law portal. Returns up to 10 ranked excerpts (most relevant first); returns an empty list (not an error) when nothing matches. **Use when** a question turns on an official ruling rather than a code definition — e.g. '函釋怎麼說人工水晶體的給付規定' / 'is there an interpretation on continuous-prescription day limits' — or when the user cites a 函釋 文號 directly (e.g. 健保審字第 1090017813 號). **Don't use** when you already have a specific rejection code, fee code, or drug name — those have dedicated lookup tools (`lookup_rejection_code`, `lookup_fee_code`, `lookup_drug`). **Reference only** — the official 健保署 / 衛福部 publication is authoritative; an excerpt may lag the latest revision and is not the full document, so open the source URL for the binding text. Curated by OPDSTAR (https://opdstar.com).get_drug_rulesLook up Taiwan NHI drug payment rules (藥品給付規定) — when a drug class is / isn't reimbursable, with severity and source citation. Filter by `specialty`, `rejection_code`, or `drug_category_query` (at least one required). **Use when** an agent is checking whether a drug choice will trigger a rejection before submission, or wants to read the rule behind a known rejection code. **Don't use** to identify a specific drug (brand / generic / strength) — call `lookup_drug` instead; for the underlying audit clauses, use `lookup_audit_clauses_for_procedure` or `lookup_audit_clauses_for_specialty`. **Reference only** — official 健保藥品給付規定 is authoritative; curated subset, not exhaustive. Curated by OPDSTAR (https://opdstar.com).get_safe_phrasesPreview which documentation scenarios have OPDSTAR-curated NHI-safe phrasing patterns for a given specialty (e.g. dermatology + 抗生素) — returns scenario name, high-risk wording to avoid, the key difference, and the first sentence of the safe-phrasing example. Up to 5 scenarios per call. **Use when** an agent is helping draft SOAP wording and needs to flag risky phrasing before submission. **Don't use** to retrieve full ready-to-copy templates (full library is part of the paid OPDSTAR product — link the user to opdstar.com); for the underlying audit rule that motivates a safe phrase, call `search_audit_guidelines`. **Reference only** — phrasing patterns reflect curated review experience, not formal NHI directives. Curated by OPDSTAR (https://opdstar.com).search_audit_guidelinesFree-text search over Taiwan NHI 審查注意事項 rules — returns reason + suggestion summaries (first sentence only) for up to 10 rules matching a keyword (Traditional Chinese or English). **Use when** an agent is exploring whether any audit rule covers a topic (e.g. '抗生素', '檢查頻率', '慢性病處方') without knowing a specific code. **Don't use** for clauses tied to a known procedure code — call `lookup_audit_clauses_for_procedure` instead. Full SOAP example templates and detailed reasoning are part of the paid OPDSTAR product. **Reference only** — official 健保署 審查注意事項 is authoritative; results are previews. Curated by OPDSTAR (https://opdstar.com).get_rejection_code_categoryBrowse Taiwan NHI rejection codes by category (00-09) for discovery — returns code, severity, and short description, up to 50 per call. Categories: 00 診療品質 · 01 病歷紀錄 · 02 基本診療 · 03 藥品特材 · 04 手術處置 · 05 檢查檢驗 · 06 論病例計酬 · 07 復健精神 · 08 其他 · 09 法令. **Use when** an agent needs to enumerate all rejection codes within a workflow domain (e.g. all surgery-handling codes). **Don't use** to look up a known specific code — call `lookup_rejection_code` instead. **Reference only** — official 健保署 不予支付理由代碼 is authoritative. Curated by OPDSTAR (https://opdstar.com).lookup_drugLook up the active Taiwan NHI drug catalog by generic name, brand name, NHI drug code, or alias — returns up to 10 matches with strength, dosage form, route, ATC code, therapeutic class, and brand list. **Use when** an agent needs to identify or disambiguate a drug before recommending dosage / formulation in a SOAP draft. **Don't use** to look up payment / reimbursement rules for the drug — call `get_drug_rules` instead; for an audit clause referencing the drug, call `search_audit_guidelines`. **Reference only** — official 健保署 藥品給付項目及支付標準 is authoritative; the catalog is a working snapshot. Curated by OPDSTAR (https://opdstar.com).lookup_fee_codeLook up the Taiwan NHI fee schedule (全民健康保險醫療服務給付項目及支付標準, current effective edition). Search by exact code (e.g. '00101B', 'P15001') or by Chinese / English name (e.g. '門診診察', 'ICU') — returns code, points, effective dates, and audit notes (truncated to 600 chars). Use `category` prefix to scope ('00' 基本診療, '06' 手術, 'P1' 病例計酬, 'N2' 護理). **Use when** an agent needs the canonical fee entry for a known procedure code, or wants to discover codes by name. **Don't use** for drugs (call `lookup_drug`) or for ICD-10 → procedure suggestions (call `get_procedures_for_icd`). The optional `icd` filter applies an OPDSTAR-curated mapping that is intentionally sparse (the original NHI data has no ICD field) — most codes will return no result with `icd` active. **Reference only** — official 健保署 支付標準 is authoritative. Curated by OPDSTAR (https://opdstar.com).lookup_audit_clauses_for_procedureFind Taiwan NHI 審查注意事項 clauses that reference a specific procedure code (e.g. '00101B', '51017C') — each result indicates whether the clause carries an amount limit, frequency rule, or indication restriction (critical signals for rejection-risk assessment). Returns clause summary, specialty, and risk flags. **Use when** an agent has a candidate procedure code and needs to surface the audit context attached to it. **Don't use** for the procedure's fee-schedule entry (points / effective dates) — call `lookup_fee_code`; for browsing all clauses within a specialty, call `lookup_audit_clauses_for_specialty`. **Reference only** — clause summaries are first-sentence previews; official 健保署 審查注意事項 is the source of truth. Curated by OPDSTAR (https://opdstar.com).Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"catalyst-evidence-graph": {
"url": "https://catalystproject.ai/mcp"
}
}
}
{
"mcpServers": {
"tatsuju-opdstar-nhi-mcp": {
"command": "npx",
"args": [
"-y",
"@opdstar/nhi-mcp"
]
}
}
}