Open Targets Platform MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OTP_MCP_HTTP_HOST | No | HTTP server host (only used with http transport) | localhost |
| OTP_MCP_HTTP_PORT | No | HTTP server port (only used with http transport) | 8000 |
| OTP_MCP_TRANSPORT | No | Transport type: stdio or http | http |
| OTP_MCP_JQ_ENABLED | No | Enable jq filtering support | false |
| OTP_MCP_SERVER_NAME | No | Server name displayed in MCP | Model Context Protocol server for Open Targets Platform |
| OTP_MCP_API_ENDPOINT | No | Open Targets Platform API endpoint URL | https://api.platform.opentargets.org/api/v4/graphql |
| OTP_MCP_API_CALL_TIMEOUT | No | Request timeout in seconds for API calls | 30 |
| OTP_MCP_RATE_LIMITING_ENABLED | No | Enable rate limiting | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_open_targets_graphql_schemaA | 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-safety'). The returned schema includes types from the specified categories plus their dependencies expanded. Available categories:
Args: categories (list[str]): List of category names to filter the schema. Returns only types relevant to the specified categories. (examples: ['drug-mechanisms'], ['target-safety', 'drug-safety']) Returns: (str): The schema text in SDL (Schema Definition Language) format. |
| get_type_dependenciesA | 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. Args: type_names (list[str]): List of GraphQL type names to start exploration from. (examples: ['Target', 'Drug']) Returns: (dict[str, str]): Dictionary with one key per input type: SDL for types ONLY reachable from that type and 'shared' key: SDL for types reachable from multiple input types. |
| search_entitiesA | 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 query strings in a single call - each query is executed independently and results are returned in a dictionary keyed by the query string. Args: query_strings (list[str]): List of search queries. (examples: ['BRCA1', 'aspirin']) Returns: (dict[str, list[SearchEntitiesFoundEntity]]): Top 3 hits for each query string, with entity ID and type. |
| query_open_targets_graphqlA | 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 Step 2: LEARN QUERY STRUCTURE
Call Step 3: CONSTRUCT AND EXECUTE QUERY Build GraphQL query using: - Standardized IDs from Step 1 (REQUIRED) - Query structure from Step 2 - Follow the "COMMON MISTAKES TO AVOID" guidance in the schema output REQUIRED IDENTIFIER FORMATS:
Args: query_string (str): GraphQL query string starting with 'query' keyword. variables (UnionType[dict[str, Any], None]): Optional dict or JSON string with query variables. Returns: (QueryResult): GraphQL response with data field containing targets, diseases, drugs, variants, studies or error message. |
| batch_query_open_targets_graphqlA | 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 steps in order: Step 1: RESOLVE IDENTIFIERS
If user provides common names (gene symbols, disease names, drug names),
use Step 2: LEARN QUERY STRUCTURE
Call Step 3: CONSTRUCT AND EXECUTE BATCH QUERY Build GraphQL query and variables_list using: - Standardized IDs from Step 1 (REQUIRED) - Query patterns from Step 2 - Follow the "COMMON MISTAKES TO AVOID" guidance in the schema output REQUIRED IDENTIFIER FORMATS:
Args: query_string (str): The GraphQL query string to execute for all variable sets. variables_list (list[dict[str, Any]]): List of variable dictionaries, one per query execution. key_field (str): Variable field name to use as key in results mapping. Returns: (BatchQueryResult): Results keyed by the specified field value, with execution summary. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
The two schema-discovery tools (get_open_targets_graphql_schema and get_type_dependencies) overlap somewhat, but their category-based versus type-based approaches are clearly described. The search, query, and batch-query tools have distinct purposes and are unlikely to be confused.
Tool names are consistently snake_case and mostly verb-first, but the convention mixes get_, search_, query_, and batch_query_ prefixes, and the long open_targets_graphql descriptor appears inconsistently. The docs also reference search_entity while the actual tool is search_entities.
Five tools is well-scoped for a read-only GraphQL data platform: schema discovery, type dependency exploration, entity search, single query execution, and batch query execution each serve a necessary role without redundancy or bloat.
The toolset covers the full workflow: search to resolve identifiers, schema introspection to learn query structure, single-query execution, and batch execution for repeated queries. There are no obvious missing operations for the stated purpose of interacting with the Open Targets Platform API.