# opentargets [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/nickzren/opentargets-mcp  
**GitHub Stars:** 19  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/opentargets

## Description
Open Targets MCP server for targets, diseases, drugs, variants, and evidence

## Tools
Capabilities this server exposes over MCP:

- **get_target_alternative_genes** — List alternate gene symbols and database cross-references for a target.
- **get_target_associated_diseases** — List diseases linked to a target with association scores.
- **get_target_chemical_probes** — List available chemical probes and their quality metrics.
- **get_target_class** — Return ChEMBL target class annotations for a gene.
- **get_target_depmap_essentiality** — Fetch DepMap CRISPR essentiality scores across cell lines.
- **get_target_expression** — Return baseline expression measurements for a target across biosamples.
- **get_target_genetic_constraint** — Fetch genetic constraint metrics (gnomAD) for a target.
- **get_target_hallmarks** — Return cancer hallmark annotations associated with a target.
- **get_target_homologues** — Retrieve cross-species homologues for a target gene.
- **get_target_info** — Retrieve core identity details for a target gene.
- **get_target_interactions** — Retrieve protein interaction partners for a target from curated databases.
- **get_target_known_drugs** — Return compounds with known activity on the target.
- **get_target_literature_occurrences** — Return literature co-occurrence records for a target.
- **get_target_mouse_phenotypes** — Retrieve mouse knockout phenotypes associated with a target.
- **get_target_pathways_and_go_terms** — List pathway memberships and Gene Ontology annotations for a target.
- **get_target_prioritization** — Return target prioritisation scores compiled across data sources.
- **get_target_safety_information** — Retrieve documented safety liabilities for a target.
- **get_target_subcellular_locations** — Return subcellular localisation annotations for a target.
- **get_target_tep** — Fetch Target Enabling Package (TEP) information for a gene.
- **get_target_tractability** — Return tractability assessments across modalities for a target.
- **get_disease_associated_targets** — List targets associated with a disease, including evidence scores.
- **get_disease_info** — Retrieve core metadata for an Open Targets disease entity.
- **get_disease_known_drugs** — Retrieve drugs with investigational or approved indications for a disease.
- **get_disease_literature_occurrences** — Return literature co-occurrence records mentioning a disease.
- **get_disease_ontology** — Retrieve ontology structure for a disease including parents, children, and ancestors.
- **get_disease_otar_projects** — List Open Targets Associated Research (OTAR) projects linked to a disease.
- **get_disease_phenotypes** — Fetch HPO phenotype annotations linked to a disease.
- **get_disease_similar_entities** — Find semantically similar diseases based on PubMed embeddings.
- **get_drug_adverse_events** — Retrieve adverse event signals associated with a drug.
- **get_drug_cross_references** — Retrieve cross-database identifiers related to a drug.
- **get_drug_info** — Fetch identity, indication, and mechanism data for a drug.
- **get_drug_linked_diseases** — List diseases connected to a drug across indications and mechanisms.
- **get_drug_linked_targets** — Return targets linked to a drug via mechanism-of-action data.
- **get_drug_literature_occurrences** — Return literature co-occurrence records mentioning a drug.
- **get_drug_pharmacogenomics** — Retrieve pharmacogenomics data linking genetic variants to drug response.
- **get_drug_pharmacovigilance** — Summarise high-level pharmacovigilance data for a drug.
- **get_drug_similar_entities** — Find semantically similar drugs based on PubMed embeddings.
- **get_drug_warnings** — Fetch detailed regulatory warnings, including withdrawals and boxed labels.
- **get_target_disease_biomarkers** — Inspect evidence for biomarker annotations linking a target and disease.
- **get_target_disease_evidence** — Retrieve evidence strings linking a target to a disease.
- **get_similar_targets** — Identify targets with similar association profiles to the seed target.
- **search_entities** — Search Open Targets entities and resolve synonyms to canonical IDs.
- **search_facets** — Return facet counts to help filter search results.
- **search_suggestions** — Return autocomplete suggestions for partially typed queries.
- **get_variant_credible_sets** — List credible sets that include a specific variant.
- **get_variant_evidences** — Retrieve evidence strings linking a variant to targets or diseases.
- **get_variant_info** — Retrieve core metadata and functional annotations for a variant.
- **get_variant_intervals** — Retrieve enhancer-to-gene (E2G) predictions overlapping a variant.
- **get_variant_pharmacogenomics** — Retrieve pharmacogenomic annotations for a variant.
- **get_variant_protein_coordinates** — Retrieve protein-level consequences for a variant.
- **get_credible_set_by_id** — Fetch detailed information for a specific study locus credible set.
- **get_credible_set_colocalisation** — Retrieve colocalisation results for a credible set.
- **get_credible_sets** — Query credible sets with flexible filtering options.
- **get_studies_by_disease** — List studies linked to one or more diseases.
- **get_study_credible_sets** — Retrieve fine-mapped credible sets for a study.
- **get_study_info** — Retrieve metadata and cohort details for a GWAS study.
- **get_api_metadata** — Return Open Targets Platform release metadata.
- **get_association_datasources** — List sources contributing target–disease association evidence.
- **get_diseases_batch** — Retrieve multiple diseases in a single request.
- **get_drugs_batch** — Retrieve multiple drugs in a single request.
- **get_gene_ontology_terms** — Resolve Gene Ontology identifiers to human-readable labels.
- **get_interaction_resources** — Enumerate interaction databases integrated into Open Targets.
- **get_targets_batch** — Retrieve multiple targets in a single request.
- **map_ids** — Map free-text terms to canonical Open Targets identifiers.
- **graphql_batch_query** — Execute one GraphQL query against many variable sets.
- **graphql_query** — ADVANCED: Execute a raw GraphQL query against Open Targets.
- **graphql_schema** — ADVANCED: Return the GraphQL schema in SDL format.
- **get_drug_repurposing_candidates** — Find repurposing candidates by chaining disease, target, and drug evidence.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "opentargets": {
    "command": "uvx",
    "args": ["--from","git+https://github.com/nickzren/opentargets-mcp","opentargets-mcp"],
    "env": {
      "MCP_TRANSPORT": "",
      "FASTMCP_SERVER_HOST": "",
      "FASTMCP_SERVER_PORT": "",
      "OPEN_TARGETS_API_URL": "",
      "OPEN_TARGETS_RATE_LIMIT_RPS": "",
      "OPEN_TARGETS_RATE_LIMIT_BURST": "",
      "OPEN_TARGETS_RATE_LIMIT_ENABLED": ""
    }
  }
}
```

**Requires environment variables:** `MCP_TRANSPORT`, `FASTMCP_SERVER_HOST`, `FASTMCP_SERVER_PORT`, `OPEN_TARGETS_API_URL`, `OPEN_TARGETS_RATE_LIMIT_RPS`, `OPEN_TARGETS_RATE_LIMIT_BURST`, `OPEN_TARGETS_RATE_LIMIT_ENABLED` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## 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.

_Full upstream README: https://allmcps.com/mcp/opentargets/readme_

