Collate MCP Tools Reference
Overview
This document provides detailed examples and usage patterns for all available Collate MCP tools. Each tool includes sample requests, responses, and common use cases.Available Tools
| Category | Tools |
|---|---|
| Discover | search_metadata, semantic_search, search_company_context, nlq_search |
| Inspect | get_entity_details, get_company_context |
| Lineage & Impact | get_entity_lineage, create_lineage, root_cause_analysis |
| Knowledge | create_glossary, create_glossary_term, create_context_memory, create_article |
| Govern & Classify | create_classification, create_tag, create_domain, create_data_product, patch_entity |
| Data Quality | get_test_definitions, create_test_case |
| Metrics | create_metric |
Discover
Search and find data assets across your catalog using keyword, semantic, or natural language queries.search_metadata
Description: Find data assets and business terms in your Collate catalog. Use Cases:- Discover tables containing specific data
- Find dashboards related to business areas
- Search for glossary terms
- Locate pipelines by name or description
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Keywords to search for |
entityType | string | No | Filter by entity type (table, topic, dashboard, etc.) |
size | integer | No | Max results to return (default: 10) |
fields | string | No | Comma-separated additional fields to include |
- Service Entities: databaseService, messagingService, apiService, dashboardService, pipelineService, storageService, mlmodelService, metadataService, searchService
- Data Asset Entities: apiCollection, apiEndpoint, table, storedProcedure, database, databaseSchema, dashboard, dashboardDataModel, pipeline, chart, topic, searchIndex, mlmodel, container
- User Entities: user, team
- Domain Entities: domain, dataProduct
- Governance Entities: metric, glossary, glossaryTerm
semantic_search
Description: Meaning-based discovery of data assets using vector embeddings. Use this for exploratory or vague queries where exact names are unknown — it finds conceptually related assets even when keywords don’t match. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural language description of the data you’re looking for |
filters | object | No | Optional filters. Supported keys: entityType (array), service (array), tags (array) |
size | integer | No | Number of results to return. Default is 10, maximum is 50 |
k | integer | No | Number of nearest neighbors to consider internally (KNN parameter). Default is 100 |
threshold | number | No | Minimum similarity score (0.0–1.0). Default is 0.0 (no filtering). Use 0.5–0.7 for high-confidence results |
search_company_context
Description: Semantic search over company context knowledge pills from the Context Center. Returns matching pills with their title, question, answer, summary, and source file. Use this to answer questions from company documents, runbooks, FAQs, and policies. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural-language question or topic to find relevant company knowledge for |
size | integer | No | Number of pills to return. Default is 10, maximum is 50 |
nlq_search
Description: Natural language query search across data assets. Interprets free-form questions and returns matching assets from the catalog. Theindex parameter accepts entity type names (e.g., table, dashboard) or the dataAsset alias for a broad cross-entity search.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Natural language query. Defaults to * (return all) |
limit | integer | No | Maximum number of results to return. Default is 10 |
include_deleted | boolean | No | Include deleted entities in results. Default is false |
index | string | No | Entity type or index to search. Default is dataAsset. Accepts entity types (e.g., table, testCase) or raw index names |
Inspect
Retrieve detailed information about specific entities and company knowledge pills.get_entity_details
Description: Retrieve detailed information about a specific entity using its fully qualified name. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | Type of entity (table, topic, dashboard, etc.) |
fqn | string | Yes | Fully qualified name of the entity |
get_company_context
Description: Fetch a single company context knowledge pill by its fully qualified name. Returns the full title, question, answer, summary, and source file. Use thefullyQualifiedName or name returned by search_company_context.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fqn | string | Yes | The fullyQualifiedName or name of the knowledge pill from a search_company_context result. Pass it verbatim |
Lineage & Impact
Explore data dependencies, trace upstream sources, and analyze downstream impact.get_entity_lineage
Description: Retrieve upstream and downstream lineage information for any entity to understand data dependencies and impact analysis. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | Type of entity |
fqn | string | Yes | Fully qualified name of the entity |
upstreamDepth | integer | No | Number of upstream hops to traverse (default: 3) |
downstreamDepth | integer | No | Number of downstream hops to traverse (default: 3) |
includeColumnLineage | boolean | No | Include column-level lineage mappings. Default is false (table-level only) |
create_lineage
Description: Create a lineage relationship between two data assets. Requires the entity IDs (UUIDs), which you can retrieve usingget_entity_details or search_metadata.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fromEntity | object | Yes | Source entity with type (entity type string) and id (UUID) |
toEntity | object | Yes | Destination entity with type and id |
root_cause_analysis
Description: Perform root cause analysis via data quality lineage. Identifies upstream failures causing issues on the specified asset, then analyzes downstream impact. Ifstatus is failed, check upstreamAnalysis for root causes and downstreamAnalysis for impact.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fqn | string | Yes | Fully qualified name of the entity to analyze |
entityType | string | Yes | Type of the entity (e.g., table, dashboard) |
upstreamDepth | integer | No | Number of levels upstream to traverse. Default is 3 |
downstreamDepth | integer | No | Number of levels downstream to traverse (only used when upstream failures are found). Default is 3 |
includeColumnLineage | boolean | No | Include column-level lineage on edges. Default is false (table-level only) |
includeDeleted | boolean | No | Include deleted entities. Default is false |
Knowledge
Create and manage glossaries, terms, articles, and reusable context memories.create_glossary
Description: Create a new glossary to organize business terms and definitions. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the glossary |
description | string | Yes | Description of the glossary |
owners | array | No | List of owners (users or teams) |
reviewers | array | No | List of reviewers (users or teams) |
mutuallyExclusive | boolean | Yes | Whether terms are mutually exclusive |
create_glossary_term
Description: Create a new term within an existing glossary, with support for hierarchical relationships. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
glossary | string | Yes | FQN of the parent glossary |
name | string | Yes | Name of the term |
description | string | Yes | Definition of the term |
parentTerm | string | No | FQN of parent term for hierarchy |
owners | array | No | List of owners (users or teams) |
create_context_memory
Description: Save a reusable piece of knowledge to the Context Center — a preference, instruction, runbook step, or FAQ answer the assistant should retain across conversations. Use this when the user explicitly asks you to remember, note, or store something. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Stable, unique system name. Reusing an existing name updates that memory |
question | string | Yes | The canonical question or instruction this memory represents |
answer | string | Yes | The canonical answer or guidance to retain |
title | string | No | Short human-readable title shown in the Context Center |
summary | string | No | One-line summary of the memory |
memoryType | string | No | Preference, UseCase, Note, Runbook, or Faq. Defaults to Note |
memoryScope | string | No | UserGlobal (broad) or EntityScoped (tied to a specific entity) |
owners | array | No | Collate usernames or team names |
tags | array | No | Tag FQNs to apply |
domains | array | No | Domain FQNs this memory belongs to |
create_article
Description: Create a new knowledge article in the Collate knowledge base. Articles can be nested under a parent page and support an approval workflow when reviewers are set. ValidentityStatus values are: Draft, In Review, Approved, Deprecated, Rejected, Unprocessed.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique system name for the article |
displayName | string | No | Human-readable display name |
description | string | No | Article content in Markdown format |
owners | array | No | Collate usernames or team names to set as owners |
reviewers | array | No | Collate usernames or team names to set as reviewers. When set, the article enters an approval workflow |
tags | array | No | Tag FQNs to apply (e.g., Tier.Tier1) |
domains | array | No | Domain FQNs this article belongs to |
entityStatus | string | No | Lifecycle status: Draft, In Review, Approved, Deprecated, Rejected, or Unprocessed |
parent | string | No | FQN of the parent knowledge page to nest this article under |
Govern & Classify
Define and apply classifications, tags, domains, data products, and entity updates.create_classification
Description: Create a new Classification in Collate. A Classification is a top-level container that groups related Tags (e.g.,PII, Tier). The name becomes the root segment of every tag FQN under it. The mutuallyExclusive flag is immutable once the classification exists.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the classification. Becomes the root segment of tag FQNs (e.g., PII → PII.Sensitive). Must be unique. |
description | string | Yes | Description of the classification in Markdown format. |
displayName | string | No | Human-readable display name. |
mutuallyExclusive | boolean | No | If true, an entity can only carry one tag from this classification at a time. Immutable after creation. |
owners | array | No | Collate usernames or team names to set as owners. Each must already exist. |
reviewers | array | No | Collate usernames or team names to set as reviewers. Each must already exist. |
domains | array | No | FQNs of domains this classification belongs to. Each domain must already exist. |
create_tag
Description: Create a new Tag inside an existing Classification in Collate. The tag FQN isClassification.TagName (e.g., PII.Sensitive). At least one of classification or parent must be provided.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the tag (the leaf segment, e.g., Sensitive). Must be unique within its parent. |
description | string | Yes | Description of the tag in Markdown format. |
classification | string | No | Name of the classification this tag belongs to (e.g., PII). Must already exist. Optional if parent is provided. |
parent | string | No | FQN of the parent tag for a nested tag (e.g., PII.PersonalData). Must already exist. Omit for a top-level tag. |
displayName | string | No | Human-readable display name. |
mutuallyExclusive | boolean | No | If true, child tags under this tag are mutually exclusive on an entity. |
owners | array | No | Collate usernames or team names to set as owners. Each must already exist. |
reviewers | array | No | Collate usernames or team names to set as reviewers. Each must already exist. |
domains | array | No | FQNs of domains this tag belongs to. Each domain must already exist. |
create_domain
Description: Create a new Domain in Collate. A Domain is a top-level governance grouping of data assets. To create a child domain, setparent to the FQN of an existing parent domain. domainType defaults to Aggregate if omitted.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the domain. Must be unique. |
description | string | Yes | Description of the domain in Markdown format. |
domainType | string | No | Type of domain: Source-aligned, Consumer-aligned, or Aggregate (default). |
parent | string | No | FQN of an existing parent domain when creating a child domain. Omit for a top-level domain. |
displayName | string | No | Human-readable display name. |
experts | array | No | Collate login names of domain experts (e.g., john.doe). Each must already exist. |
owners | array | No | Collate usernames or team names to set as owners. Each must already exist. |
tags | array | No | Tag FQNs to apply to this domain (e.g., Tier.Tier1). |
create_data_product
Description: Create a new Data Product in Collate. A Data Product groups data assets that deliver business value and must belong to at least one Domain. All referenced domain FQNs must already exist. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the data product. Must be unique. |
description | string | Yes | Description of the data product in Markdown format. |
domains | array | Yes | FQNs of the domains this data product belongs to (e.g., Finance). At least one required; each must already exist. |
displayName | string | No | Human-readable display name. |
experts | array | No | Collate login names of data product experts (e.g., john.doe). Each must already exist. |
owners | array | No | Collate usernames or team names to set as owners. Each must already exist. |
reviewers | array | No | Collate usernames or team names to set as reviewers. Each must already exist. |
tags | array | No | Tag FQNs to apply to this data product (e.g., Tier.Tier1, PII.Sensitive). |
patch_entity
Description: Update an entity using JSON Patch operations. Always look up the entity first to get its current state and UUID before patching. Array fields use plural names in paths:/domains, /owners, /tags, /reviewers.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | Type of entity to patch (e.g., table, glossaryTerm) |
fqn | string | Yes | Fully qualified name of the entity to patch |
patch | string | Yes | JSON Patch operations array as a JSON string. Each operation has op (add/remove/replace), path, and value |
Data Quality
Access test definitions and create test cases to validate your data assets.get_test_definitions
Description: List available test definitions that can be used to create data quality test cases. UseentityType=TABLE for table-level tests and entityType=COLUMN for column-level tests. Pass results to create_test_case.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | TABLE for table-level tests or COLUMN for column-level tests |
testPlatform | string | No | Test platform filter. Default is OpenMetadata. Other options: GreatExpectations, DBT, Deequ, Soda, Other |
limit | integer | No | Maximum number of results to return. Default is 10 |
after | string | No | Cursor value from a previous response’s nextCursor field for pagination |
create_test_case
Description: Create a data quality test case for a table or column. Useget_test_definitions first to find the right test definition and its required parameters.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the test case |
fqn | string | Yes | Fully qualified name of the table to test. Always use the table FQN, not a column FQN |
testDefinitionName | string | Yes | Name of the test definition to use |
parameterValues | array | Yes | Array of { "name": "<param>", "value": "<value>" } objects matching the test definition’s parameters |
columnName | string | No | Column name (leaf only, e.g., shop_id) for column-level tests |
description | string | No | Description of the test case |
Metrics
Define and track measurable business and technical KPIs.create_metric
Description: Create a new Metric entity representing a measurable business or technical KPI (e.g., daily revenue, error rate). Metrics can be expressed in SQL, Python, Java, or JavaScript. Parameters| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique name for the metric. Must not contain :: |
metricExpressionLanguage | string | Yes | Language for the expression: SQL, Java, JavaScript, Python, or External |
metricExpressionCode | string | Yes | Code or query that computes the metric (e.g., a SQL SELECT statement) |
description | string | No | Description in Markdown format |
displayName | string | No | Human-readable display name |
metricType | string | No | COUNT, SUM, AVERAGE, RATIO, PERCENTAGE, MIN, MAX, MEDIAN, MODE, STANDARD_DEVIATION, VARIANCE, or OTHER |
granularity | string | No | Time granularity: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR |
unitOfMeasurement | string | No | COUNT, DOLLARS, PERCENTAGE, TIMESTAMP, SIZE, REQUESTS, EVENTS, TRANSACTIONS, or OTHER |
owners | array | No | Collate usernames or team names to set as owners |
tags | array | No | Tag FQNs (e.g., Tier.Tier1) |
domains | array | No | Domain FQNs this metric belongs to |