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

# Overview

> Add MCP servers, OpenAPI plugins, and Craft Apps from one Admin Panel page

Plugins give Onyx agents live access to external tools and services.
An agent can use a plugin to read current data or to take an action, such as post a Slack reply or create a ticket.

Admins manage all plugins in **Admin Panel → Plugins** (`/admin/plugins`).
Users connect their accounts and set personal defaults in **Plugins** in the main sidebar (`/app/plugins`).

![The Admin Panel Plugins page with an MCP server, an OpenAPI plugin, and a Slack Craft App](https://mintcdn.com/danswer/yAnT-i7LBUiCJgOS/assets/admins/plugins/plugins_directory.png?fit=max\&auto=format\&n=yAnT-i7LBUiCJgOS\&q=85\&s=c34fac999684048f51dd724ff0b5869d)

## Where things moved in Onyx 5

In Onyx 5.0, MCP servers, OpenAPI actions, and Craft Apps moved to one **Plugins** page. Existing servers, tools,
credentials, and Craft App settings stay the same. Only the location changed.

| Before 5.0 | In 5.0 |
| - | - |
| **Admin Panel → MCP Actions** (`/admin/mcp-actions`) | **Admin Panel → Plugins**, type **MCP server** |
| **Admin Panel → OpenAPI Actions** (`/admin/openapi-actions`) | **Admin Panel → Plugins**, type **OpenAPI** |
| **Admin Panel → Craft → Apps** (`/admin/craft/apps`) | **Admin Panel → Plugins**, type **Craft App** |
| **Craft → Apps** (`/craft/v1/apps`) | **Plugins** in the Craft sidebar (`/craft/v1/plugins`) |
| MCP and OpenAPI tools in the Chat **Actions** menu | **Actions → Plugins** in Chat, and **Plugins** in the main sidebar (`/app/plugins`) |
| "OpenAPI actions" and "MCP actions" | "OpenAPI plugins" and "MCP plugins" |

Old links open the new pages.

## Plugin types

Onyx has three plugin types. Each type connects to a different kind of external system.

| Type | What it connects | Where agents can use it | Use it when |
| - | - | - | - |
| [MCP](/admins/plugins/mcp) | A server that uses the [Model Context Protocol](https://modelcontextprotocol.io/) | Chat, custom agents, and Craft | The vendor publishes an MCP server, or you run your own. |
| [OpenAPI](/admins/plugins/openapi) | A REST API that you describe with an OpenAPI schema | Chat and custom agents | You have an internal or third-party REST API and no MCP server. |
| [Craft App](/admins/plugins/craft_apps) | A catalog of API endpoints for one application, such as Slack or Gmail | Craft only | Craft must act as each user in a supported application, with action-level approvals. |

### Choose a plugin type

* Use a **Craft App** for Slack, Google Calendar, Google Drive, Gmail, Linear, GitHub, HubSpot, Notion,
  or Zendesk work in Craft. Craft Apps call the provider API as the connected user.
  Each action has its own approval policy.
* Use an **MCP server** for an application that is not a built-in Craft App, or when you also need the tools in Chat.
  MCP servers work in Chat, custom agents, and Craft.
* Use an **OpenAPI plugin** to make an existing REST API available in Chat and custom agents.
  Onyx turns each operation in the schema into a tool.

> [!TIP]
>
> You can add the same service more than once. For example,
> add the Slack Craft App for Craft and the Slack MCP server for Chat.

### Plugins compared to connectors

[Connectors](/admins/connectors/overview) and plugins solve different problems.

| | Connectors | Plugins |
| - | - | - |
| Data | Index a copy of documents into the Onyx knowledge index | Call the external service live, at the time of the request |
| Permissions | Onyx applies the permissions it syncs from the source, so each user finds only documents they can access | The external service applies its own permissions to the account that the plugin uses |
| Actions | Read only | Read and write, if the service and the plugin allow it |

When a user connects a personal account, the plugin can read only what that account can read. For example,
a Slack Craft App can read a private channel only if the connected user is a member of that channel.

## Add a plugin

**1. Open the Plugins page**

Click your user profile icon, select **Admin Panel**, then select **Plugins** under **Agents & Actions**.

**2. Select a plugin type**

Click **Add**, then select **MCP**, **OpenAPI**, or **Craft Apps**.

![The Add menu with MCP, OpenAPI, and Craft Apps options](https://mintcdn.com/danswer/yAnT-i7LBUiCJgOS/assets/admins/plugins/plugins_add_menu.png?fit=max\&auto=format\&n=yAnT-i7LBUiCJgOS\&q=85\&s=a3e480688df095e75f306915e9c75e72)

**3. Complete the setup**

Follow the guide for the plugin type: [MCP](/admins/plugins/mcp), [OpenAPI](/admins/plugins/openapi),
or [Craft Apps](/admins/plugins/craft_apps).

Only full admins can add Craft Apps.
Users with the **Manage Actions** permission can add and edit MCP and OpenAPI plugins.
Only full admins can change which plugins are on in default Chat for the workspace.

## The Plugins page

Each card shows the plugin name, its URL or description, its type, and a status icon.

* Use the **All**, **MCP**, **OpenAPI**, and **Craft Apps** filters, or search by name.
* Click a card to open its settings.
* Click the trash icon to delete the plugin.

Deleting a plugin removes it from the workspace, from every custom agent, and from every user.
To keep a plugin but stop default Chat or Craft from using it, turn off its availability switch instead.

## Plugin settings

Plugin settings open in a dialog with tabs. Changes stay as a draft until you click **Save Changes**.

| Tab | MCP | OpenAPI | Craft App |
| - | - | - | - |
| **Configuration** | Name, description, access control, availability | Name, descriptions, schema, default Chat | Name, availability |
| **Authentication** | Authentication method, custom headers, transport | Authentication method | Provider credentials or header patterns |
| **Tools** | Tool list and Craft approval settings | Read-only list of operations | Action approval policies |
| **Skills** | — | — | Skills that teach Craft how to use the app |

## Availability and personal defaults

Onyx keeps four kinds of settings separate. Use the table to find the setting that controls a behavior.

| Setting | Who sets it | Effect |
| - | - | - |
| **Access control** (MCP) | Admin | Selects which users and groups can use the plugin at all. |
| **Enable in default Chat** (MCP, OpenAPI) | Admin | Makes the plugin available in chats that do not use a custom agent. |
| **Enable for Craft** (MCP, Craft App) | Admin | Makes the plugin available in Craft sessions and scheduled tasks. |
| **Custom agent attachment** | Agent builder | Gives one [custom agent](/admins/agents/overview) the plugin's tools. Default Chat settings do not change it. |
| **Personal defaults** | Each user | Turns a workspace-available plugin off in that user's default Chat or Craft. |
| **Account connection** | Each user | Signs the user in when the plugin uses personal OAuth or personal API keys. |

A personal default can only narrow what the admin allows. If an admin turns off **Enable in default Chat**,
no user can turn the plugin on in default Chat. Custom agents that already use the plugin keep it,
and its credentials and settings stay the same.

> [!NOTE]
>
> Default Chat selection for MCP and OpenAPI plugins is now on the Plugins page.
> **Chat Preferences** manages only built-in tools, such as Internal Search and Web Search. In Terraform,
> `onyx_custom_tool.enabled` sets the default Chat selection for an OpenAPI plugin.

## Status icons

The status icon on each card shows where the plugin is available. Hover over the icon to see details.
Each segment of the icon is one surface: **Main Chat**, **Custom agents**, and **Craft**.

| Color | Meaning |
| - | - |
| Green | On and ready |
| Orange | Off, or the user must sign in |
| Gray | The plugin type does not support this surface |

The status icon is read only. Change availability in the plugin's **Configuration** tab.

## Approvals in Craft

Craft can ask a user to approve an action before it runs.
Admins set the policy for each MCP tool and each Craft App action:

| Policy | Effect |
| - | - |
| **Auto-approve** | The action runs without a prompt. |
| **Ask** | Craft shows an approval card. The user can approve once, approve for the session, or reject. |
| **Disabled** | The action never runs. Users and scheduled tasks cannot override it. |

Turn on **Let users manage approval settings** to let users choose a stricter or more permissive policy for actions that
the admin did not disable.

> [!WARNING]
>
> Approval policies apply only in Craft. In default Chat and custom agents,
> an agent calls MCP and OpenAPI tools without an approval prompt.
> Turn off tools in Chat that must not run without review.

## Next steps

> **[MCP servers](/admins/plugins/mcp)**
>
> Connect an MCP server and choose its tools.

> **[OpenAPI plugins](/admins/plugins/openapi)**
>
> Turn a REST API schema into agent tools.

> **[Craft Apps](/admins/plugins/craft_apps)**
>
> Let Craft act as each user in Slack, Gmail, Notion, and more.

> **[Plugins for users](/overview/core_features/plugins)**
>
> Connect accounts and set personal defaults.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.