Data Product MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABRICKS_HOST | No | Databricks workspace URL without HTTPS prefix (e.g., adb-xxx.azuredatabricks.net) (required if using Databricks). | |
| DATABRICKS_CLIENT_ID | No | Databricks OAuth2 client ID (required if using Databricks). | |
| DATABRICKS_HTTP_PATH | No | Databricks SQL warehouse HTTP path (e.g., /sql/1.0/warehouses/xxx) (required if using Databricks). | |
| DATAMESH_MANAGER_HOST | No | Base URL for self-hosted Data Mesh Manager instances. Default: https://api.datamesh-manager.com | https://api.datamesh-manager.com |
| DATABRICKS_CLIENT_SECRET | No | Databricks OAuth2 client secret (required if using Databricks). | |
| DATAMESH_MANAGER_API_KEY | Yes | API key for authentication with Data Mesh Manager (required). | |
| BIGQUERY_CREDENTIALS_PATH | No | Path to the BigQuery service account key JSON file (required if using BigQuery). | |
| DATACONTRACT_SNOWFLAKE_ROLE | No | Snowflake role (e.g., DATAPRODUCT_MCP) (required if using Snowflake). | |
| DATACONTRACT_SNOWFLAKE_PASSWORD | No | Snowflake programmatic access token (required if using Snowflake). | |
| DATACONTRACT_SNOWFLAKE_USERNAME | No | Snowflake username (required if using Snowflake). | |
| QUERY_ACCESS_EVALUATION_ENABLED | No | Enable/disable AI-based query access evaluation. Set to 'false' to disable. Default: true | true |
| DATACONTRACT_SNOWFLAKE_WAREHOUSE | No | Snowflake warehouse (e.g., COMPUTE_WH) (required if using Snowflake). |
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 |
|---|---|
| dataproduct_searchA | Search data products based on the search term. Only returns active data products. Args: search_term: Search term to filter data products. Multiple search terms are supported, separated by space. Returns: List of data product summaries with basic information. |
| dataproduct_getA | Get a data product by its ID. The data product contains all its output ports and server information. The response includes access status for each output port and inlines any data contracts. Args: data_product_id: The data product ID. Returns: Dict containing the data product details with enhanced output ports. |
| dataproduct_request_accessA | Request access to a specific output port of a data product. This creates an access request. Based on the data product configuration, purpose, and data governance rules, the access will be automatically granted, or it will be reviewed by the data product owner. Args: data_product_id: The ID of the data product. output_port_id: The ID of the output port to request access to. purpose: The business purpose/reason for requesting access to this data. Use a high-level description of why you need this data. Returns: Dict containing access request details including access_id, status, and approval information. |
| dataproduct_queryA | Execute an SQL query on a data product's output port. This tool connects to the underlying data platform (Snowflake, Databricks) and executes the provided SQL query. You must have access to the output port to execute queries. If the data contract specifies terms of use (such as usage, or limitations), you may only execute this tool when the query is in line with these terms. Args: data_product_id: The ID of the data product. output_port_id: The ID of the output port to query. purpose: The business purpose for executing this query. Use a high-level description of why you need this data. If there is a data contract, the purpose must be in line with the terms specified in the data contract. query: The SQL query to execute. Try to use fully qualified table names when appropriate. Returns: Dict containing query results with row count and data (limited to 100 rows). |
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 4 tools
Each tool has a distinct purpose: search for data products, get full details, request access to an output port, and execute a query. No two tools overlap in function, making selection unambiguous.
All tools follow a consistent pattern of 'dataproduct_' followed by a verb (search, get, request_access, query). The naming convention is uniform and predictable.
Four tools cover the essential workflows for this domain: discovery, inspection, access request, and query. This is well-scoped and within the recommended range.
The core lifecycle is covered, but there is a minor gap: there's no way to list all data products without a search term, which limits catalog browsing. Also, no mechanism for canceling or revoking access requests is provided.