{"serverId":"mcp-registry/io.github.nhoverte/biocosm","tools":[{"name":"find_by_phase","fixed":{"name":"find_by_phase","description":"List drugs/diagnostics at a specific clinical phase.","inputSchema":{"type":"object","required":["phase"],"properties":{"limit":{"type":"integer","default":100,"description":"Maximum results (default 100, max 500)"},"phase":{"type":"string","description":"One of \"approved\", \"on_market\", \"phase3\", \"phase2\", \"phase1\",\n   \"in_development\", \"cleared\", \"ldt\", \"ruo\""},"node_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional filter — \"drug\", \"pipeline\", \"diagnostic\", \"target\""}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":170,"tokensAfter":170},{"name":"find_by_target","fixed":{"name":"find_by_target","description":"Find all drugs that target a specific gene/protein.","inputSchema":{"type":"object","required":["target_gene"],"properties":{"limit":{"type":"integer","default":50,"description":"Maximum results (default 50, max 200)"},"target_gene":{"type":"string","description":"Gene symbol or target name (e.g. \"EGFR\", \"KRAS\", \"PD-1\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"find_related","fixed":{"name":"find_related","description":"Find nodes connected to a given node. Three relationship types are\nderived on-the-fly:\n  - \"drug_target\": for a drug, the targets it hits (and vice versa for a\n                   target node, the drugs that hit it)\n  - \"same_company\": drugs sharing a company with this node\n  - \"same_target_class\": drugs with the same mechanism_class","inputSchema":{"type":"object","required":["node_id"],"properties":{"limit":{"type":"integer","default":30,"description":"Maximum results per link type (default 30)"},"node_id":{"type":"string","description":"Source node identifier"},"link_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional filter — one of \"drug_target\", \"same_target_class\",\n       \"same_company\". If None, returns all three groups."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":241,"tokensAfter":241},{"name":"get_company_portfolio","fixed":{"name":"get_company_portfolio","description":"Get a company's full drug/diagnostic portfolio from BioCosm.","inputSchema":{"type":"object","required":["company_name"],"properties":{"company_name":{"type":"string","description":"Company name (e.g. \"Merck\", \"Roche\", \"Illumina\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"get_coverage","fixed":{"name":"get_coverage","description":"Report BioCosm's actual data coverage so you never mistake missing data for\na real-world zero. An empty or absent field on a node means \"not in BioCosm's\ndata,\" never a true zero. BioCosm is AI-generated and may contain errors.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"get_node","fixed":{"name":"get_node","description":"Get full details for a single BioCosm node: identity and all name aliases,\nclassification, gene targets and mechanism, therapeutic areas, companies,\nrevenue history where available (sparse: ~100 drugs, mostly blockbusters,\nas annualized quarterly estimates; source links when present), probability-of-\nsuccess predictions for pipeline drugs (with confidence intervals and\ncontributing factors), structured clinical trial outcomes, external\ncross-references, and writeup availability. Empty fields mea","inputSchema":{"type":"object","required":["node_id"],"properties":{"node_id":{"type":"string","description":"The node identifier (e.g. \"pembrolizumab\", \"trastuzumab\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":208,"tokensAfter":208},{"name":"get_node_freshness","fixed":{"name":"get_node_freshness","description":"Get freshness details for a single node: writeup age, enrichment hash match,\nstaleness score, validation score.","inputSchema":{"type":"object","required":["node_id"],"properties":{"node_id":{"type":"string","description":"The node identifier (e.g. \"pembrolizumab\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"get_pos_score","fixed":{"name":"get_pos_score","description":"Get the Probability of Success estimate for a node, including the\nbase rate, adjustment factors with reasoning, confidence interval, and\nmodel version.\n\nReturns None for nodes without a PoS score (typically only late-stage\npipeline drugs are scored).","inputSchema":{"type":"object","required":["node_id"],"properties":{"node_id":{"type":"string","description":"Node identifier"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"get_staleness_report","fixed":{"name":"get_staleness_report","description":"Get writeup staleness report: overall stats, top stale nodes, data source freshness.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"description":"Number of top stale nodes to return (default 20)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"get_stats","fixed":{"name":"get_stats","description":"Get a high-level overview of the BioCosm database: total nodes, writeups,\ncompanies, breakdowns by type/status/domain, validation scores, and recent\npipeline runs.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"get_writeup","fixed":{"name":"get_writeup","description":"Get the full writeup for a BioCosm node, including all sections, citations,\nstructured data, and validation score.","inputSchema":{"type":"object","required":["node_id"],"properties":{"node_id":{"type":"string","description":"The node identifier (e.g. \"pembrolizumab\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"list_by_therapeutic_area","fixed":{"name":"list_by_therapeutic_area","description":"List all nodes in a given therapeutic area.","inputSchema":{"type":"object","required":["area"],"properties":{"area":{"type":"string","description":"Therapeutic area to search (e.g. \"breast cancer\", \"non-small cell lung cancer\")"},"limit":{"type":"integer","default":50,"description":"Maximum results (default 50)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"search_nodes","fixed":{"name":"search_nodes","description":"Search BioCosm nodes by name, gene symbol, target, therapeutic area, or company.\n\nResults are ranked: exact name/brand matches first, then partial name\nmatches, with a node-type prior (canonical drug/diagnostic nodes rank above\ngene-target nodes, which rank above ChEMBL salt-form duplicates). Nodes\nmatched only via description/company/area rank last. Each result includes a\n`name` field for disambiguation.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":20,"description":"Maximum results to return (default 20, max 100)"},"query":{"type":"string","description":"Search term (e.g. \"breast cancer\", \"pembrolizumab\", \"Merck\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":213,"tokensAfter":213}],"toolsChanged":13,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}