> ## Documentation Index
> Fetch the complete documentation index at: https://differentai-feat-den-selfhost-tarball.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a custom MCP server

> Connect a custom or local MCP server that is not available through OpenWork Connect

Use this guide only when you need a custom or local MCP server that is not available through OpenWork Connect.

For Gmail, Google Calendar, Google Drive, Slack, Notion, Linear, and other
managed services, follow [Connect your services](/start-here/connect-your-stack/connect-services).

Connecting a custom app with OpenWork takes four clicks.

* In the desktop app, open `Settings` > `Extensions`, then click `Add Custom App`

<Frame>
  <img src="https://mintcdn.com/differentai-feat-den-selfhost-tarball/rK0wu8vQIbokbWVt/images/mcp-extensions-advanced-settings.png?fit=max&auto=format&n=rK0wu8vQIbokbWVt&q=85&s=d9892bf121c765f88d25bd3377ff1d37" alt="Extensions page listing available and connected apps" width="2986" height="1852" data-path="images/mcp-extensions-advanced-settings.png" />
</Frame>

You can add the app to this workspace or to your global configuration for all workspaces.

<Frame>
  <img src="https://mintcdn.com/differentai-feat-den-selfhost-tarball/rK0wu8vQIbokbWVt/images/mcp-add-server-dialog.png?fit=max&auto=format&n=rK0wu8vQIbokbWVt&q=85&s=d7408b2d4c467d2f2d7e9e8e9b72bad3" alt="Add Custom App dialog with name, URL, and OAuth options" width="2002" height="1468" data-path="images/mcp-add-server-dialog.png" />

  Indicate whether the server requires OAuth.
</Frame>

This setup is intended for servers that support dynamic OAuth client registration.

<Frame>
  <img src="https://mintcdn.com/differentai-feat-den-selfhost-tarball/rK0wu8vQIbokbWVt/images/mcp-oauth-approval-page.png?fit=max&auto=format&n=rK0wu8vQIbokbWVt&q=85&s=b093ac3a6ed4397025e2895e83246863" alt="OAuth approval page for MCP server" width="2320" height="1406" data-path="images/mcp-oauth-approval-page.png" />
</Frame>

Complete the provider's OAuth approval flow in your browser. It should redirect
back to OpenWork. If a custom MCP needs behavior OpenWork does not support,
[open an issue](https://github.com/different-ai/openwork/issues/).

### Troubleshooting

Some MCP servers do not support dynamic client registration. If the server gives you a pre-registered OAuth client ID and client secret, add it through `Add Custom App` > `Advanced OAuth`.

For an advanced local Slack setup, follow
[Connect Slack as a custom MCP](/start-here/connect-your-stack/connect-slack-mcp).

<Frame>
  <img src="https://mintcdn.com/differentai-feat-den-selfhost-tarball/rK0wu8vQIbokbWVt/images/mcp-dynamic-registration-error.png?fit=max&auto=format&n=rK0wu8vQIbokbWVt&q=85&s=9633ee52a5ac36c4ec00dbd07cae728e" alt="Error when MCP server does not support dynamic client registration" width="1348" height="1152" data-path="images/mcp-dynamic-registration-error.png" />
</Frame>
