# Custom MCP

The Custom MCP connection lets you link Duvo to any system not covered by a built-in connection. You provide the URL of your own MCP-compatible server, and Duvo connects to it so your assignments can use the tools that server exposes.

## Setup

Custom MCP connections require a deployed MCP server that is accessible over the internet. Follow these steps to deploy your server and connect it to Duvo.

### Requirements for your MCP server

* Must be accessible over the internet via a public HTTPS URL (localhost is not supported).
* Must support streamable HTTP transport (STDIO and HTTP/SSE are not supported).

### Step 1 — Deploy your MCP server

Build and deploy an MCP server that implements the tools you need. The server must be reachable at a public HTTPS endpoint.

For guidance on building an MCP server, see [Building Custom Connections](https://docs.duvo.ai/resources/building-custom-connections).

### Step 2 — Add the connection in Duvo

1. Open the [Connections page](https://app.duvo.ai/integrations).
2. Click **Add custom connection** at the bottom of the available connections list.
3. Enter a **Connection name** that your team will recognize (for example, "Internal CRM" or "Warehouse API").
4. Choose an **Authorization method**:
   * **None** — No authentication required. Use this for servers that handle auth at the network level or have no auth.
   * **Access token / API key** — Your server requires a static token or API key. Each teammate enters their own credentials when they connect.
   * **Custom headers** — Your server requires specific HTTP headers for authentication. Each teammate provides their own header values.
   * **OAuth** — Your server uses OAuth for authentication. See the OAuth section below for details.
5. Enter the **Server URL** — the public HTTPS URL of your deployed MCP server (for example, `https://example.com/mcp`).
6. Click **Create** to add the connection type to your team's catalog.

### Step 3 — Connect your account

After the connection type is created, each teammate clicks **Enable** on the new connection card and provides their own credentials based on the authorization method chosen in Step 2.

### OAuth setup

When you select OAuth as the authorization method and enter a server URL, Duvo automatically checks whether the server supports OAuth and **dynamic client registration (DCR)**.

* **If the server does not support OAuth:** An error message appears suggesting you use a different authorization method.
* **If DCR is supported:** No additional credentials are needed. The connection is handled automatically.
* **If DCR is not supported:** The **Advanced settings** section opens automatically with the Client ID and Secret fields marked as required. Enter your **OAuth Client ID** and **OAuth Client Secret**. This section also displays a redirect URI that you need to register in your OAuth provider.

You can also provide a Client ID and Secret manually through **Advanced settings** if you prefer to use a pre-registered OAuth app instead of automatic registration.

## Capabilities

* **Access proprietary systems** — Connect to internal tools, legacy platforms, or custom-built APIs that are not available as standard connections.
* **Call custom tools** — Use any tools your MCP server exposes directly within assignment workflows.
* **Authenticate securely** — Support multiple authentication methods including API key, custom headers, and OAuth, depending on your server's requirements.
* **Extend Duvo's reach** — Add domain-specific functionality tailored to your organization's needs without waiting for a built-in connection.

## Key Benefits

* **Unlimited connection scope** — Connect to any system you can build an MCP server for, without waiting for a built-in connection to exist.
* **Full control** — You own and manage the server, so you decide what tools are available and what data is exposed.
* **Consistent workflow** — Custom tools work the same way as built-in connections. Your assignments use them without special handling.
* **Secure by design** — Credentials stay within Duvo's connection setup and are not exposed in assignment instructions.
* **Team-wide catalog** — Add a custom connection once and every teammate can connect with their own credentials.

## Works Well With

* **Custom MCP + Browser** — Use a custom MCP server to pull data from a proprietary system, then use the Browser connection to enter that data into a web-based downstream tool.
* **Custom MCP + Gmail or Outlook** — Retrieve records from an internal system via custom MCP and send automated email summaries using a standard email connection.
* **Custom MCP + Snowflake or BigQuery** — Fetch data from a proprietary operational system through custom MCP and combine it with warehouse queries for unified reporting.
