nickzren avatar

Opentargets

nickzren/opentargets-mcp

Wraps the Open Targets Platform GraphQL API with 65 curated tools plus raw query access for drug discovery and target validation workflows. You get typed operations for searching targets by Ensembl ID, querying disease associations with evidence scores, pulling drug safety data from ChEMBL, and exploring genetic variants across 22+ integrated sources including ClinVar, GTEx, and Reactome. The tool set covers cross-entity workflows like chaining disease to target to drug evidence, with optional field filtering to control response size. Includes smart entity resolution with synonym handling and strict ID validation. Ships with stdio for Claude Desktop via mcpm, plus SSE and HTTP transports for web clients. Python 3.10+ required.

GitHub stars
19
tools
5
transport
STDIO
last updated
Oct 9, 2026

Tools

5 tools

Public tool metadata for what this MCP can expose to an agent.

get_open_targets_graphql_schemaRetrieve the Open Targets Platform GraphQL schema filtered by category. You MUST specify one or more categories to retrieve the relevant schema subset. Categories group related GraphQL types into coherent subschemas (e.g., 'drug-mechanisms', 'genetic-associations', 'target-saf...1 params

Retrieve the Open Targets Platform GraphQL schema filtered by category. You MUST specify one or more categories to retrieve the relevant schema subset. Categories group related GraphQL types into coherent subschemas (e.g., 'drug-mechanisms', 'genetic-associations', 'target-saf...

Parameters* required
categoriesarray
List of category names to filter the schema. Returns only types relevant to the specified categories.
get_type_dependenciesGet schema subsets for types, separated by specific and shared deps. Given a list of type names, returns SDL (Schema Definition Language) organized into type-specific dependencies and shared dependencies. Returns a dict with: - One key per input type: SDL for types ONLY reacha...1 params

Get schema subsets for types, separated by specific and shared deps. Given a list of type names, returns SDL (Schema Definition Language) organized into type-specific dependencies and shared dependencies. Returns a dict with: - One key per input type: SDL for types ONLY reacha...

Parameters* required
type_namesarray
List of GraphQL type names to explore (e.g., ['Target', 'Disease', 'Drug'])
search_entitiesSearch for entities across multiple types using the Open Targets Platform search API. This tool performs a streamlined entity search that returns the id and entity type for up to 3 matching entities across targets, diseases, drugs, variants, and studies. Supports multiple quer...1 params

Search for entities across multiple types using the Open Targets Platform search API. This tool performs a streamlined entity search that returns the id and entity type for up to 3 matching entities across targets, diseases, drugs, variants, and studies. Supports multiple quer...

Parameters* required
query_stringsarray
List of search query strings to find entities (e.g., ['BRCA1', 'breast cancer', 'aspirin'])
query_open_targets_graphqlExecute GraphQL queries against the Open Targets Platform API. WORKFLOW - Follow these steps in order: Step 1: RESOLVE IDENTIFIERS If user provides common names (gene symbols, disease names, drug names), use `search_entity` tool FIRST to convert them to standardized IDs: - Tar...2 params

Execute GraphQL queries against the Open Targets Platform API. WORKFLOW - Follow these steps in order: Step 1: RESOLVE IDENTIFIERS If user provides common names (gene symbols, disease names, drug names), use `search_entity` tool FIRST to convert them to standardized IDs: - Tar...

Parameters* required
query_stringstring
GraphQL query string starting with 'query' keyword
variablesvalue
Optional variables for the GraphQL query
batch_query_open_targets_graphqlExecute the same GraphQL query multiple times with different variable sets. Use this tool instead of the regular query tool when you need to run the same query repeatedly with different arguments (e.g., querying multiple drugs, targets, or diseases). WORKFLOW - Follow these st...3 params

Execute the same GraphQL query multiple times with different variable sets. Use this tool instead of the regular query tool when you need to run the same query repeatedly with different arguments (e.g., querying multiple drugs, targets, or diseases). WORKFLOW - Follow these st...

Parameters* required
key_fieldstring
Variable field to use as result key
query_stringstring
GraphQL query string
variables_listarray
List of variables for each query execution

Sponsors

Readme

Open Targets MCP Server

CI PyPI Python MCP Registry License: MIT

A read-only MCP server for exploring targets, diseases, drugs and genetic evidence through the Open Targets Platform. Use names or IDs, retrieve supporting evidence, and explore drug-repurposing candidates. No Open Targets API key required.

Install

Requires uv.


View the full README on GitHub

Details

Repository
github.com/nickzren/opentargets-mcp
Website
nickzren.github.io/opentargets-mcp
Package
opentargets-mcp
Transport
STDIO
Registry
MCP registry, active