MCP server for interacting with Collibra data governance platform. Provides tools for managing assets, classifications, assessments, and data quality jobs, along with skill guides for multi-step workflows.
Collibra Chip demonstrates good definition quality with comprehensive descriptions, proper schema structure, and thoughtful parameter design. All 6 tools have substantive descriptions (100+ characters), detailed parameter annotations, and structured output schemas. Tool naming follows verb_noun convention consistently (list_, load_, add_, create_, dq_cancel_). Input schemas are properly typed with JSON Schema. However, there are gaps in error handling guidance, some parameters lack validation constraints, and a few tools could benefit from tighter output schemas. The server shows clear patterns inspired by the Arcade patterns library, particularly multi-step workflows (skills system), natural identifiers (accepting UUID, publicId, display names), and composition-aware design. Transport is STDIO-only, which limits remote accessibility.
Associate a data classification (data class) with a specific data asset in Collibra. Requires both the asset UUID and the classification UUID.
Create a new assessment from an assessment template. Requires a template (name or UUID) and at least one of name or assetId — the API rejects requests that supply neither. Optionally attach an asset, assignees, an owner, visibility, and an initial status. This tool does NOT set answers — the created assessment comes back with the template's questions unanswered. Use the returned question ids with edit_assessment to fill in the answers afterwards.
Create a new Collibra asset of any type. Inputs accept human-friendly identifiers: assetType resolves from UUID, publicId, or display name; domain from UUID or display name; status from UUID or status name; attributes by name or typeId. Markdown in RICH_TEXT attribute values (e.g. 'Definition') is converted to HTML server-side so it renders correctly in Collibra. When allowDuplicate is false (the default), an existing asset with the same name in the same (assetType, domain) returns status=duplicate_found without writing. Validation errors return suggestion-rich messages so the agent can self-correct. Calling prepare_create_asset first is optional — only needed when the agent wants to enumerate options or inspect a type's full attribute schema.
Cancels an IN-PROGRESS Collibra data-quality job run. Supply EITHER the run's jobRunId OR the jobName of the job whose active run you want to cancel. BY jobRunId: the tool looks up the run's status and refuses if it is already in a terminal state (finished/failed/cancelled/…) with a clear message; otherwise it cancels it. BY jobName: the tool finds the job's cancellable (in-progress) runs. If there are none it says so; if exactly one it cancels it; if several, it returns the candidate runs (status=needs_input) so you can pick one and re-call with its jobRunId. This WRITES to Collibra: cancelling aborts the run's in-progress work and is irreversible. On success the cancellation is queued. API errors (permission denied, run not found, etc.) are surfaced as meaningful messages. Example user requests: "Cancel data quality run <id>"; "Stop the running DQ job for sales.orders"; "Abort the in-progress quality check on my customers table."
add_data_classification_match: parameter naming ambiguity, 'assetId' and 'classificationId' are opaque system IDs. Descriptions do not indicate whether the tool accepts display names or only UUIDs, forcing potentially unnecessary lookup calls. Consider accepting asset name + domain + type or classification name, resolved server-side.
dq_cancel_job_run: excellent description but lacks formal error handling guidance. Description says 'API errors (permission denied, run not found, etc.) are surfaced as meaningful messages' but does not specify the error structure or recovery steps. What does the LLM do if it gets 'permission denied'? Can it retry? Should it ask for authorization?
create_assessment: 'assignees' parameter is typed as array but lacks description of what the array items should be (user ID? user name? user email? user object?). Description says 'Optional. Users or groups assigned to the assessment.' but does not specify the identifier format or whether names are resolved.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 72 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 29 | - | v1 |
List available Collibra skill guides. Skills document multi-step workflows, ID-bridging rules, and required permissions for chip's tools. Call this before load_collibra_skill when you do not already know the exact skill name; skill names are not predictable from topic words. Use query to filter by substring. Set includeHeader=true to see one-line summaries, related skills, and bundled resource paths alongside names. Load skills proactively when starting work in a relevant Collibra domain, not after errors. Start with `collibra/index` if unsure.
Load a Collibra skill guide before using related tools (e.g. load 'collibra/lineage' before calling get_lineage_*, or 'collibra/asset-create' before create_asset). Skills document the right tool sequences, ID-bridging rules, and known limitations. If you do not already know the exact skill name from a prior list_collibra_skills response, call list_collibra_skills first; do not guess names from topic keywords. Set headerOnly=true to preview a skill's summary, related skills, and bundled resources. Set resourcePath to load a specific bundled reference; resourcePath takes precedence over headerOnly.
create_asset: 'attributes' parameter is an array with no item schema visible. Description mentions 'attribute type by name or UUID' but the array structure is opaque, is each item {name: string, value: any}? {typeId: string, value: string}? This forces LLMs to guess the structure.
All write/destructive tools (add_data_classification_match, dq_cancel_job_run, create_assessment, create_asset): lack confirmation/dry-run patterns. Agents make mistakes, offering a confirm_before_execute or dry-run mode would prevent catastrophic errors like cancelling the wrong job run or creating duplicate assets.
create_asset: 'status' parameter accepts 'UUID or status display name' but no enum is provided. Baseline rubric states: 'When a parameter accepts one of a known set of values, declare it as an enum.' Without an enum, LLMs will hallucinate invalid status names. The description should list the valid options or reference a constraint.
No pagination support visible in list_collibra_skills or other discovery tools. Baseline rubric: 'Tools returning lists should accept page/offset and limit parameters and return a total count or next_cursor.' If the skill catalog grows, returning unlimited results could blow the context window. Add limit and offset/cursor parameters.