Open Targets
liveBiologyHealthOpen Targets disease/target/drug knowledge graph (GraphQL). Keyless.
Tools
targetrequired: ensembl_id"Drug target profile for [gene]" / "is [gene] a druggable target" / "[gene] target info" / "target ID [ENSG...]" — fetch a drug-target profile (Open Targets uses Ensembl gene IDs as target identifiers
ensembl_idreqstring—Try it
diseaserequired: efo_id"Disease profile for [EFO_N]" / "look up disease [ID]" — fetch a disease profile from Open Targets by EFO (Experimental Factor Ontology) ID. Returns name, description, therapeutic areas, ontology cros
efo_idreqstring—Try it
drugrequired: chembl_id"Drug info for [ChEMBL ID]" / "look up [drug] target info" / "[CHEMBL...] mechanism" — fetch a drug profile from Open Targets by ChEMBL ID. Returns name, mechanisms of action, indications, target gene
chembl_idreqstring—Try it
searchrequired: query"Find [disease / drug / gene target]" / "Open Targets lookup for [name]" / "what's the Open Targets ID for [X]" — text search across diseases, drug targets, and drugs in the Open Targets Platform (the
queryreqstring—entityoptstring—sizeoptnumber—Try it
target_associationsrequired: ensembl_id"What diseases is [gene] involved in" / "diseases associated with [target]" / "what does [gene] cause" — top disease associations for a drug target (Ensembl gene ID), scored by integrated Open Targets
ensembl_idreqstring—sizeoptnumber—Try it
disease_associationsrequired: efo_id"Best drug targets for [disease]" / "what genes are linked to [condition]" / "druggable targets in [disease]" — top drug-target candidates for a disease (EFO ID), scored by integrated evidence. Use fo
efo_idreqstring—sizeoptnumber—Try it
target_known_drugsrequired: ensembl_id"What drugs target [gene]" / "approved drugs against [target]" / "clinical-trial drugs for [gene]" — drugs that have been clinically tested or approved against a drug target (Ensembl gene ID). Returns
ensembl_idreqstring—sizeoptnumber—Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/opentargets/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/opentargets/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"target","arguments":{"ensembl_id": "example"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("target", {"ensembl_id":"example"});// Or ask in plain English:
const answer = await px.ask("open targets disease/target/drug knowledge graph (graphql)");