Biotech intelligence for AI agents: drugs, targets, diagnostics, PoS estimates, and writeups.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List drugs/diagnostics at a specific clinical phase.
One of "approved", "on_market", "phase3", "phase2", "phase1", "in_development", "cleared", "ldt", "ruo"
Maximum results (default 100, max 500)
Optional filter — "drug", "pipeline", "diagnostic", "target"
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
List drugs/diagnostics at a specific clinical phase.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results (default 100, max 500) |
| phase* | string | One of "approved", "on_market", "phase3", "phase2", "phase1", "in_development", "cleared", "ldt", "ruo" |
| node_type | any | Optional filter — "drug", "pipeline", "diagnostic", "target" |
{
"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
}Find all drugs that target a specific gene/protein.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results (default 50, max 200) |
| target_gene* | string | Gene symbol or target name (e.g. "EGFR", "KRAS", "PD-1") |
{
"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
}Find nodes connected to a given node. Three relationship types are derived on-the-fly: - "drug_target": for a drug, the targets it hits (and vice versa for a target node, the drugs that hit it) - "same_company": drugs sharing a company with this node - "same_target_class": drugs with the same mechanism_class
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results per link type (default 30) |
| node_id* | string | Source node identifier |
| link_type | any | Optional filter — one of "drug_target", "same_target_class", "same_company". If None, returns all three groups. |
{
"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
}Get a company's full drug/diagnostic portfolio from BioCosm.
| Argument | Type | Description |
|---|---|---|
| company_name* | string | Company name (e.g. "Merck", "Roche", "Illumina") |
{
"type": "object",
"required": [
"company_name"
],
"properties": {
"company_name": {
"type": "string",
"description": "Company name (e.g. \"Merck\", \"Roche\", \"Illumina\")"
}
},
"additionalProperties": false
}Report BioCosm's actual data coverage so you never mistake missing data for a real-world zero. An empty or absent field on a node means "not in BioCosm's data," never a true zero. BioCosm is AI-generated and may contain errors.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Get full details for a single BioCosm node: identity and all name aliases, classification, gene targets and mechanism, therapeutic areas, companies, revenue history where available (sparse: ~100 drugs, mostly blockbusters, as annualized quarterly estimates; source links when present), probability-of- success predictions for pipeline drugs (with confidence intervals and contributing factors), structured clinical trial outcomes, external cross-references, and writeup availability. Empty fields mean "not in BioCosm's coverage," NOT zero or absent in reality.
| Argument | Type | Description |
|---|---|---|
| node_id* | string | The node identifier (e.g. "pembrolizumab", "trastuzumab") |
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "string",
"description": "The node identifier (e.g. \"pembrolizumab\", \"trastuzumab\")"
}
},
"additionalProperties": false
}Get freshness details for a single node: writeup age, enrichment hash match, staleness score, validation score.
| Argument | Type | Description |
|---|---|---|
| node_id* | string | The node identifier (e.g. "pembrolizumab") |
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "string",
"description": "The node identifier (e.g. \"pembrolizumab\")"
}
},
"additionalProperties": false
}Get the Probability of Success estimate for a node, including the base rate, adjustment factors with reasoning, confidence interval, and model version. Returns None for nodes without a PoS score (typically only late-stage pipeline drugs are scored).
| Argument | Type | Description |
|---|---|---|
| node_id* | string | Node identifier |
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "string",
"description": "Node identifier"
}
},
"additionalProperties": false
}Get writeup staleness report: overall stats, top stale nodes, data source freshness.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of top stale nodes to return (default 20) |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"description": "Number of top stale nodes to return (default 20)"
}
},
"additionalProperties": false
}Get a high-level overview of the BioCosm database: total nodes, writeups, companies, breakdowns by type/status/domain, validation scores, and recent pipeline runs.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Get the full writeup for a BioCosm node, including all sections, citations, structured data, and validation score.
| Argument | Type | Description |
|---|---|---|
| node_id* | string | The node identifier (e.g. "pembrolizumab") |
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "string",
"description": "The node identifier (e.g. \"pembrolizumab\")"
}
},
"additionalProperties": false
}List all nodes in a given therapeutic area.
| Argument | Type | Description |
|---|---|---|
| area* | string | Therapeutic area to search (e.g. "breast cancer", "non-small cell lung cancer") |
| limit | integer | Maximum results (default 50) |
{
"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
}Search BioCosm nodes by name, gene symbol, target, therapeutic area, or company. Results are ranked: exact name/brand matches first, then partial name matches, with a node-type prior (canonical drug/diagnostic nodes rank above gene-target nodes, which rank above ChEMBL salt-form duplicates). Nodes matched only via description/company/area rank last. Each result includes a `name` field for disambiguation.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results to return (default 20, max 100) |
| query* | string | Search term (e.g. "breast cancer", "pembrolizumab", "Merck") |
{
"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
}