To query your database from Claude, ChatGPT or another AI client, create an app on it: an MCP server with its own URL, which AI clients
connect to. Each app reads one database, chosen when you create it and fixed after that. One database can serve several
apps, each with its own audience and tools.
AppsNew appNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Create & configureCancelNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Creating...CancelAppsAcme analytics (sample)PublishOverviewToolsDataSettingsEndpointsStaginghttps://app.bonnard.ai/mcp/acme-analytics-sample/stagingProductionhttps://app.bonnard.ai/mcp/acme-analytics-sampleThis URL does not answer until you publish.AudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Save audienceAppsAcme analytics (sample)PublishOverviewToolsDataSettingsEndpointsStaginghttps://app.bonnard.ai/mcp/acme-analytics-sample/stagingProductionhttps://app.bonnard.ai/mcp/acme-analytics-sampleThis URL does not answer until you publish.AudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Save audience
Requirements
The Admin role in your Bonnard workspace.
A database connected on the Data page, with its setup finished. Until there is one, the Apps page says
“Connect a database first.” and has no + New app button.
Create the app
In the console at app.bonnard.ai, select Apps, then + New app. With no apps yet, select the
Create an app tile.
Enter a Name. It labels the app in the console and in the Claude and Cursor install links. Bonnard builds the
app’s URL from it.
Choose the Database.
Choose the Audience, who can connect. The choices depend on the database’s tenancy: on No tenancy, the form
starts at Internal, members of your workspace only. See Audience.
Select Create & configure. The app opens on its Overview tab.
AppsNew appNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Create & configureCancelNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Creating...CancelAppsNew appNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Create & configureCancelNameAcme analytics (sample)DatabaseAcme sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Creating...Cancel
Connection saved, the last step of connecting a database, offers Create an app under Next step. A PostHog
connection has Create app on its Used by card. Both open the form with that database chosen. With the
sample data, the name starts as Acme analytics (sample).
If the database’s setup is unfinished, the form shows Complete database setup before creating an MCP server. Finish
it on the Data page, then select Create & configure again.
What a new app starts with
A new app’s settings
Setting
Starts as
Change it on
URL
https://app.bonnard.ai/mcp/<slug>, and a staging URL ending in /staging
Every table Bonnard found in the database, shown to AI clients
Data tab
The URL
Bonnard makes the slug from the name: lowercase, with each run of other characters turned into one hyphen, up to 48
characters. Acme analytics (sample) becomes acme-analytics-sample.
Slugs are unique across Bonnard, deleted apps included. If the slug is taken, or is mcp or staging, Bonnard adds a
hyphen and six random letters and digits, such as acme-analytics-sample-4k9x2m. Check the URL on the Overview
tab.
AppsAcme analytics (sample)PublishedOverviewToolsDataSettingsEndpointsStaginghttps://app.bonnard.ai/mcp/acme-analytics-sample/stagingProductionhttps://app.bonnard.ai/mcp/acme-analytics-sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Save audienceCopy URLInstall in ClaudeInstall in ClaudeInstall in CursorInstall in ChatGPTAppsAcme analytics (sample)PublishedOverviewToolsDataSettingsEndpointsStaginghttps://app.bonnard.ai/mcp/acme-analytics-sample/stagingProductionhttps://app.bonnard.ai/mcp/acme-analytics-sampleAudienceInternalAll customersSpecific customersOnly members of your organization can call this server. No customer can.Save audienceCopy URLInstall in ClaudeInstall in ClaudeInstall in CursorInstall in ChatGPT
Rename an app
The name at the top of the app’s page is a field. Edit it, then select Save next to it. The URL stays the same.
AI clients that already have the app keep the name it was installed under.
Delete an app
Open the app’s Settings tab.
Under Danger zone, select Delete app, then Delete in the dialog.
AppsAcme analytics (sample)PublishPublishedPublishing…OverviewToolsDataSettingsCall intentCapture intent for each tool call made by agents. On by default.API keysConnect a script, agent, or CI headlessly (no browser sign-in). Send it as anAuthorization: Bearer <key> header.acme-analytics-sample keylast used 1h agoRevoke+ New keyManage in SettingsDanger zoneDelete this app. Anyone connected to it stops working immediately. Thedatabase it reads is not affected, and the dashboards people savedthrough it are kept.Delete appAPI keysConnect a script, agent, or CI headlessly (no browser sign-in). Send it as anAuthorization: Bearer <key> header.Generate API keyManage in SettingsDanger zoneDelete this app. Anyone connected to it stops working immediately. Thedatabase it reads is not affected, and the dashboards people savedthrough it are kept.Delete appDelete app "Acme analytics (sample)"?Its endpoint /mcp/acme-analytics-sample will stop responding. Thedashboards people saved through it stay in the Dashboards list.CancelDeleteAppsAcme analytics (sample)PublishPublishedPublishing…OverviewToolsDataSettingsCall intentCapture intent for each tool call made by agents. On by default.API keysConnect a script, agent, or CI headlessly (no browser sign-in). Send it as anAuthorization: Bearer <key> header.acme-analytics-sample keylast used 1h agoRevoke+ New keyManage in SettingsDanger zoneDelete this app. Anyone connected to it stops working immediately. Thedatabase it reads is not affected, and the dashboards people savedthrough it are kept.Delete appAPI keysConnect a script, agent, or CI headlessly (no browser sign-in). Send it as anAuthorization: Bearer <key> header.Generate API keyManage in SettingsDanger zoneDelete this app. Anyone connected to it stops working immediately. Thedatabase it reads is not affected, and the dashboards people savedthrough it are kept.Delete appDelete app "Acme analytics (sample)"?Its endpoint /mcp/acme-analytics-sample will stop responding. Thedashboards people saved through it stay in the Dashboards list.CancelDelete
Both URLs stop answering straight away, so AI clients with the app installed stop working. Deleting also:
Removes the app from the Apps page, from its database’s Used by card, and from each customer’s
App access.
Revokes the API keys scoped to the app.
Keeps the charts and dashboards people saved through the app. They belong to the database, which is unchanged.
The console cannot restore a deleted app. Bonnard keeps a record of it, so past activity still names it and its slug
stays taken.
To remove a database, delete its apps first. Bonnard refuses to delete a database while an app uses it.