Open Targets

Exposes the Open Targets Platform GraphQL API as MCP tools for Claude Desktop and other MCP clients.
  • python

14

GitHub Stars

python

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "nickzren-opentargets-mcp": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "-m",
        "opentargets_mcp.server"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "FASTMCP_SERVER_HOST": "0.0.0.0",
        "FASTMCP_SERVER_PORT": "8000",
        "OPEN_TARGETS_API_URL": "https://api.platform.opentargets.org/api/v4/graphql",
        "OPEN_TARGETS_RATE_LIMIT_RPS": "10",
        "OPEN_TARGETS_RATE_LIMIT_BURST": "20"
      }
    }
  }
}

You can run the Open Targets MCP Server to expose the Open Targets Platform GraphQL API as a set of MCP tools. This server enables Claude Desktop and other MCP clients to perform targeted data queries across targets, diseases, drugs, evidence, variants, and studies through a curated collection of tools, while also offering raw GraphQL access for edge cases.

How to use

You interact with the MCP server through an MCP client. Start the server using the stdio transport for local development, or switch to SSE or HTTP transports if your client requires streaming or web-based access. When connected, you can perform searches, fetch target and disease profiles, explore drug data, retrieve evidence summaries, and run cross-entity workflows using the provided tools. If you need to run custom GraphQL queries, you can fall back to the raw GraphQL tools included with the server.

Common usage patterns include starting the server in stdio mode for local scripting and automation, or running the server in a network-accessible mode (SSE or HTTP) for web clients or multi-user environments. You can also import the server into Claude Desktop for a tighter integration workflow.

How to install

Prerequisites: Python 3.10 or newer with pip installed.

Choose an installation path that fits your workflow.

Option A: Local development with stdio transport (recommended for scripting and debugging) - clone the repository, install dependencies, and run the server.

Option B: Quick start via uvx (no local install required) - run the server directly from the repository using uvx.

Option C: Docker for isolated deployment.

Additional notes

Configuration is driven by environment variables. You can set the transport, host, port, and API URL to tailor the server for your environment. The server provides verbose logging when troubleshooting and supports rate limiting through environment variables.

The server ships with a suite of 68 tools spanning targets, diseases, drugs, evidence, variants, and studies. You can query these tools, inspect their outputs, and use fields filters to minimize payloads. If you need cross-entity workflows, the server offers multi-hop tool sequences to prioritize results.

Examples are provided to validate targets, diseases, drugs, and cross-entity analyses, as well as a ReAct-based AI agent example for interactive exploration.

Troubleshooting and tips

If you encounter connection issues, verify that the MCP transport setting matches your client, and confirm host/port exposure for non-stdio modes. For slow or failed queries, consider using the optional fields filters to trim responses and reduce load.

Available tools

get_target_info

Core target identity record including Ensembl IDs, synonyms, and genomic coordinates.

get_disease_info

Disease summary with therapeutic area context and key attributes.

get_drug_info

Drug profile with mechanism data and references.

search_entities

Unified entity search with synonym handling and id resolution.

graphql_batch_query

Run a GraphQL query across multiple variable sets in a batch.

get_target_associated_diseases

High-confidence target-disease links with scores.

get_disease_associated_targets

Prioritized targets for a given disease.

get_target_known_drugs

Approved and investigational drugs for a target.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational