MCP Integrations
Estimated reading time: 8 minutes
The Model Context Protocol (MCP) catalog is clariBI's primary integration story. One protocol. 30+ vendors. One click to connect. No developer console, no API keys, no copy-pasting tokens. Read-only by design, Fernet-encrypted credentials at rest.
What is MCP?
MCP is an open standard for connecting AI tools to external systems. Instead of clariBI maintaining a bespoke client for each vendor (Stripe's API + HubSpot's API + Linear's API + …), every MCP-capable vendor exposes its capabilities the same way. We add a vendor by adding a catalog row, not by writing a new client.
Concretely: when you ask "What was MRR last quarter?", the AI engine picks the right Stripe MCP tool, runs it server-side, joins it with whatever else is relevant, and shows the chart. You never see the protocol — but it's the reason clariBI can support breadth this fast without becoming an integrations company.
Connect a vendor in three steps
Pick from the catalog
In-product: Settings → Data Sources → Connect MCP. Public catalog: /integrations. Each MCP-enabled vendor shows a "Live via MCP" badge.
Authorize on the vendor
A popup opens to the vendor's OAuth page. Approve read-only access. The vendor sends a code back to clariBI; clariBI exchanges it for a token and stores it encrypted.
Ask questions
Open Conversational Analytics and type a question. The AI engine picks the right MCP tool, runs it, shows the chart. Pin to a dashboard if you want it back.
The current catalog (30+ vendors)
The catalog grows continuously. Each entry below links to its Knowledge Base article with vendor-specific connect steps, available data, and example questions. The canonical source-of-truth is the in-product Data Sources page — anything visible there is connectable today.
Payments & Finance
- Stripe — payments, customers, subscriptions, disputes, payouts
- PayPal — transactions, customers, subscription billing
- Square — orders, payments, customers
- Ramp — corporate spend, vendors, transactions
- Plaid — bank account data, financial categorization
CRM & Customer Success
- HubSpot — contacts, companies, deals, marketing campaigns
- Attio — modern CRM records and pipelines
- Intercom — conversations, users, ticket data
- Klaviyo — email campaigns, segments, flows
- Brevo — email and SMS campaigns, contacts
Product Analytics & Observability
- PostHog — events, funnels, feature flags
- Mixpanel — events, retention, cohorts
- Amplitude — events, charts, behavioral data
- Sentry — errors, releases, performance
- Cloudflare — analytics, logs, edge metrics
Project Management & Knowledge
- Linear — issues, projects, cycles
- Atlassian — Jira issues, Confluence pages (unified MCP server)
- Asana — tasks, projects, teams
- monday.com — boards, items, workflows
- Notion — pages, databases, blocks
- Airtable — bases, tables, records
Developer Tools & Infrastructure
- GitHub — repos, PRs, issues, workflows
- Vercel — projects, deployments, analytics
- Supabase — Postgres data, auth, storage metadata
- Neon — Postgres-on-serverless metadata
Content, Storage & Marketing
- Box, Egnyte — file storage and access
- Canva, Webflow, Wix — design and site assets
- Cloudinary — media library metadata
- Mailchimp (via Apify), Ecomail — email campaign data
- Shopify Storefront — product catalog, customer-facing data
- Apify — scraped datasets via the Apify actor catalog
Vendor not listed here? Two paths: (a) if the vendor offers an MCP server, contact us and we typically add catalog rows within days; (b) if they don't, you can use Custom MCP below to point clariBI at any MCP endpoint.
Authentication: OAuth 2.1 with Dynamic Client Registration
Every catalog vendor authenticates via OAuth 2.1 with Dynamic Client Registration (DCR). The plain-English version: clariBI registers itself with each MCP server at connect time. You don't open a developer console, don't paste client IDs, don't manage tokens. Two clicks total.
Under the hood, when you click Connect:
- clariBI talks to the vendor's MCP server and registers as a new client (RFC 7591 DCR), receiving fresh client credentials.
- clariBI redirects your browser to the vendor's authorization screen.
- You click "Allow" — granting read-only access.
- The vendor redirects back to clariBI with a code.
- clariBI exchanges the code for an access token (and refresh token), encrypts both with Fernet, and stores them.
Some vendors (notably Stripe) register clariBI as a public OAuth client with PKCE only — no client secret. The catalog handles this automatically; you don't have to know which vendors use which model.
Security model
Six principles, each enforced at the code layer (not policy):
| Principle | Implementation |
|---|---|
| Read-only scopes | clariBI requests only the read scopes the vendor exposes. The per-vendor tool allowlist blocks any write-class tool before the request leaves clariBI, even if a future model tried to call one. |
| Encrypted at rest | OAuth tokens are encrypted with Fernet (AES-128-CBC + HMAC-SHA256) before they touch the database. The encryption key lives in the secrets manager, not in app config. |
| Per-organization isolation | Every MCPServerConnection row carries an organization_id. The fetch query filters on the current request's organization. Cross-tenant access is structurally impossible, not policy-enforced. |
| Disconnect = deleted | Disconnecting a vendor drops the encrypted credential row in a single transaction. The vendor's data falls off the analysis surface immediately. No soft-delete for analytics. |
| Audit trail (Pro+) | On Professional and Enterprise: every connect / disconnect / connection-use event is logged with user + timestamp. Exportable on Enterprise. |
| SSRF guard on Custom MCP | User-supplied Custom MCP URLs are checked at create time: https:// only, RFC1918 / loopback / cloud-metadata addresses blocked. |
Custom MCP — bring your own endpoint
If the vendor you need isn't in the catalog yet but exposes an MCP server, you can connect it via Custom MCP. Two auth modes are supported:
- API key — paste a Bearer or custom-header API key. Available for self-hosted MCP servers behind auth proxies.
- OAuth 2.1 + DCR — point clariBI at the vendor's MCP endpoint URL; clariBI discovers OAuth metadata via the well-known endpoint, registers dynamically, and runs the same flow as catalog vendors. Available on Starter and higher.
SSRF protections apply to every Custom MCP URL — clariBI refuses non-https schemes and any hostname that resolves to a private or cloud-metadata address.
Troubleshooting
"Connection test failed"
The most common cause is the vendor revoking access on their side (the user disconnected the OAuth grant in the vendor's app settings, or the token expired and refresh failed). Click Reconnect in Settings → Data Sources to run the OAuth flow again — clariBI revives the existing connection row rather than spawning a duplicate.
"This tool is not allowed"
The AI engine attempted a tool not on the vendor's allowlist. This is the read-only enforcement layer doing its job. If the tool you need is legitimately read-only and absent, contact us and we'll add it to the per-vendor allowlist.
"Vendor returned a 4xx error"
Usually a stale scope. Disconnect the connection and reconnect — the new OAuth grant re-requests the current required scopes.
Slow first call after a long idle period
The catalog warms vendor sessions lazily. The first call after >1 hour idle re-validates the token (a single extra round-trip). Subsequent calls within the cache window are fast.
Related
- Data Sources Overview
- Subscription Plans — which tier includes the MCP catalog
- MCP Integrations (marketing) — the catalog with vendor logos
- What Is MCP? (blog) — plain-English explainer
- The Security Model (blog) — deeper dive on the six principles
- OAuth 2.1 DCR explained (blog)
Ready to connect your first MCP vendor?
14-day free trial. No credit card. Full MCP catalog unlocked.