Production-ready MCP server for Open Targets gene-drug-disease associations
npm install @iflow-mcp/opentargets-server!Logo
Unofficial Model Context Protocol server for accessing Open Targets platform data for gene-drug-disease associations research.

Developed by Augmented Nature
All 6 tools working with live Open Targets API data:
- ๐ฏ Target Search - Gene symbols, names, descriptions (BRCA1, TP53, etc.)
- ๐ฆ Disease Search - Names, synonyms, descriptions (cancer, diabetes, etc.)
- ๐ Target-Disease Associations - Evidence scores from 20+ databases
- ๐ Disease Target Summaries - Prioritized therapeutic targets
- ๐งฌ Target Details - Comprehensive gene/protein information
- ๐ญ Disease Details - Complete disease profiles with ontologies
``bashInstall and build
npm install
npm run build
๐ MCP Client Configuration
$3
`json
{
"mcpServers": {
"opentargets-server": {
"command": "node",
"args": ["/path/to/opentargets-server/build/index.js"]
}
}
}
`$3
`bash
node /path/to/opentargets-server/build/index.js
`๐ ๏ธ Available Tools
$3
Search therapeutic targets by gene symbol, name, or description
`json
{
"name": "search_targets",
"arguments": {
"query": "BRCA1", // Gene symbol, name, or description
"size": 10 // Optional: 1-500 results (default: 25)
}
}
`Example Results:
- BRCA1 (ENSG00000012048) - BRCA1 DNA repair associated
- BRCA2 (ENSG00000139618) - BRCA2 DNA repair associated
- BRIP1 (ENSG00000136492) - BRCA1 interacting DNA helicase 1
$3
Search diseases by name, synonym, or description
`json
{
"name": "search_diseases",
"arguments": {
"query": "breast cancer", // Disease name, synonym, or description
"size": 10 // Optional: 1-500 results (default: 25)
}
}
`$3
Get target-disease associations with evidence scores
`json
{
"name": "get_target_disease_associations",
"arguments": {
"targetId": "ENSG00000012048", // Target Ensembl ID
"size": 10 // Optional: 1-500 results
}
}
`OR
`json
{
"name": "get_target_disease_associations",
"arguments": {
"diseaseId": "EFO_0000305", // Disease EFO ID
"size": 10 // Optional: 1-500 results
}
}
`$3
Get prioritized targets associated with a disease
`json
{
"name": "get_disease_targets_summary",
"arguments": {
"diseaseId": "EFO_0000305", // Disease EFO ID (required)
"size": 20 // Optional: 1-500 targets (default: 50)
}
}
`$3
Get comprehensive target information
`json
{
"name": "get_target_details",
"arguments": {
"id": "ENSG00000012048" // Target Ensembl gene ID
}
}
`$3
Get comprehensive disease information
`json
{
"name": "get_disease_details",
"arguments": {
"id": "EFO_0000305" // Disease EFO ID
}
}
`๐ Resource Templates
Access Open Targets data through standardized URIs:
-
opentargets://target/{ensemblId} - Complete target information
- opentargets://disease/{efoId} - Complete disease information
- opentargets://drug/{chemblId} - Drug information
- opentargets://association/{targetId}/{diseaseId} - Association evidence
- opentargets://search/{query} - Search results๐งช Real-World Examples
$3
`bash
1. Search for cancer-related targets
{"name": "search_targets", "arguments": {"query": "oncogene", "size": 10}}2. Get detailed info for specific target
{"name": "get_target_details", "arguments": {"id": "ENSG00000012048"}}3. Find all diseases associated with BRCA1
{"name": "get_target_disease_associations", "arguments": {"targetId": "ENSG00000012048"}}4. Get top targets for breast cancer
{"name": "get_disease_targets_summary", "arguments": {"diseaseId": "EFO_0000305", "size": 20}}
`$3
`bash
1. Search for Alzheimer's disease
{"name": "search_diseases", "arguments": {"query": "Alzheimer", "size": 5}}2. Get disease details
{"name": "get_disease_details", "arguments": {"id": "EFO_0000249"}}3. Find prioritized therapeutic targets
{"name": "get_disease_targets_summary", "arguments": {"diseaseId": "EFO_0000249", "size": 30}}
`๐ฌ Data Sources & Standards
Open Targets integrates 20+ databases:
- ChEMBL - Drug & compound data
- Ensembl - Gene & protein annotations
- EFO - Experimental Factor Ontology
- ClinVar - Clinical variant data
- GWAS Catalog - Genome-wide association studies
- UniProt - Protein sequences & functions
- Reactome - Biological pathways
- And many more...
Standardized Identifiers:
- Targets: Ensembl gene IDs (e.g., ENSG00000012048)
- Diseases: EFO IDs (e.g., EFO_0000305)
- Drugs: ChEMBL IDs (e.g., CHEMBL1234)
๐๏ธ Architecture
- TypeScript implementation with robust type safety
- GraphQL queries for efficient data retrieval
- MCP Protocol compliant JSON-RPC communication
- Error Handling with comprehensive validation
- Production Ready with 30s timeouts and proper logging
๐ API Information
- Base URL:
https://api.platform.opentargets.org/api/v4/graphql
- Version: Open Targets v25.0.1
- Rate Limits: Generous for research use
- Authentication: None required
- Format: GraphQL queries, JSON responses๐ค Contributing
This server is developed and maintained by Augmented Nature. For enhancements:
1. Fork the repository
2. Make your changes
3. Submit a pull request
Support
For issues with:
- MCP Server: Check the server logs and error outputs
- Open Targets API: Visit platform.opentargets.org
- GraphQL Queries: Use the Open Targets GraphQL browser
Citation
If you use this project in your research or publications, please cite it as follows:``bibtex @misc{opentargetsmcp2025,