- Home
- MCP servers
- Open Targets
Open Targets
- 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.