Bonnard

To chart MySQL or MariaDB data in Claude, ChatGPT or another AI client, connect it here, then create an app on it. Bonnard reads MySQL or MariaDB through a read-only user, so your apps query only what you grant.

Requirements

  • The Admin role in your Bonnard workspace.
  • A MySQL or MariaDB user that can create users and grant privileges.

1. Create a read-only user

Bonnard connects as this user. Agents can query only the tables it can read.

SQL

-- A user that can log in, nothing more. '%' accepts any client address;
-- a narrower host part must match Bonnard's IP addresses
CREATE USER 'mcp_reader'@'%' IDENTIFIED BY '<password>';

-- Run this once for each database apps should query
-- SHOW VIEW lets agents read how each view is defined
GRANT SELECT, SHOW VIEW ON <database>.* TO 'mcp_reader'@'%';

Replace <password> and <database> with your own. The grant covers tables you add to the database later. If each tenant (the customer a caller belongs to) has its own database, grant each one.

2. Allow Bonnard’s IP addresses

If your database limits who can connect, allow Bonnard’s IP addresses on port 3306. The connect form lists them under Allow our IP addresses. Bonnard cannot reach databases on a private network.

3. Add the connection

  1. In the console at app.bonnard.ai, select Data, then MySQL / MariaDB.
  2. Enter a Connection name and the user’s details from the table below. To fill them from a URL, paste it into Import from connection string (optional) and select Fill fields.
  3. Select Test & connect. Bonnard logs in as the user and reads the tables it can see.
MySQL / MariaDB connection fields
FieldEnter
Connection nameA name for this database in Bonnard, such as Production.
HostThe server’s public hostname. With verify-full, an IP address fails the certificate check.
Port3306, unless your server listens on another port.
DatabaseThe database to read.
User and PasswordThe read-only user from step 1, such as mcp_reader.
SSL modeKeep verify-full. For a private CA, such as Amazon RDS, paste its bundle into CA certificate (PEM).

4. Choose the tenancy

Choose how callers see the data, then select Save & continue.

Tenancy options
OptionUse it when
No tenancyEvery caller should see the same data.
Database per tenantEach tenant’s tables sit in their own database, named by a pattern such as customer_{tenant}.

Connection saved shows the number of tables discovered.

Troubleshooting

  • Host resolves to a private or reserved address. Use the public hostname. Bonnard cannot reach private networks.
  • The test times out. Check that Bonnard’s IP addresses are allowed (step 2).
  • Connected, but introspect failed: <message> The user cannot read the table list. Fix what the message names.
  • A table is missing. Grant SELECT on it, then select Re-introspect on the database’s Tables tab.
  • Hostname/IP does not match certificate's altnames: <reason> Host is an IP address and SSL mode is verify-full. Enter the hostname the certificate names, or choose verify-ca.
  • Any other error is MySQL’s or MariaDB’s own message. Check the field it names, then select Test & connect again.

Charts in your AI client

Create an app on this database, so AI clients such as Claude and ChatGPT can query it and draw charts.