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

# Connect AI assistants to your app

> Use App MCP to let AI assistants like Claude, ChatGPT, and Cursor work with your published app's data, agents, and custom tools.

App MCP lets external AI assistants like Claude, ChatGPT, and Cursor connect to your published app through its own Model Context Protocol (MCP) server. Connect an AI assistant to view or manage app data, message agents, or run custom tools, based on the access you allow.

<Frame>
  <img src="https://mintcdn.com/base44/POtznZHl8Mhz7KPN/images/app-mcp-overview.png?fit=max&auto=format&n=POtznZHl8Mhz7KPN&q=85&s=c16ebebc60646075365b7f754e0723f8" alt="Sample requests people can make to a Base44 app from an AI assistant, such as which leads have not been contacted in a week, what is in stock, and adding a new patient" width="800" height="450" data-path="images/app-mcp-overview.png" />
</Frame>

***

## What you can do with App MCP

App MCP lets you and other people work with your published app directly from an AI assistant such as Claude, ChatGPT, or Cursor.

What an assistant can do depends on your server's access mode:

* **Public · No sign-in:** Anyone can connect when your app is open to everyone without sign-in. Assistants can view records from the entities you make available, but cannot change records, message agents, or run custom tools.
* **Sign in required · OAuth:** People with an account in your app can connect by signing in. Assistants work as the signed-in user and can view or change records, message agents, and run custom tools based on that person's app permissions. Base44 checks those permissions on every request.

For example, with OAuth access, you could ask your AI assistant to find leads that need follow-up and add a new contact without opening your CRM app. Other people with the required app permissions could work with the CRM from their own assistants.

***

## How App MCP works

Set up MCP access for AI assistants from your app dashboard. Once you publish your app, connected assistants can work with the entities, agents, and custom tools you make available.

App MCP controls access at three levels:

* **Access mode:** Determines who can connect and whether they need to sign in. The **Access** badge on the **Overview** card shows the current mode. To change it, ask the AI chat.
* **Tool access:** Defines what AI assistants can do in your app, including which entities, agents, and custom tools they can use. Edit these settings on the **MCP** page, or ask Base in the AI chat to change them.
* **App permissions:** Determine what each signed-in user can view or change through an assistant.

<Card title="Looking for a different MCP connection?">
  App MCP connects external AI assistants to one published app. For other types of MCP connections:

  * [Base44 MCP](/developers/backend/overview/mcp-server) lets you build and manage Base44 apps from an external AI assistant.
  * [Custom MCP connections](/documentation/account-and-billing/setting-up-a-custom-mcp) let you connect the Base44 AI chat to external MCP servers while you build your app.
</Card>

***

## Setting up MCP access

Set up MCP access for each app to choose who can connect and whether they need to sign in.

<Frame caption="The MCP page when your app is ready to set up access">
  <img src="https://mintcdn.com/base44/POtznZHl8Mhz7KPN/images/app-mcp-setup.png?fit=max&auto=format&n=POtznZHl8Mhz7KPN&q=85&s=ebeae539324b18be091371603c714555" alt="The MCP page in the app dashboard with the Set up access button" width="1200" height="651" data-path="images/app-mcp-setup.png" />
</Frame>

<Note>
  If MCP is turned off, reach out to your workspace owner or admin. Learn more about [managing MCP access for your workspace](#managing-mcp-access-for-your-workspace).
</Note>

**To set up App MCP access:**

1. Go to your app's dashboard.
2. Click **MCP**.
3. Click **Set up access**. If you see **Enable custom authentication** instead, click it and set up your app's [custom login pages](/Setting-up-your-app/Managing-login-and-registration#custom-login-for-existing-apps). Then return to the **MCP** page and click **Set up access**.
4. Choose **Public** or **Sign in required · OAuth** when prompted.
5. Click **Publish** to publish your app and activate the server.

<Note>
  If you change the access mode or tool access, publish your app again. Changes to tool access require each connected user to reconnect their assistant and approve the updated permissions.
</Note>

***

## Managing tool access

Choose which entities, agents, and custom tools connected assistants can use.

**To manage tool access:**

1. Go to your app's dashboard.
2. Click **MCP**.
3. In the **Tool access** section, click **Edit**.
4. Choose what assistants can access:
   * **Entities:** Turn an entity on or off. For enabled entities, choose **Full access** to allow Read, Create, Update, and Delete actions, or choose **Custom access** to select specific permissions.
   * **Agents:** Set each agent to **Enabled** or **Disabled**.
   * **Custom tools:** Turn on each custom tool you want assistants to use.
5. Click **Save changes**.
6. Click **Publish** to activate your changes.

***

## Connecting an AI assistant

Connect your AI client to your app's MCP server using the connection URL.

**To connect an AI assistant:**

1. Go to your app's dashboard.
2. Click **MCP**.
3. Click **Copy URL** next to **Connection URL**.
4. Connect your AI client:

<AccordionGroup>
  <Accordion title="Claude">
    1) Add the connector in one click. Click **Add connector**, and Claude opens with the connector's details pre-filled.
    2) Review the pre-filled details. If the connection URL is missing, paste it manually.
    3) Click **Add** and start using it in chat.
  </Accordion>

  <Accordion title="ChatGPT">
    1. Open **Settings** and choose **Plugins** in the ChatGPT desktop app. On the web, custom MCP servers go through Developer mode instead.
    2. Open the **MCPs** tab and click **Add server**.
    3. Name the server, set **Type** to **Streamable HTTP**, and paste the connection URL.
    4. Click **Save**.
    5. Click **Restart**, then enable the server. The app restarts to load it, and the server's tools become available in chat.
  </Accordion>

  <Accordion title="Cursor">
    1. Open **Cursor Settings**, then **Tools & Integrations**.
    2. Click **New MCP Server**. Cursor opens your `mcp.json` configuration.
    3. Add a server entry with the connection URL. Set the entry's `url` field to the connection URL and save.
    4. Toggle the server on.
  </Accordion>

  <Accordion title="Others">
    1. Copy the connection URL.
    2. Add it to your client as a streamable HTTP MCP server. Most clients ask for a name and a URL, with no extra configuration.
    3. Reload the client and start using the tools.
  </Accordion>
</AccordionGroup>

<Note>
  If your server uses **Sign in required · OAuth**, the client opens your app's consent page. Sign in with your app account and approve access.
</Note>

***

## Adding in-app connection guidance

After setting up App MCP, you can add a page to your app that shows people how to connect their own AI assistants. They use the instructions to configure their external AI client.

**To add in-app connection guidance:**

1. Go to your app's dashboard.
2. Click **MCP**.
3. On the **How to connect AI assistant** card, click the **Send to chat** icon next to **Ask Base to add in-app guidance to help your users connect AI assistants**.
4. Wait for the AI chat to finish, then click **Publish**.

Base44 adds a `/connect` page with instructions for Claude, ChatGPT, Cursor, and custom AI clients.

***

## Managing MCP access for your workspace

The workspace MCP policy controls whether apps in the workspace can use App MCP. It applies to every app and overrides app-level settings.

<Note>
  Only workspace owners and admins can update the MCP policy. Policy changes take effect immediately and do not require publishing.
</Note>

**To set the workspace MCP policy:**

1. Open your workspace **Settings**.
2. Click **Governance**.
3. Under **MCP access for AI assistants**, select a policy:
   * **Allowed:** Apps can use App MCP, with or without sign-in.
   * **Sign-in required:** Apps can use App MCP, but assistants must sign in. Every App MCP server in the workspace uses OAuth.
   * **Not allowed:** Apps in the workspace cannot use App MCP.

<Frame caption="The MCP access for AI assistants policy on the Governance page">
  <img src="https://mintcdn.com/base44/POtznZHl8Mhz7KPN/images/app-mcp-workspace-policy.png?fit=max&auto=format&n=POtznZHl8Mhz7KPN&q=85&s=f4d7ee971043c20b0ac647d3e2e151a5" alt="The workspace Governance page with the MCP access for AI assistants drop-down open, showing the Allowed, Sign-in required, and Not allowed policies" width="1041" height="968" data-path="images/app-mcp-workspace-policy.png" />
</Frame>

<Warning>
  If you select **Not allowed**, active App MCP servers stop working on their next request.
</Warning>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="MCP is turned off for this workspace">
    Your workspace policy is blocking App MCP. The notice tells you whether to ask an admin or to change it yourself, and owners and admins can click **Open workspace settings**.
  </Accordion>

  <Accordion title="Your Public server won't activate">
    Your app requires sign-in, but the server is set to Public, so it will not run. On the MCP page you see **Your app requires login but your MCP server is exposed publicly**. Ask in the AI chat to switch the server to OAuth, or make the app public, then publish.
  </Accordion>

  <Accordion title="Claude has no custom connector option">
    Your Claude organization may restrict custom connectors. Ask your Claude admin whether custom connectors are enabled for your account.
  </Accordion>

  <Accordion title="Assistants stopped connecting after you published a change">
    After you publish changes to the available tools, reconnect the app from the AI client and approve the updated access.
  </Accordion>
</AccordionGroup>
