Apps
Publish an app to AI clients
To let people use an app in Claude, ChatGPT or another AI client, publish it. Its production URL then answers, and your audience adds it to their AI client. Test changes first on its staging URL, which only members of your workspace can use.
Both URLs are on the app’s Overview tab, in the Endpoints card.
| URL | Address | Answers | Who can use it |
|---|---|---|---|
| Production | https://app.bonnard.ai/mcp/<slug> | Once the app is published | The app’s audience |
| Staging | https://app.bonnard.ai/mcp/<slug>/staging | Always | Members of your workspace |
Both serve the same app, and a setting you save reaches both at once. Dashboards are the one difference: production serves each as last published, staging its current draft.
Publish the app
You need the Admin role.
- In the console at
app.bonnard.ai, open Apps, then the app. - In the header, select Publish.
The switch turns on and the console confirms: “Published, your app is live.”
Before you publish
Under Production, the card reads “This URL does not answer until you publish.” Copy URL works, so you can share the URL ahead of time. Its install links stay greyed out until you publish.
An AI client that calls it can still sign in, then gets MCP server '<slug>' is not live.
If publishing fails
The console shows Couldn’t publish with the reason, and a Review audience button that jumps to the Audience card.
| Reason | What to do |
|---|---|
Requires admin role. | Ask an admin or owner of your workspace to publish. |
Complete every required BigQuery customer mapping before turning this endpoint on. | Map a dataset for at least one customer, and complete every mapping row. See Audience. |
Unpublish the app
- In the header, turn off the Published switch.
- In Unpublish this app?, select Unpublish.
Clients connected to production stop working at once, and staging keeps working. Publishing again brings back the same URL.
Test on staging
Use the staging URL to try a change in a real AI client before your audience sees it, dashboard drafts included.
- It answers whether or not the app is published.
- Any member of your workspace can use it, whatever their role. Anyone else gets
Staging is available to console admins only. - The app’s audience applies on staging too.
- Its sign-in is separate from production’s, so install each URL on its own.
- Its calls count toward your usage, as production’s do.
To install it, select the arrow next to the Staging URL (More install options). Its install links work before you publish. See Install in AI clients.
Which customer staging acts as
A member of your workspace belongs to no customer. On a database with tenancy, staging acts as one customer with a tenant (the value that marks a customer’s data in your database), so you see that customer’s data.
| Database tenancy | Audience | Staging acts as |
|---|---|---|
| No tenancy | Internal or All customers | You, with the same data as everyone else |
| No tenancy | Specific customers | No one: the call gets This MCP server is not available to you. |
| Any other | All customers or Specific customers | The one customer in the audience with a tenant. With none, or more than one, the call gets Staging cannot tell which customer to serve this app as. |
That last error asks for a test context, the customer you test as on one app. The console has no control to save one.
Related
- Install in AI clients: add the production or staging URL to Claude, ChatGPT, Cursor, or Codex.
- Audience: who the production URL admits.