chip

module
v0.0.34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2026 License: Apache-2.0

README ΒΆ

Collibra MCP Server

A Model Context Protocol (MCP) server that provides AI agents with access to Collibra Data Governance Center capabilities including data asset discovery, business glossary queries, and detailed asset information retrieval.

Overview

This Go-based MCP server acts as a bridge between AI applications and Collibra, enabling intelligent data discovery and governance operations through the following tools:

Permissions: tools that require extra DGC scopes beyond standard catalog read access are flagged with Requires:. Tools without that marker work with the default scopes granted to any authenticated Collibra user. If a tool returns a permission error, the connecting user is missing the listed scope(s) β€” most commonly dgc.ai-copilot (for the natural-language discovery tools) and dgc.classify + dgc.catalog (for the classification tools).

Read Tools
Write Tools
  • add_data_classification_match - Associate a data class with an asset. Requires: dgc.classify, dgc.catalog
  • create_asset - Create a new asset of any type. Resolves assetType (UUID, publicId, or display name), domain (UUID or name), status (UUID or name), and attributes (by name or typeId) server-side; converts Markdown to HTML for RICH_TEXT attributes; gates on duplicate-name (default allowDuplicate: false)
  • edit_asset - Edit an existing asset via a list of typed operations:
    • update_attribute, add_attribute, remove_attribute - change, append, or clear an attribute value (e.g. Definition, Note)
    • update_property - rename the asset (name), change its displayName, or change its statusId (status name or UUID accepted)
    • add_relation, remove_relation - link or unlink the asset to another asset by relation role (e.g. is synonym of)
    • add_tag - append a free-text tag without replacing existing tags
    • set_responsibility - assign a user or group to a resource role (e.g. Steward, Owner) by username, email, or UUID
  • push_data_contract_manifest - Upload manifest for a data contract. Requires: dgc.data-contract
  • remove_data_classification_match - Remove a classification match. Requires: dgc.classify, dgc.catalog, dgc.data-classes-edit

Quick Start

Prerequisites
  • Access to a Collibra Data Governance Center instance
  • Valid Collibra credentials
Installation
  1. Download the latest release:

    • Go to the GitHub Releases page
    • Download the appropriate binary for your platform:
      • chip-linux-amd64 - Linux (Intel/AMD 64-bit)
      • chip-linux-arm64 - Linux (ARM 64-bit)
      • chip-mac-amd64 - macOS (Intel)
      • chip-mac-arm64 - macOS (Apple Silicon)
      • chip-windows-amd64.exe - Windows (Intel/AMD 64-bit)
      • chip-windows-arm64.exe - Windows (ARM 64-bit)
  2. Make the binary executable (Linux/macOS):

    chmod +x chip-*
    
  3. Optional: Move to your PATH:

    # Linux/macOS
    sudo mv chip-* /usr/local/bin/mcp-server
    
    # Or add to your user bin directory
    mv chip-* ~/.local/bin/mcp-server
    
Option B: Build from Source
git clone <repository-url>
cd chip
go mod download
go build -o .build/chip ./cmd/chip

# Run the build binary
./.build/chip

Running and Configuration

Authentication Options

The server supports two authentication approaches, either configured through environment variables or a configuration file

Option 1: Server-wide Authentication

When running over the stdio transport, configure credentials at the server level - all requests use the same credentials:

mkdir -p ~/.config/collibra/

Powershell:

New-Item -ItemType File -Path $HOME\.config\collibra\mcp.yaml

bash/zsh:

touch ~/.config/collibra/mcp.yaml
# ~/.config/collibra/mcp.yaml
api:
  url: "https://your-collibra-instance.com"
  username: "your-username"
  password: "your-password"

The same options can be configured through the respective environment variables COLLIBRA_MCP_API_URL, COLLIBRA_MCP_API_USR and COLLIBRA_MCP_API_PWD.

Option 2: Client-provided Authentication

When running over the http transport, it is recommended that MCP clients provide their own Basic Auth headers for each request:

export COLLIBRA_MCP_API_URL="https://your-collibra-instance.com"
./mcp-server

For detailed configuration instructions, see CONFIG.md.

Security Considerations

  • πŸ” Credentials: Store sensitive information in environment variables rather than config files
  • 🌐 Network: HTTP mode binds to localhost only for security
  • πŸ”’ TLS: Only use skip-tls-verify: true for development with self-signed certificates
  • πŸ“ File Permissions: Ensure config files have appropriate permissions when containing credentials

Integration with MCP Clients

This server is compatible with any MCP client. Refer to your MCP client's documentation for server configuration.

Here's how to integrate with some popular clients assuming you have a configuration file setup:

  • Claude desktop
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "collibra": {
      "type": "stdio",
      "command": "/path/to/chip-..."
    }
  }
}
  • VS Code
// .vscode/mcp.json
{
    "servers": {
        "collibra": {
            "type": "stdio",
            "command": "./chip"
        }
    }
}
  • Gemini-cli
// ~/.gemini/settings.json
{
  "mcpServers": {
    "collibra": {
      "command": "/path/to/chip-..."
    }
  }
}

Structured Tool Output

Every tool declares an outputSchema and returns results in two forms on the same response:

  • content β€” a human-readable TextContent block containing the output serialized as JSON. Kept for backward compatibility with clients that only render text.
  • structuredContent β€” the typed, parseable object. New clients should prefer this for programmatic consumption.

Schemas are auto-generated from each tool's Go Output struct via github.com/google/jsonschema-go, which emits JSON Schema draft 2020-12. The MCP SDK validates every response against the declared schema before sending, so clients can rely on the shape. Field-level descriptions live as jsonschema:"..." tags on the Output struct in each tool's pkg/tools/<name>/tool.go.

To discover the live schema for any tool, inspect the outputSchema field returned by a tools/list MCP request against a running server.

Enabling or disabling specific tools

You can enable or disable specific tools by passing command line parameters, setting environment variables, or customizing the mcp.yaml configuration file. You can specify tools to enable or disable by using the tool names listed above (e.g. get_asset_details). For more information, see the CONFIG.md documentation.

By default, all tools are enabled. Specifying tools to be enabled will enable only those tools. Disabling tools will disable only those tools and leave all others enabled. At present, enabling and disabling at the same time is not supported.

Directories ΒΆ

Path Synopsis
cmd
chip command
pkg
markdown
Package markdown converts agent-emitted Markdown to HTML for Collibra rich-text attribute fields.
Package markdown converts agent-emitted Markdown to HTML for Collibra rich-text attribute fields.
tools/create_asset
Package create_asset implements the create_asset MCP tool: a single smart write tool for creating any Collibra asset.
Package create_asset implements the create_asset MCP tool: a single smart write tool for creating any Collibra asset.
tools/edit_asset
Package edit_asset implements the edit_asset MCP tool: a single entry point for updating properties, attributes, relations, responsibilities, and tags on any existing Collibra asset via a typed list of operations.
Package edit_asset implements the edit_asset MCP tool: a single entry point for updating properties, attributes, relations, responsibilities, and tags on any existing Collibra asset via a typed list of operations.
tools/prepare_create_asset
Package prepare_create_asset implements the prepare_create_asset MCP tool β€” a read-only companion to create_asset.
Package prepare_create_asset implements the prepare_create_asset MCP tool β€” a read-only companion to create_asset.
tools/validation
Package validation provides shared input validation helpers for CHIP tools.
Package validation provides shared input validation helpers for CHIP tools.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL