Skip to content

MCP servers

Connect MCP servers, share their tools with agents, and track usage.

An MCP server gives agents access to remote tools through the Model Context Protocol. Save its URL and credentials once, then attach it to agents by name. Open Capabilities → MCP Servers.

Register a server

The MCP Servers page listing connected servers with their auth badges and tools
The MCP Servers registry: each server shows its auth, its tools, and who may use it.

Click Add server. Enter a name, URL, transport, and authentication method. Use Test connection to check the settings and see the tool count and response time before saving.

FieldWhat it does
urlThe existing server endpoint. Registration does not host or proxy it.
transporthttp for streamable HTTP (default), or sse for Server-Sent Events.
auth_typenone, headers, bearer, apikey, oauth_client_credentials, or oauth_authorization_code.
descriptionShown on the server card and in the agent picker.
Secrets are write-only
Saved tokens, API keys, and client secrets are hidden. Leave a secret field blank when editing to keep its value. Other settings remain visible.

The catalogue

The MCP catalogue listing hosted MCP servers with their auth and integration guides
The catalogue: hosted servers with prefilled endpoint and auth setup, one click from being added.

Use Browse catalogue to find a hosted server. Selecting one fills in its URL, transport, authentication method, and OAuth scopes. Add your credentials to connect.

Per-tenant endpoints
Replace URL placeholders such as {workspace-hostname} with your vendor workspace or organization address before saving.

Authentication

  • Static credentials: use bearer, apikey with a header name, or custom headers. Industric adds them to requests.
  • OAuth client credentials: enter a client ID, secret, token URL, and scopes. Industric gets and refreshes access tokens.
  • OAuth authorization code: click Authorize to sign in with the vendor. The card shows token expiry and lets you authorize again. Vendors with discovery and dynamic registration need only a URL.

Discover tools

Expand a server card to see tool names, descriptions, inputs, and MCP annotations. Use Discover to search tools across all servers.

Tool lists are cached for about a day. Click Re-index to refresh. If it fails, the last list stays visible with a stale label and error.

tools API· http
1GET /api/v1/dashboard/mcp-servers/{id}/tools # cached snapshot
2GET /api/v1/dashboard/mcp-servers/{id}/tools?refresh=true # force a fresh lookup

Attach servers to agents

Choose servers when creating or editing an agent, or list names under spec.bootstrap.mcps. Industric supplies URLs and credentials at session start; credentials stay out of the agent resource:

agent.yaml· yaml
1spec:
2 bootstrap:
3 mcps:
4 - linear
5 - sentry

In API updates, send a list to replace attachments, an empty list to remove all, or omit it to keep them. The operator needs map-mcps support; older versions return map_mcps_unsupported.

Auto-attach
Enable auto-attach in Settings to make registered servers available to all agents. It is on by default for individual workspaces and off for business tenants.

Activity

Activity shows which agents have access, how they got it, call counts, and last use. Review the last 30 days of calls by status, duration, and session.

Best effort
Counts are estimates from tool-call events. Without a cached tool list, calls use mcp__ prefix matching. Use the audit log for the full record.

Who can use a server

The create form defaults to Shared; API-created servers default to private. In Access, remove broad sharing before granting specific users or agents. Restricted servers show a lock. Access rules apply in the dashboard, agent picker, and CLI.

Cluster registrations

An MCP resource registers an existing server for that deployment; it does not run a server. These entries are marked cluster-synced. With the required permissions and operator support, dashboard edits and deletions update the cluster resource. Update GitOps manifests too, or they may overwrite dashboard changes.

Create a Secret and an MCP that references it in the same namespace. Each Secret key becomes an HTTP header name; its value becomes the header value.

mcp.yaml· yaml
1apiVersion: v1
2kind: Secret
3metadata:
4 name: linear-mcp-token
5 namespace: adaptive
6type: Opaque
7stringData:
8 # one header per key: this sends "Authorization: Bearer ..."
9 Authorization: "Bearer REPLACE_ME"
10---
11apiVersion: autonomic.sh/v1alpha1
12kind: MCP
13metadata:
14 name: linear
15 namespace: adaptive
16spec:
17 url: https://mcp.linear.app/mcp
18 description: Linear — issues, projects, cycles, comments
19 auth:
20 secretRef:
21 name: linear-mcp-token

Only spec.url is required. Omit auth for public access. Custom headers such as X-API-Key work the same way:

internal-mcp.yaml· yaml
1apiVersion: v1
2kind: Secret
3metadata:
4 name: internal-mcp-key
5 namespace: adaptive
6type: Opaque
7stringData:
8 X-API-Key: "REPLACE_ME"
9---
10apiVersion: autonomic.sh/v1alpha1
11kind: MCP
12metadata:
13 name: internal-platform
14 namespace: adaptive
15spec:
16 url: http://platform-mcp.platform.svc.cluster.local:8080/mcp
17 description: Internal platform MCP — service catalogue, deploy status, runbooks
18 auth:
19 secretRef:
20 name: internal-mcp-key
The Secret stays in the cluster
Cluster registrations keep credentials in the cluster. Dashboard registrations store credentials in Industric for CLI and cross-deployment access.

Use an absolute http or https URL without surrounding spaces. Stdio and command-launched servers are not supported. Validation warns about credentials in URLs, external HTTP endpoints, missing secretRef, or empty Secret values. Check registration status:

terminal· bash
kubectl get mcps -n adaptive
output
NAME PHASE URL AGE
linear Ready https://mcp.linear.app/mcp 2m
internal-platform Failed http://platform-mcp.platform.svc.cluster.local:8080/ 2m

For Failed, read status.message, such as a missing Secret error. Attach servers by resource name: spec.bootstrap.mcps: [linear].

From the CLI

Use exo mcp to browse servers. exo mcp proxy connects a local client over stdio, with credentials kept in Industric.

terminal· bash
exo mcp list
exo mcp tools linear
exo mcp proxy linear
claude mcp add linear -- exo mcp proxy linear

Proxies

In Proxies, combine selected tools from several servers behind one endpoint. Each proxy provides client connection snippets and follows the same access rules as registered servers.

Publish tools as MCP

A publication shares selected Industric tools through one MCP URL. External clients connect with a bearer token created once. Rotate the token without changing the URL.

API only
Manage publications through the API. Register external servers through the dashboard. Both require mcp:write.