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

# Integrations

> Learn how to connect built-in integrations and custom MCP servers so the assistant can use them when you need them.

# TL;DR

* Open **User Settings** and go to the **Integrations** section.
* Use **Connect** on a built-in integration card to start its OAuth flow.
* Use **Add Integration** to add a custom MCP server.
* Turn on **Agent Access** only for the connections you want the assistant to use right now.

For the full User Settings walkthrough, including notification email controls, see [User Settings](/organization/user-settings).

<Info>
  Enable integrations and MCP servers only when you need them. Connections with **Agent Access** turned on are the ones the assistant loads for tool use by default. Leaving extra connections enabled can add unnecessary tools and external context, which can bloat an agent's context window and make tool selection noisier.
</Info>

# Before You Start

Make sure you are working in the correct organization before you connect anything. Integrations and custom MCP servers are managed from **User Settings** inside the current organization.

If you plan to use OAuth, allow your browser to open the authorization popup when prompted.

# Connect a Built-In Integration

The current built-in integrations shown in the app are:

* **GitHub**
* **Linear**
* **Jira**: marked as **Beta**
* **Slack**: currently shown as **Coming Soon**

To connect GitHub, Linear, or Jira:

1. Open **User Settings**.
2. Find the **Integrations** section.
3. On the card you want, click **Connect**.
4. Complete the OAuth flow in the popup window.
5. Return to Formly and confirm the card now shows **Connected**.

After a built-in integration is connected, you can:

* Use **Agent Access** to decide whether the assistant can use it.
* Use **Disconnect** to remove it from your account in that organization.

# Add a Custom MCP Server

Use a custom MCP server when you want the assistant to work with a third-party tool that is exposed over the MCP protocol.

Before you start, make sure you have:

* A full MCP server URL that starts with `https://`
* Either an access token for manual bearer auth, or an OAuth-capable MCP server

To add the server:

1. Open **User Settings**.
2. In **Integrations**, click **Add Integration**.
3. Enter a **Connection Name**.
4. Enter the **MCP Server URL**.
5. Choose your authentication method:
   * Enter **Access Token** to connect with manual bearer auth.
   * Leave **Access Token** blank to start an OAuth flow.
6. Click **Connect**.
7. If you used OAuth, finish the authorization flow in the popup window.

After the server is added, its card appears in the same integrations list.

# Manage a Connected MCP Server

Custom MCP server cards include a few controls after setup:

* **Test**: checks whether the MCP server is reachable with the saved credentials
* **Disconnect**: removes the saved connection
* **Agent Access**: controls whether the assistant can use that MCP server

You may also see these statuses:

* **Connected**: the server has saved credentials and is ready to use
* **Not Authenticated**: the server record exists, but authentication has not completed successfully

<Note>
  Custom MCP servers require a full HTTPS URL. A bare domain such as `mcp.example.com/mcp` will not work.
</Note>

# Best Practices

* Keep **Agent Access** disabled for integrations and MCP servers you are not actively using.
* Use clear connection names so it is obvious which workspace, environment, or vendor each MCP server belongs to.
* Test a custom MCP server after connecting it so you can catch URL or authentication problems early.
* Disconnect old or duplicate connections instead of leaving them in place indefinitely.

# FAQ

## Which built-in integrations can I connect today?

GitHub, Linear, and Jira can be connected from **User Settings**. Slack is visible in the UI but currently marked **Coming Soon**.

## When should I enter an access token?

Enter an access token when the MCP server expects manual bearer authentication. If the server supports OAuth instead, leave the token blank and use the popup flow.

## Why was my MCP server URL rejected?

The URL must be a complete `https://` address. The app rejects incomplete or non-HTTPS values.

## Why should I disable unused connections?

Disabled connections stay available in your settings, but the assistant does not load them for normal tool use. That helps keep the assistant focused and avoids adding unnecessary external context.
