Skip to main content
Glama
OpenTargets MCP Server

OpenTargets MCP Server

Logo

Unofficial Open Targets MCP Server ๐Ÿงฌ

Unofficial Model Context Protocol server for accessing Open Targets platform data for gene-drug-disease associations research.

API

Developed by Augmented Nature

โœ… Verified Features

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

Related MCP server: OpenFDA

๐Ÿš€ Quick Start

# Install and build
npm install
npm run build

# Run the server
node build/index.js

๐Ÿ“‹ MCP Client Configuration

Claude Desktop

{
  "mcpServers": {
    "opentargets-server": {
      "command": "node",
      "args": ["/path/to/opentargets-server/build/index.js"]
    }
  }
}

Other MCP Clients

node /path/to/opentargets-server/build/index.js

๐Ÿ› ๏ธ Available Tools

๐ŸŽฏ search_targets

Search therapeutic targets by gene symbol, name, or description

{
  "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

๐Ÿฆ  search_diseases

Search diseases by name, synonym, or description

{
  "name": "search_diseases",
  "arguments": {
    "query": "breast cancer", // Disease name, synonym, or description
    "size": 10 // Optional: 1-500 results (default: 25)
  }
}

๐Ÿ”— get_target_disease_associations

Get target-disease associations with evidence scores

{
  "name": "get_target_disease_associations",
  "arguments": {
    "targetId": "ENSG00000012048", // Target Ensembl ID
    "size": 10 // Optional: 1-500 results
  }
}

OR

{
  "name": "get_target_disease_associations",
  "arguments": {
    "diseaseId": "EFO_0000305", // Disease EFO ID
    "size": 10 // Optional: 1-500 results
  }
}

๐Ÿ“Š get_disease_targets_summary

Get prioritized targets associated with a disease

{
  "name": "get_disease_targets_summary",
  "arguments": {
    "diseaseId": "EFO_0000305", // Disease EFO ID (required)
    "size": 20 // Optional: 1-500 targets (default: 50)
  }
}

๐Ÿงฌ get_target_details

Get comprehensive target information

{
  "name": "get_target_details",
  "arguments": {
    "id": "ENSG00000012048" // Target Ensembl gene ID
  }
}

๐ŸŽญ get_disease_details

Get comprehensive disease information

{
  "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

Cancer Research Workflow

# 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}}

Drug Discovery Pipeline

# 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:

Citation

If you use this project in your research or publications, please cite it as follows:

author = {Moudather Chelbi},
title = {OpenTargets MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/OpenTargets-MCP-Server},
note = {Accessed: 2025-06-29}

Available Tools

6 tools
get_disease_detailsC

Get comprehensive disease information

Inputs: id (required).

get_disease_targets_summaryC

Get overview of all targets associated with a disease

Inputs: diseaseId (required), minScore, size.

get_target_detailsC

Get comprehensive target information

Inputs: id (required).

get_target_disease_associationsC

Get target-disease associations with evidence scores

Inputs: targetId, diseaseId, minScore, size.

search_diseasesC

Search for diseases by name, synonym, or description

Inputs: query (required), size, format.

search_targetsC

Search for therapeutic targets by gene symbol, name, or description

Inputs: query (required), size, format.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    B3.4/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: two are for retrieving details (disease and target), two for retrieving associations/summaries (target-disease and disease-targets), and two for searching (diseases and targets). There is no overlap in functionality, making it easy for an agent to select the right tool.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes, followed by descriptive nouns (e.g., get_disease_details, search_targets). The naming is uniform and predictable across all six tools.

    Tool Count5/5

    With 6 tools, this server is well-scoped for its purpose of querying disease and target data in the OpenTargets domain. Each tool serves a specific, non-redundant function, and the count is appropriate for covering core operations without being overwhelming.

    Completeness4/5

    The tool set provides comprehensive coverage for querying and retrieving disease and target information, including details, associations, and search capabilities. A minor gap is the lack of update or creation tools, but this is reasonable for a read-only data query server focused on biomedical research.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      A Model Context Protocol (MCP) server for querying drug information from the OpenFDA API. Features Retrieve drug label information by brand name Retrieve drug information by generic (active ingredient) name Get all brand versions of a generic drug Get adverse event (side effect) reports for a drug
      7
      22 npm
      4
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Provides a Model Context Protocol server for accessing and querying biomedical data from BioThings services, including gene, variant, chemical, and taxon annotations.
      19
      37
      MIT