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
The MCP server is enabled per instance under Settings → General → Modules → Enable MCP. The toggle requires an application restart to take effect.
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.
The user creating the token needs the Generate PATs privilege (configured per role in Settings → Users & Roles).
As that user (or as an admin issuing on their behalf), open Settings → PATs.
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.
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.
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/mcpOpen 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>" } }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.
Create a workspace MCP config file at
.vscode/mcp.jsonin the project folder (or add to your usersettings.jsonunder"mcp"for a global config):{ "servers": { "selectzero-catalog": { "type": "http", "url": "http://<selectzero-host>/api/v1/mcp", "headers": { "Authorization": "Bearer <your-personal-access-token>" } } } }Open the Copilot Chat view, switch to Agent mode, and the SelectZero tools appear in the tool picker.
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.
Open Cursor Settings -> MCP and press Add new MCP server, or edit
~/.cursor/mcp.jsondirectly:{ "mcpServers": { "selectzero-catalog": { "url": "http://<selectzero-host>/api/v1/mcp", "headers": { "Authorization": "Bearer <your-personal-access-token>" } } } }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):
In Copilot Studio, open an agent (or create a new one). Make sure generative orchestration is enabled for the agent (required for MCP tools).
Open the Tools page, press Add a tool, then New tool, and select Model Context Protocol. The MCP onboarding wizard appears.
Fill in:
Server name - e.g.
SelectZero catalogServer 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
Under authentication, select API key:
Type -
HeaderHeader name -
Authorization
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 literalBearerprefix). Then Add to agent.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
Download
selectzero.mcpb(SHA-256).Double-click the file. Claude Desktop opens an Install SelectZero? dialog showing the extension name, icon, and permissions.
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.
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.logWindows:
%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 |
|---|---|---|
| URL entered as | Edit settings, use |
| DNS failure | Verify the hostname; try opening the URL in a browser |
| OS trust store missing the TLS root CA | Install your CA into the OS trust store, then toggle Off → On |
| PAT rejected | Generate a new PAT |
| 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.
Open the Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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>" ] } } }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.