> ## Documentation Index
> Fetch the complete documentation index at: https://openworklabs.com/docs/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 MCP server with OpenWork takes four clicks.

* Inside your workspace, click in `Extensions` > `Advanced Settings` > `Add MCP server`

<Frame>
  <img src="https://mintcdn.com/differentai/kRSCNBy5OeKx9Ne1/images/mcp-extensions-advanced-settings.png?fit=max&auto=format&n=kRSCNBy5OeKx9Ne1&q=85&s=cc28e2d0e1fbf46b216635fee74d50fe" alt="Extensions page with Advanced Settings link" width="2986" height="1852" data-path="images/mcp-extensions-advanced-settings.png" />
</Frame>

You can add the MCP server to this workspace or to your global OpenCode configuration for all workspaces.

<Frame>
  <img src="https://mintcdn.com/differentai/kRSCNBy5OeKx9Ne1/images/mcp-add-server-dialog.png?fit=max&auto=format&n=kRSCNBy5OeKx9Ne1&q=85&s=d52d65117052ef67bf4f2de104aabfdf" alt="Add MCP Server dialog with name, URL, and OAuth toggle" 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/kRSCNBy5OeKx9Ne1/images/mcp-oauth-approval-page.png?fit=max&auto=format&n=kRSCNBy5OeKx9Ne1&q=85&s=25ce09b26b0e10f5f9759d5f5c1d5c30" 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/kRSCNBy5OeKx9Ne1/images/mcp-dynamic-registration-error.png?fit=max&auto=format&n=kRSCNBy5OeKx9Ne1&q=85&s=d0f1a00f8b02db7c5dcf0ad897d0a0b7" alt="Error when MCP server does not support dynamic client registration" width="1348" height="1152" data-path="images/mcp-dynamic-registration-error.png" />
</Frame>
