Data Observability platform Help

MCP server setup

SelectZero Platform exposes a Model Context Protocol (MCP) server, allowing AI assistants to query the data catalog. The server uses Streamable HTTP transport at /api/v1/mcp with Bearer token authentication and works with any MCP-compatible client.

See Available tools below for the full read-only tool list.

Prerequisites

  1. The MCP server is enabled per instance under Settings → General → Modules → Enable MCP. The toggle requires an application restart to take effect.

  2. A personal access token (PAT) is required for authentication. The MCP tools authenticate as the linked user, so the user must have the View catalog privilege.

Generating a personal access token

PATs are user-bound tokens; the token authenticates as a specific SelectZero Platform user, and tool access respects that user's role and connection permissions.

  1. The user creating the token needs the Generate PATs privilege (configured per role in Settings → Users & Roles).

  2. As that user (or as an admin issuing on their behalf), open Settings → PATs.

  3. Press New token, enter a descriptive name and expiry. Regular users can pick from 1, 7, 14, or 30 days, capped by Settings → General → Modules → Max PAT lifetime (defaults to 30 days). Admins issuing their own PATs can additionally pick 90 days, 1 year, or no expiry.

  4. The token (starts with dqm_pat_) is shown once on creation - copy it immediately.

Admins can manage every user's PATs from the same Settings → PATs tab; non-admin users with the privilege get a self-service PATs tab on their own profile.

Connecting your MCP client

The server uses Streamable HTTP transport at /api/v1/mcp with Bearer token authentication.

Pick the tab that matches your client; Other clients covers anything not listed.

  1. Register the MCP server from the terminal. Run this from the project folder where you use Claude Code, as the server is registered per project by default (see Claude Code MCP documentation):

    claude mcp add --transport http selectzero-catalog http://<selectzero-host>/api/v1/mcp
  2. Open the generated config file (location is printed in the output) and add the authorization header:

    "selectzero-catalog": { "type": "http", "url": "http://<selectzero-host>/api/v1/mcp", "headers": { "Authorization": "Bearer <your-personal-access-token>" } }
  3. Restart Claude Code. The catalog tools become available and Claude can query the data catalog conversationally, scoped to the token-owner's role and allowed connections.

VS Code added MCP support starting with version 1.99. GitHub Copilot Chat in Agent mode can use registered MCP servers.

  1. Create a workspace MCP config file at .vscode/mcp.json in the project folder (or add to your user settings.json under "mcp" for a global config):

    { "servers": { "selectzero-catalog": { "type": "http", "url": "http://<selectzero-host>/api/v1/mcp", "headers": { "Authorization": "Bearer <your-personal-access-token>" } } } }
  2. Open the Copilot Chat view, switch to Agent mode, and the SelectZero tools appear in the tool picker.

  3. The token is stored in the config file; treat the file as a secret and exclude it from source control. VS Code also supports ${input:variableName} placeholders that prompt for the token on first use - see VS Code MCP documentation for the input syntax.

  1. Open Cursor Settings -> MCP and press Add new MCP server, or edit ~/.cursor/mcp.json directly:

    { "mcpServers": { "selectzero-catalog": { "url": "http://<selectzero-host>/api/v1/mcp", "headers": { "Authorization": "Bearer <your-personal-access-token>" } } } }
  2. Toggle the server on in the MCP settings panel. Tools appear in the Composer/Chat tool picker.

Microsoft 365 Copilot reaches the SelectZero MCP server via a Copilot Studio agent. End users chat with the agent inside the regular Microsoft 365 Copilot interface; the agent owner does the one-time setup in Copilot Studio.

Prerequisites:

  • A Microsoft Copilot Studio license and access to Copilot Studio.

  • The SelectZero MCP endpoint reachable from Microsoft's cloud (or via your tenant's connectivity solution, e.g. on-premises data gateway / Power Platform virtual network).

  • A SelectZero PAT for the user identity the agent should run as.

Steps (UI labels current as of Copilot Studio 2026; see the Microsoft Learn guide for the authoritative walkthrough):

  1. In Copilot Studio, open an agent (or create a new one). Make sure generative orchestration is enabled for the agent (required for MCP tools).

  2. Open the Tools page, press Add a tool, then New tool, and select Model Context Protocol. The MCP onboarding wizard appears.

  3. Fill in:

    • Server name - e.g. SelectZero catalog

    • Server description - a short description so the orchestrator knows when to invoke it (e.g. "Query the SelectZero data catalog: tables, columns, lineage, glossary, test cases.")

    • Server URL - http://<selectzero-host>/api/v1/mcp

  4. Under authentication, select API key:

    • Type - Header

    • Header name - Authorization

  5. Select Create. In the Add tool dialog, choose Create a new connection and provide the API key value as Bearer <your-personal-access-token> (include the literal Bearer prefix). Then Add to agent.

  6. Publish the agent. End users select the agent inside Microsoft 365 Copilot chat and the SelectZero catalog tools become available conversationally.

The agent's MCP tool inherits the role and connection access of whichever user's PAT the connection was created with. If you need different users to see different slices of the catalog, configure the authentication differently (each user provides their own PAT via OAuth, or use a service-style PAT scoped narrowly).

SelectZero ships a Claude Desktop extension as a .mcpb package. The install dialog takes a SelectZero URL and a PAT; the extension handles stdio↔HTTP bridging internally. The mcp-remote JSON-config bridge below remains supported for environments that prefer it.

Install the extension

  1. Download selectzero.mcpb (SHA-256).

  2. Double-click the file. Claude Desktop opens an Install SelectZero? dialog showing the extension name, icon, and permissions.

  3. Confirm the install. A small form appears:

    • SelectZero URL - your instance, e.g. https://selectzero.acme.corp. Must use HTTPS.

    • Personal Access Token - the PAT from Generating a personal access token. Stored in your OS keychain; not written to disk in plaintext.

  4. Click Install. The catalog tools appear in Claude Desktop's tool picker immediately.

To change the URL or PAT later, open Settings → Extensions → SelectZero, edit the fields, Save, then toggle the extension Off → On so the underlying Node process picks up the new values.

How it works

The extension ships a small Node-based stdio↔HTTP proxy. Claude Desktop spawns it as a child process; the proxy forwards MCP messages between Claude Desktop (stdio) and your SelectZero instance (/api/v1/mcp over HTTPS), attaching Authorization: Bearer <your PAT> to every upstream request. Traffic runs directly between the workstation Claude Desktop is on and your SelectZero instance.

Troubleshooting

The extension writes startup and error messages to Claude Desktop's standard MCP log:

  • macOS: ~/Library/Logs/Claude/mcp-server-selectzero.log

  • Windows: %APPDATA%\Claude\logs\mcp-server-selectzero.log

Look for lines prefixed with [selectzero]. Common failure shapes and what they mean:

Log line

Likely cause

Fix

FATAL: SELECTZERO_URL must start with https://

URL entered as http://

Edit settings, use https://

FATAL: cannot reach ... ENOTFOUND

DNS failure

Verify the hostname; try opening the URL in a browser

FATAL: cannot reach ... unable to get local issuer certificate

OS trust store missing the TLS root CA

Install your CA into the OS trust store, then toggle Off → On

upstream send failed: ... 401

PAT rejected

Generate a new PAT

upstream send failed: ... 403

User lacks View catalog privilege

Add the privilege to the user's role

If your environment cannot install desktop extensions (locked-down corporate device management, kiosk mode, etc.), the community mcp-remote bridge is a JSON-config alternative. Functionally equivalent to the extension; just needs npx on your PATH.

  1. Open the Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the SelectZero MCP server entry:

    { "mcpServers": { "selectzero-catalog": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<selectzero-host>/api/v1/mcp", "--header", "Authorization:Bearer <your-personal-access-token>" ] } } }
  3. Restart Claude Desktop. The catalog tools appear in the conversation tool picker.

Any MCP-compatible client following the MCP specification should work against /api/v1/mcp with a Authorization: Bearer <PAT> header. Refer to the client's documentation for the exact config file location and syntax.

If your client does not support Streamable HTTP natively, the mcp-remote bridge shown in the Claude Desktop tab works generically for any stdio-only MCP client.

27 May 2026