Back to MCP Servers

Open Targets MCP Server

Official MCP server for the Open Targets Platform, exposing target-disease-drug association data and the GraphQL API for drug discovery research.

Healthcare & Life Sciences by Open Targets None active
Overview

The Open Targets Platform MCP server is the official Model Context Protocol implementation maintained by Open Targets, the public-private partnership that integrates evidence from genetics, genomics, and chemistry to systematically identify and prioritize drug targets. It gives AI assistants a purpose-built interface to the Open Targets Platform GraphQL API, including target-disease associations, drug data, variants, and studies, with a business interpretation layer that helps agents understand pagination, schema relationships, and entity ID formats (ENSEMBL, EFO/MONDO, ChEMBL, rsIDs).

The server exposes five tools covering schema introspection, single and batch GraphQL execution, type dependency exploration, and entity search across targets, diseases, drugs, variants, and studies. Notable features include a pre-fetched GraphQL schema cache for fast startup, optional server-side jq filtering to reduce token consumption, configurable rate limiting, and support for both stdio and HTTP transports. It is built on fastmcp.

Open Targets hosts a public remote endpoint at https://mcp.platform.opentargets.org/mcp for immediate use without local installation, and also publishes the source on GitHub plus a Docker image at ghcr.io/opentargets/open-targets-platform-mcp for self-hosting. The project is experimental and under active development, released in partnership with Anthropic as part of the Claude for Healthcare and Life Sciences launch.

Tools

Tool Description
get_open_targets_graphql_schema Fetch category-based subschemas from the Open Targets Platform GraphQL API, including documentation for relevant types and fields.
get_type_dependencies Explore schema type relationships and retrieve GraphQL SDL subsets with recursive dependencies for a given type.
query_open_targets_graphql Execute a GraphQL query against the Open Targets Platform to retrieve data about targets, diseases, drugs, and their associations.
batch_query_open_targets_graphql Execute the same GraphQL query multiple times with different variable sets for efficient batch processing.
search_entities Search for entities across multiple types (targets, diseases, drugs, variants, studies) and retrieve their standardized IDs (ENSEMBL, EFO/MONDO, ChEMBL, rsIDs).
Setup Guide

Option 1: Remote hosted endpoint (simplest)

Open Targets runs a public hosted MCP server. Add it as a connector in Claude Desktop or any MCP client that supports remote HTTP MCP servers:

https://mcp.platform.opentargets.org/mcp

No authentication or API key is required. The endpoint targets the public Open Targets Platform API.

Option 2: Local install via uvx

Run the server directly from the GitHub repo using uvx:

uvx --from git+https://github.com/opentargets/open-targets-platform-mcp otp-mcp

Option 3: Claude Desktop stdio config

Clone and install with uv:

git clone https://github.com/opentargets/open-targets-platform-mcp.git
cd open-targets-platform-mcp
uv sync

Then add to your Claude Desktop config:

{
  "mcpServers": {
    "otp-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<your-path>/open-targets-platform-mcp",
        "otp-mcp",
        "--transport",
        "stdio"
      ]
    }
  }
}

Add --jq to the args array to enable server-side jq filtering.

Option 4: Docker

docker pull ghcr.io/opentargets/open-targets-platform-mcp
docker run -d -p 8000:8000 -e OTP_MCP_HTTP_HOST=0.0.0.0 \
  ghcr.io/opentargets/open-targets-platform-mcp

Configuration

All settings use the OTP_MCP_ env var prefix or equivalent CLI flags. Common variables:

  • OTP_MCP_API_ENDPOINT (default https://api.platform.opentargets.org/api/v4/graphql)
  • OTP_MCP_TRANSPORT (stdio or http, default http)
  • OTP_MCP_HTTP_HOST, OTP_MCP_HTTP_PORT
  • OTP_MCP_JQ_ENABLED (default false)
  • OTP_MCP_RATE_LIMITING_ENABLED (default false)
  • OTP_MCP_API_CALL_TIMEOUT (default 30)

Prerequisites

  • Python 3.10+ (3.11+ for local CLAUDE_DESKTOP setup) for local installs
  • uv package manager for uvx/uv run workflows
  • Docker for containerized deployment
  • Optional: jq installed on the host for the filtering feature
Use Cases
  • Systematic identification and prioritization of drug targets for a disease of interest using Open Targets association scores and evidence.
  • Safety assessment for candidate targets (for example, retrieving known safety liabilities and adverse events for a gene like PTGS2).
  • Multi-entity queries that combine target, disease, drug, variant, and study evidence to support a therapeutic hypothesis.
  • Resolving free-text gene, disease, or drug names to standardized identifiers (ENSEMBL, EFO/MONDO, ChEMBL) for downstream pipelines.
  • Schema-aware GraphQL exploration so agents can construct valid Open Targets queries without manually reading the full API schema.
Example Prompts
  • "Find the top 20 targets associated with idiopathic pulmonary fibrosis in Open Targets and rank them by overall association score."
  • "List known drugs in clinical trials for EGFR and include mechanism of action and trial phase."
  • "What safety concerns and adverse events are reported for PTGS2 in the Open Targets Platform?"
  • "Resolve 'TP53' and 'breast carcinoma' to their Open Targets identifiers and pull the supporting evidence types."
  • "Batch query the disease associations for these 10 ENSEMBL IDs and return the top 3 diseases for each."
Pros
  • Official, maintained by Open Targets, with a public hosted endpoint that requires no API key or local setup.
  • Includes a business interpretation layer plus schema introspection tools, so agents construct valid GraphQL queries instead of guessing.
  • Optional jq filtering and batch queries reduce token usage on large biomedical result sets.
  • Multiple deployment options: hosted, uvx, Docker, and self-hosted stdio/HTTP.
Limitations
  • Marked as experimental and under active development; features and APIs are subject to change.
  • Read-only access to public Open Targets data; no support for proprietary or write-back workflows.
  • Requires the user or agent to be comfortable composing GraphQL queries for anything beyond simple entity search.
Alternatives