Gen3 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEN3_BASE_URL | Yes | Base URL of the Gen3 data commons (e.g., https://gen3.datacommons.io/). | |
| GEN3_LOG_LEVEL | No | Log level (e.g., INFO, DEBUG). Default is INFO. | INFO |
| GEN3_CREDENTIALS_FILE | Yes | Path to the Gen3 credentials JSON file containing 'api_key' and 'key_id'. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_schema_summaryA | Discover the data model structure of a Gen3 data commons. This is your starting point! Get an overview of all available nodes (entities) in the Gen3 data commons, including their relationships and metadata. Field details are omitted for conciseness - use get_schema_entity to explore specific entities in detail. Returns: Schema overview with entity names, relationships, and metadata. Workflow: Start here → get_schema_entity → generate_query_template → validate_query → execute_graphql |
| get_schema_entityA | Get detailed information for a specific entity including all fields. Retrieves complete entity definition with all scalar fields, relationships, and metadata. Use this after get_schema_summary() to explore specific entities in detail before building queries. Args: entity_name: Name of the entity to retrieve (from get_schema_summary) Returns: Complete entity data including all fields, relationships, and metadata. Workflow: get_schema_summary → You are here → generate_query_template → validate_query → execute_graphql |
| generate_query_templateA | Generate a ready-to-use GraphQL query template for any data type. Takes an entity name (from get_schema_summary) and creates a complete, valid GraphQL query with the most useful fields and relationships. This gives you a working starting point that you can customize. Args: entity_name: Name of the data type to query (e.g., 'subject', 'sample') include_relationships: Whether to include related data types in template max_fields: Maximum number of fields to include (controls template size) Returns: A complete GraphQL query template ready to use or customize. Copy the template from data.template and modify as needed. Workflow: get_schema_summary → get_schema_entity → You are here → validate_query → execute_graphql |
| validate_queryA | Check if your GraphQL query is valid before executing it. Validates your GraphQL query syntax and verifies that all entities and fields exist in the schema. Catches errors early and provides specific suggestions for fixing issues. Always validate before executing to avoid runtime errors. Args: query: The GraphQL query string to validate Returns: Validation results with detailed error messages and fix suggestions if issues are found. A valid query means it's safe to execute. Workflow: get_schema_summary → get_schema_entity → generate_query_template → You are here → execute_graphql IMPORTANTAlways run this before calling execute_graphql |
| execute_graphqlA | Execute your GraphQL query and retrieve data from the Gen3 data commons. Runs your validated GraphQL query against the Gen3 data commons and returns the actual data. This is where you get real research data back. Make sure your query is validated first to avoid errors. Args: query: A valid GraphQL query string (validated with validate_query) Returns: The data results from your query. On success, data contains the requested information. On error, includes specific error details and suggestions for fixing the query. Workflow: get_schema_summary → get_schema_entity → generate_query_template → validate_query → You are here IMPORTANTAlways run validate_query on the query before calling this. |
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
Each tool has a distinct, clearly defined role in the query workflow, from schema discovery to execution. There is no overlap; even the two 'get_schema' tools differ in scope (summary vs. entity details).
All tool names follow a consistent verb_noun pattern in snake_case (e.g., execute_graphql, get_schema_entity). The verbs are descriptive and match the tool's action.
With five tools, the server covers the essential steps for querying a Gen3 data commons without being overly minimal or bloated. Each tool serves a necessary function in the documented workflow.
The tools cover the full query lifecycle from schema exploration to execution. However, there is no direct support for advanced query editing or result management, which slightly limits completeness for power users.