Skip to main content

Overview

Tools are one of the resource types Dome makes available to agents, alongside models. When you add a tool, Dome stores its server endpoint, credentials, and egress headers. Dome records the operations the server exposes once the gateway connects to it. The typical workflow is:
  1. Add a tool for the upstream MCP server.
  2. If the server requires credentials, configure upstream authentication.
  3. Attach the tool to a Gateway to make it available through a Dome endpoint.
  4. Allow the Gateway on the agent.
  5. Verify discovery to confirm which operations the agent can use.

Upstream authentication

The gateway authenticates to the upstream with credentials you configure on the tool. Agent API keys authenticate inbound requests to Dome and never pass through as upstream credentials. Dome stores upstream secrets and injects them only at egress. Two settings control which credential the gateway sends.
  1. The authentication method defines how the server verifies a request.
  1. The credential type defines whose credential the gateway sends.
With shared credentials, every request reaches the upstream under the same service account. With per-user credentials, each request uses a credential linked to the verified end user, so the upstream applies that user’s permissions. The two settings are not independent. The none method accepts only the none credential type, and api-key and oauth each require shared or per-user. When you omit the credential type, Dome pairs it with the method: none with none, api-key with shared, and oauth with per-user. OAuth also requires the streamable-http protocol, so a stdio tool cannot use it. You can set authentication when you add a tool or change it later.

Egress headers

Egress headers are values the gateway adds on the outbound request to the upstream. A header can be a literal string, a stored secret, or the verified act-as identity from the inbound request. Only a Streamable HTTP tool can carry them, because a stdio tool has no HTTP request to attach them to. An act-as header sends the verified end-user identity to the upstream, and Dome accepts only OIDC or HMAC verification. Dome denies any call that carries no verified identity or that used a weaker verification method. An act-as header is not valid on a tool that authenticates with OAuth. You can set headers when you add a tool, change them on update, or manage them individually.

Discovered tools

After the gateway connects to an upstream server, every operation that server exposes appears in the tool’s catalog. You can change the status of one operation without removing the entire tool. For example, you can block delete_page while keeping create_page available to agents. Blocking an operation denies it even if another rule would permit it. Status persists when the gateway observes the operation again. Only a restore returns it to active. Refer to Manage discovered tools for the operations that change these statuses.

Requirements

Before you begin:
  • Authenticate to Dome and select a workspace
  • Have the upstream MCP endpoint (URL for Streamable HTTP, or a local command for stdio)
  • Have upstream credentials when the server requires them
  • Have a Gateway ready when you want the tool reachable

Permissions

Tool connection operations require platform permissions. Each operation states its required permission inline.

Add tool

Add a tool for one upstream MCP server. Use Streamable HTTP for a remote server or stdio for a local process. You can set upstream authentication, egress headers, and Gateway membership in the same call.
Requires gateway.manage.
If you do not define --gateway, the tool stays unreachable until you attach it.Add --auth-method, --credential-type, and header flags if the upstream needs them.
Reference: dome tool add
A tool remains unavailable to agents until you attach it to a Gateway. You can configure authentication and headers before attaching it.

Update tool

Update a tool to change its connection or security settings. You can change its URL, protocol, authentication, headers, or the operations Dome treats as writes. Switching between api-key and oauth clears the previously stored credentials. A header list always replaces the existing list rather than merging into it. How the other fields merge depends on the interface you use.
Requires gateway.manage.
Only the flags you pass change.
Reference: dome tool update

Change upstream authentication

You can change how the gateway authenticates to the upstream. Refer to Upstream authentication for the methods and credential types.

Shared API key

Use a shared bearer token when every call should present the same upstream credential. Dome stores the secret and injects it at egress. Agents never receive the raw upstream credential.
On create, the same flags work with dome tool add.
Reference: dome tool update

Shared OAuth

Configure the OAuth client on the tool, then connect OAuth to complete admin consent. When the upstream publishes RFC 8414 metadata, the gateway discovers its OAuth endpoints. Otherwise, you can provide the authorization, token, revocation, and registration URLs. The gateway supports manual and dynamic client registration.

Per-user credentials

You can set credential type to per-user when upstream authorization must follow the end user. Each request must include a verified act-as identity. Configure runtime act-as authentication in Develop. When an end user has no credential yet, Dome returns 401 with a short-lived provision_url. The user opens that URL to enter an API key or complete OAuth consent, and the call succeeds on retry. Discovery flags the tool as needing credentials until provisioning finishes. Refer to Errors and denials for how a runtime should surface the prompt and retry. For per-user tools, sync the catalog after the admin attaches a per-user credential, so observed operations appear before agent traffic.

Change egress headers

You can change which egress headers the gateway sends, including an act-as header when the upstream needs the verified end user. Refer to Egress headers. An act-as header is not valid on a tool that authenticates with OAuth, and the update fails when you combine them.
To append without replacing the full list, use Add headers.
Reference: dome tool update

Get tool

Retrieve a tool by name to inspect its endpoint, protocol, authentication, and Gateway membership. This information helps you verify its configuration before an update or troubleshoot why agents cannot reach it.
Requires gateway.view.
Reference: dome tool get

List tools

Retrieve the tools in a workspace with their protocols and authentication methods. Use the list to find the tool you want to update or remove.
Requires gateway.view.
Reference: dome tool list

Remove tool

Remove a tool to delete its upstream record from the workspace, along with the authentication and header configuration stored on it.
Requires gateway.manage.
Removing a tool disconnects every agent currently routing through it. Update or re-route agents first.
Reference: dome tool remove

Manage discovered tools

Catalog status lets you block or deprecate individual operations without removing the entire tool. Status persists when the gateway observes the operation again. Only a restore returns it to active. Refer to Discovered tools for the behavior of each status. You can block, deprecate, and restore operations through the CLI and MCP. The API reference documents catalog sync only.

List catalog

Retrieve the operations Dome has recorded for a tool. Because Dome stores the catalog, you can inspect it when the upstream server is unavailable. The result covers everything Dome discovered on the server, not what one agent can call.
Requires gateway.view.
Blocked entries are hidden unless you pass --show-blocked. Use --with-schema when you need input schemas.

Sync catalog

Sync the catalog to discover operations on a per-user tool before agent traffic begins. The gateway calls upstream tools/list with the administrator’s per-user credential, so that credential must already be attached. Shared tools sync when the gateway starts and reject manual sync.
Requires gateway.manage.

Block

Block a discovered operation to hide it from agents and deny calls to it. A block overrides any rule that would otherwise permit the operation. A blocked operation drops out of the catalog listing, so confirming a block means asking for blocked entries as well.
Requires gateway.manage.

Deprecate

Deprecate a discovered operation to keep it callable while directing users to a replacement. The deprecation message appears in the dashboard, and the catalog lists the operation as deprecated.
Requires gateway.manage.

Restore

Restore a discovered operation to make it available again when rules permit. Restoring clears its block or deprecation. When no blocked operations remain, Dome removes the managed denies.
Requires gateway.manage.

Attach to a Gateway

Attach a tool to a Gateway to expose its operations through the gateway’s MCP endpoint. Attaching the entire tool also exposes operations discovered later. Membership makes the tool reachable but does not authorize an agent to call it. The agent must allow the Gateway, and rules must permit the call. You can attach a tool when you add it or later from either the tool or Gateway. Refer to Gateways for membership and grants.
Requires gateway.manage.
The Gateway side of the same membership is dome gateway tool-sources add.

Verify discovery

Call tools/list on the Gateway endpoint with an agent’s API key. The response applies Gateway membership and rules, so it shows what that one agent can use. The stored catalog in List catalog applies neither check.
If an operation is missing, check the tool’s health, catalog status, Gateway membership, the agent’s allowed resources, and rules.

Manage OAuth

With shared OAuth, an administrator completes consent once after configuring the OAuth client. With per-user OAuth, each end user completes consent on their first call.

Connect OAuth

Connect OAuth to begin the admin consent flow. The response includes a one-shot URL valid for about ten minutes. Open it and complete consent at the upstream authorization server. Dome stores the resulting OAuth tokens. On a shared tool, those tokens serve every call. On a per-user tool, the flow attaches the calling administrator’s own credential, which Sync catalog then reads to discover operations before agent traffic starts. End users still complete their own consent on their first call.
Requires gateway.manage. The tool must use auth_method=oauth.
The CLI and the MCP tool accept shared tools only. To attach an administrator’s per-user credential, call the API with that administrator’s act-as subject.

Disconnect OAuth

Disconnect shared OAuth to revoke its stored tokens. The OAuth client configuration remains, so you can reconnect without configuring the client again. Disconnecting an already disconnected tool has no effect.
Requires gateway.manage.

Manage egress headers

You can add or remove individual headers without replacing the full list. These operations are available only through the CLI. MCP and API callers change headers through Update tool, which replaces the whole list.

List headers

Retrieve the outbound headers configured on a tool.
Requires gateway.view.

Add headers

Add one or more outbound headers without replacing the headers already configured on a tool.
Requires gateway.manage.
You can combine literal, secret, and act-as header flags in one call.

Remove headers

Remove outbound headers by name from a tool.
Requires gateway.manage.

Next steps

  • Tools concept for how connections and catalogs work and Tools reference for auth methods and catalog statuses
  • Register agents and allow the resources they need
  • Manage Gateway membership and grants in Gateways
  • Authenticate and route runtime traffic in Develop