> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duckie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Servers

> Discover tools from Model Context Protocol servers

MCP servers let Duckie discover and call tools exposed through the Model Context Protocol.

Use MCP servers when your team already exposes useful actions through MCP and wants Duckie agents or the internal assistant to call those tools.

## Connect Duckie Assistant MCP

Duckie Assistant MCP is Duckie's first-party MCP server. It gives Duckie Assistant agents access to Duckie runs and core objects as tools.

If your account has not connected Duckie Assistant MCP yet, the **MCP Servers** tab shows a connection panel for it.

<Steps>
  <Step title="Navigate to MCP Servers">
    Go to **Build -> Tools**, then open the **MCP Servers** tab.
  </Step>

  <Step title="Start the connection">
    Click **Connect** in the **Duckie Assistant MCP** panel.
  </Step>

  <Step title="Create or retrieve an API key">
    In the dialog, click **Open keys** to open **Settings -> API & MCP** in a new tab. Create a key with the Duckie Assistant MCP scopes you need.
  </Step>

  <Step title="Paste the key">
    Paste the API key into the Duckie Assistant MCP dialog.
  </Step>

  <Step title="Connect">
    Click **Connect**. Duckie tests the MCP endpoint, saves the server, and syncs its tools.
  </Step>
</Steps>

For read-only Duckie Assistant behavior, grant `api:core:read` and any run scopes the assistant needs. To let the assistant update writable core objects, grant `api:core:write`.

## Connect an MCP Server

<Steps>
  <Step title="Navigate to MCP Servers">
    Go to **Build -> Tools**, then open the **MCP Servers** tab.
  </Step>

  <Step title="Add a server">
    Click **MCP Server**.
  </Step>

  <Step title="Enter server details">
    Add a name and the MCP server URL.

    Server URLs must use `http` or `https`. Duckie blocks local, private, and internal network addresses before making server-side requests.
  </Step>

  <Step title="Choose a transport">
    Use **Auto-detect** unless you know the server requires a specific transport.

    **Streamable HTTP** is the current MCP transport and the normal path for testing and discovery. **SSE (Legacy)** is available for older servers that still require it.
  </Step>

  <Step title="Configure authentication">
    Choose one of:

    * **None** - No authentication
    * **Bearer Token** - Sends an `Authorization: Bearer ...` header
    * **API Key** - Sends a key in a header such as `X-API-Key`
    * **Custom Headers** - Sends the JSON headers you provide
  </Step>

  <Step title="Test and discover tools">
    Click **Test & Discover Tools** to verify the connection and preview the tools returned by the MCP server.
  </Step>

  <Step title="Save the server">
    Click **Add Server**. Duckie stores the server, syncs discovered tools, and lists them under the server.
  </Step>
</Steps>

## Authentication

Credentials are encrypted before they are stored.

When editing an MCP server, leave credential fields blank to keep the existing credentials. Enter new credential values only when you want to rotate them.

## Tool Discovery

Duckie discovers tools by connecting to the MCP server and running MCP `tools/list`.

Discovered tools inherit their parameters from the MCP input schema. In workflow Tool nodes, those schema fields appear as tool inputs.

## Re-Sync Tools

Use **Re-sync Tools** when tools change on the MCP server.

Re-syncing updates tool descriptions and input schemas. Tools that no longer appear in the server's `tools/list` response are disabled.

## Use MCP Tools

After discovery, MCP tools can be enabled for customer-facing agents and for the internal assistant.

In workflows, MCP tools appear in the **MCP** tab of the tool selector.

In runbooks, reference MCP tools the same way you reference Duckie tools, app tools, and custom tools.

## Delete an MCP Server

Deleting an MCP server also deletes its discovered tools. Any runbook or workflow that references those tools will stop working.

## Related Pages

<CardGroup cols={2}>
  <Card title="Agent Configuration" icon="robot" href="/agents/configuration">
    Enable MCP tools for agents
  </Card>

  <Card title="Workflow Actions" icon="diagram-project" href="/workflows/nodes-and-conditions">
    Call MCP tools from workflows
  </Card>
</CardGroup>
