Opentargets logo

Opentargets

Queries Open Targets biomedical data through MCP tools for target, disease, drug, variant, and evidence workflows.

Install Opentargets

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "opentargets": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/nickzren/opentargets-mcp",
        "opentargets-mcp"
      ],
      "env": {
        "MCP_TRANSPORT": "YOUR_VALUE_HERE",
        "FASTMCP_SERVER_HOST": "YOUR_VALUE_HERE",
        "FASTMCP_SERVER_PORT": "YOUR_VALUE_HERE",
        "OPEN_TARGETS_API_URL": "YOUR_VALUE_HERE",
        "OPEN_TARGETS_RATE_LIMIT_RPS": "YOUR_VALUE_HERE",
        "OPEN_TARGETS_RATE_LIMIT_BURST": "YOUR_VALUE_HERE",
        "OPEN_TARGETS_RATE_LIMIT_ENABLED": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 68 tools correctly (22d ago).

Overview

The opentargets MCP server exposes the Open Targets Platform GraphQL API through tools for targets, diseases, drugs, variants, and evidence. It resolves entity names and identifiers, runs structured GraphQL queries, and returns JSON based on the Open Targets schema. Use it for biomedical research workflows such as target-disease prioritization, drug lookup, evidence review, and repurposing analysis. It supports stdio, SSE, and HTTP transports for Claude Desktop and other MCP-compatible clients.

Use cases

  • Search for canonical target, disease, or drug identifiers
  • Review evidence linking a target to a disease
  • Find known drugs for a therapeutic target
  • Prioritize drug repurposing candidates
  • Run repeated GraphQL queries across variable sets

Key features

  • Open Targets GraphQL access over MCP
  • Target, disease, and drug profiles
  • Entity search with synonym handling
  • Target-disease evidence and association tools
  • Disease-to-target-to-drug prioritization
  • Batch GraphQL query execution

Tools68

What Opentargets lets your agent do. Expand a tool for its parameters.

Verified live~5.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

6/6 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · opentargets-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars19Stargazers on the source repository.
Last commit13d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed68Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Opentargets works

What opentargets MCP server does

The opentargets MCP server connects MCP clients to the Open Targets Platform GraphQL API. It provides structured access to biomedical relationships involving targets, diseases, drugs, variants, and evidence rather than requiring an agent to construct API requests directly.

The available operations include entity search, target and disease summaries, ChEMBL-backed drug profiles, target-disease associations, target-linked drugs, and evidence across genetics, expression, and literature. It also includes a workflow for ranking drug repurposing candidates by following disease-to-target-to-drug relationships. Variant and study capabilities are part of the broader Open Targets tool coverage described by the project, while the listed core tools focus on targets, diseases, drugs, evidence, search, and batch GraphQL access.

How it works

Tool calls are translated into GraphQL requests sent to the Open Targets Platform endpoint. Results are returned as structured JSON reflecting the platform's GraphQL schema. The platform combines information from sources including Open Targets Genetics, ClinVar, UK Biobank, FinnGen, ChEMBL, FDA and EMA data, GTEx, Reactome, Europe PMC, FAERS, and mouse phenotype resources.

Use search_entities when a name or synonym must be mapped to a canonical identifier. The server applies strict identifier resolution, so unresolved names produce an error rather than an ambiguous result. graphql_batch_query can apply one GraphQL operation to multiple variable sets when the curated tools do not cover a query pattern.

Core tools support optional field selection to reduce returned data, and pagination parameters are checked before requests are sent. Page indexes must be nonnegative, page sizes must be at least one, and the maximum page size is 500.

Setup and configuration

Python 3.10 or newer is required. The server can be run directly with uvx, installed from a local clone with uv sync, or started with Docker Compose. A local installation uses:

bash
uv run python -m opentargets_mcp.server

The default transport is stdio. The command-line interface also supports stdio, sse, and http; Docker deployments use HTTP by default. Host, port, transport, and API endpoint settings can be supplied through command-line options or environment variables. The default API endpoint is https://api.platform.opentargets.org/api/v4/graphql, the default host is 0.0.0.0, and the default port is 8000. For local-only development, the documentation recommends binding to 127.0.0.1.

OPEN_TARGETS_RATE_LIMIT_RPS, OPEN_TARGETS_RATE_LIMIT_BURST, and the related enable setting can add server-side rate limiting. --verbose enables debug logging, while --list-tools displays registered tools and --version reports the package version.

Tools and capabilities

The opentargets MCP server exposes the following listed operations:

  • Retrieve target identity, including Ensembl IDs, synonyms, and genomic coordinates.
  • Retrieve disease summaries and therapeutic-area context.
  • Retrieve drug profiles, mechanisms, indications, safety data, and adverse-event information where provided by the underlying platform.
  • Search entities with synonym handling and identifier mapping.
  • Find associated diseases for a target and associated targets for a disease, with prioritization or scores.
  • Find approved and investigational drugs linked to a target.
  • Inspect target-disease evidence from genetics, expression, and literature.
  • Rank potential drug repurposing candidates through a disease, target, and drug chain.
  • Run one GraphQL query against multiple variable sets.

Limitations and notes

The server depends on the Open Targets Platform API and its underlying data sources. It does not replace source-level validation for research decisions. Names that cannot be resolved must be corrected or mapped with search_entities before using tools that require canonical IDs.

The default stdio mode is suited to local MCP clients such as Claude Desktop. SSE and HTTP require a client that can connect to those transports; web access may also require a public URL or tunnel.

The API endpoint, transport, host, and port have defaults, so no environment variable is required for a basic local run. Invalid typed configuration values fail during startup. Rate limiting is optional rather than enabled by default.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Opentargets

opentargets is an MCP server that connects MCP clients to the Open Targets Platform GraphQL API. Its tools search and resolve entities, retrieve target, disease, and drug information, inspect target-disease evidence and associations, identify known drugs and repurposing candidates, and submit batch GraphQL queries.

Install it with uvx, clone the repository and run `uv sync`, use the mcpm package manager for Claude Desktop, or start it with Docker Compose. A local run uses `uv run python -m opentargets_mcp.server`, with stdio as the default transport.

It supports stdio, SSE, and HTTP transports. Stdio is the default and is documented for Claude Desktop and local CLI tools; SSE is intended for web-based MCP clients, and HTTP is available for streamable-HTTP clients.

Use `search_entities` to resolve names, synonyms, and identifiers to canonical entities. The server uses strict resolution, so unresolved names return an error instead of being interpreted ambiguously.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpentargets AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/opentargets?style=directory)](https://allmcps.com/mcp/opentargets)
HTML Embed
<a href="https://allmcps.com/mcp/opentargets"><img src="https://allmcps.com/api/badge/opentargets?style=directory" alt="Opentargets on AllMCPs" /></a>