com.claribi/mcp-server
Official26 toolsclariBI
AI business intelligence: sign up, ingest data, run analyses, generate reports from any MCP client.
Business intelligence platform for data ingestion, analysis, and report generation.
Captured live from the server via tools/list.
check_integration_status
Poll an OAuth handoff initiated by request_oauth_integration_url. Returns the current status (pending, connected, failed, expired) and, when connected, the data_source_id you can pass to run_analysis.
Parameters (1)
- handoff_idstringrequired
The id returned by request_oauth_integration_url.
check_pricing
List clariBI subscription tiers with prices, AI credits, data source limits, user limits, and headline features. No authentication required.
Parameters (1)
- tierstring
Optional. Return only this tier (free, trial, lite, starter, professional, enterprise).
create_checkout_session
Create a Stripe Checkout URL the user can open in a browser to upgrade their clariBI subscription. Payment cannot happen inside the LLM; this tool returns a URL.
Parameters (2)
- tierstringrequired
Target subscription tier.
- billing_periodstring
Billing cadence for the checkout. Defaults to monthly.
create_forecast
Bind a forecast to a metric in your workspace. Stores the configuration, sets up the schedule, and resolves the source binding immediately so a bad source_id or metric_path errors out before any credits are spent. Run the forecast with run_forecast.
Parameters (19)
- namestringrequired
- descriptionstring
- source_typestringrequired
Which clariBI artifact the metric lives on. Most callers should start with data_source for raw connector metrics or goal to forecast a tracked KPI.
- source_idstringrequired
UUID of the report, dashboard, goal, or data source.
- metric_pathstringrequired
Dot-path to the numeric column. For data_source: the metric key (e.g. "revenue"). For goal: "value" or "percentage". For report: the path inside the insights JSON. For dashboard: "widget_id:metric_name".
- granularitystring
Bucket size for the time series. Hourly requires an hourly data source; the engine refuses to fabricate hourly buckets from daily data.
- horizon_daysinteger
How many BUCKETS ahead to project. The per-granularity cap applies: hourly 168, daily 90, weekly 52, monthly 24, quarterly 8, annual 5. The field name is "_days" for backwards compatibility — it counts buckets of the chosen granularity.
- include_correlationsboolean
- include_anomaliesboolean
- include_changepointsboolean
- narration_enabledboolean
When true, every completed run gets an AI-generated narrative attached (summary, highlights, risks, recommendations, methodology). Costs 1-2 extra AI credits per run.
- aggregationstring
How multiple raw points falling into the same bucket are combined. Auto picks sum for additive metrics, mean otherwise. Use Mean for rates (CTR, conversion, latency).
- transformstring
Series transform applied before fitting. Log helps revenue/traffic series with growing variance. Auto detects when log is beneficial; none forces raw scale.
- non_negativeboolean
When true, point + lower band clamped at zero. Omit to let the engine heuristic decide (via non_negative_auto=true).
- non_negative_autoboolean
When true (default), the backend heuristic owns non_negative and re-evaluates per run based on the metric path. Set false alongside non_negative to lock the choice.
- method_overridestring
Force a specific forecasting method instead of auto-selecting via walk-forward CV. Valid names: naive, seasonal_naive, moving_average, drift, linear_trend, ar_p, holt_winters, holt_winters_multiplicative, holt_winters_damped, theta, gradient_boost, ensemble_top3. Empty = auto.
- schedule_frequencystring
How often the forecast re-runs. Manual schedules only run when called explicitly via run_forecast.
- schedule_day_of_weekinteger
- schedule_day_of_monthinteger
generate_report
Create a new generated report in your clariBI organization. Returns the report id you can poll via get_report, plus a download URL once status reaches "completed".
Parameters (3)
- titlestringrequired
Display title for the generated report.
- template_idstring
Optional registry ID of the marketplace template to render. If omitted, an empty report shell is created and you can attach a template later from the web app.
- output_formatstring
Output format. Must match one of ``GeneratedReport.OUTPUT_FORMATS``.
get_analysis_status
Check the status of a previously-dispatched run_analysis job. Returns the analysis result if completed.
Parameters (1)
- job_idstringrequired
job_id returned by a prior run_analysis call.
get_billing_status
Get the organization's billing status — tier, renewal date, and upgrade options.
No parameters.
get_dashboard
Fetch one dashboard by ID. Includes widget definitions, the most recent refresh data, and the web URL.
Parameters (1)
- dashboard_idstringrequired
UUID of the dashboard to fetch.
get_data_source_schema
Fetch the column schema for a data source. Useful before asking run_analysis about specific columns. The schema is derived from the preprocessing metadata clariBI extracted when the source was last synced. Poll this after upload_data_source / ingest_url_data_source until the returned status flips to "active" — that means preprocessing has finished and run_analysis will see the data.
Parameters (1)
- data_source_idstringrequired
UUID of the data source to fetch the schema for.
get_forecast
Fetch one forecast configuration by ID.
Parameters (1)
- forecast_idstringrequired
UUID of the forecast to fetch.
get_forecast_run
Fetch one run of a forecast by ID, or pass run_id="latest" for the most recent run. Returns the full forecast envelope: target series + 30-day projection, correlated drivers (with lag and bootstrap stability), anomalies, structural changes, and credit accounting.
Parameters (2)
- forecast_idstringrequired
- run_idstringrequired
UUID of the run. Pass 'latest' to fetch the most recent run for the forecast.
get_forecast_trust
Returns per-past-run accuracy for a forecast. Each row compares a prior run's projection against the actuals that have materialized since. Use this to see whether your forecasts have been getting MORE or LESS accurate over time, or to spot when a backtest sMAPE was systematically optimistic vs. realised performance.
Parameters (1)
- forecast_idstringrequired
get_report
Fetch one generated report by ID.
Parameters (1)
- report_idstringrequired
UUID of the report to fetch.
get_usage
Get the organization's current AI credit usage, data source count, user count, and rate-limit headroom.
No parameters.
ingest_url_data_source
Create a new data source by fetching a public URL on the server side. Handles CSV, TSV, JSON, Excel, TXT, and PDF. Private networks (RFC 1918, loopback, cloud metadata) are blocked. Returns the data_source_id once preprocessing has started. Use this for files larger than the 25 MB inline upload cap.
Parameters (5)
- namestringrequired
Display name for the new data source.
- urlstringrequired
Public http(s) URL of the file to ingest. The server fetches it once at call time; the URL is not re-fetched on subsequent analyses. Private networks (RFC 1918, loopback, link-local, cloud metadata) are blocked.
- formatstring
Optional format hint. If omitted, the server infers it from the Content-Type header and URL extension.
- descriptionstring
Optional human note stored on the data source.
- wait_secondsinteger
Seconds to block waiting for preprocessing before returning. 0 returns immediately.
list_dashboards
List dashboards in your clariBI organization. Returns id, name, status, last refresh, and a URL you can open in a browser.
Parameters (3)
- limitinteger
Page size (1–100).
- offsetinteger
Row offset for pagination.
- searchstring
Optional substring match against dashboard name.
list_data_sources
List the data sources connected to your clariBI organization. Returns id, name, source_type, status, last sync time, and the number of rows (when known).
Parameters (3)
- limitinteger
Page size (1-100).
- offsetinteger
Row offset for pagination.
- source_typestring
Filter by source_type (csv, postgresql, google_ads, meta_ads, jira, mcp, …).
list_forecasts
List metric forecasts in your clariBI organization. Each row covers one metric: its source binding, horizon, schedule, and the latest run status. Use get_forecast_run to fetch the full forecast result.
Parameters (3)
- limitinteger
Page size (1-100).
- offsetinteger
Row offset for pagination.
- is_activeboolean
Filter by active forecasts. Omit to include both active and paused.
list_reports
List generated reports in your clariBI organization. Returns id, title, status, output format, and download URL.
Parameters (3)
- limitinteger
Page size (1-100).
- offsetinteger
Row offset for pagination.
- statusstring
Filter by status (pending, generating, completed, failed, cancelled).
regenerate_forecast_narrative
Re-run ONLY the AI narration step against an existing completed forecast run. Costs 1-2 AI credits (no engine work). Returns the new narration; the old one is overwritten in the run record. Refuses when the run is not yet complete or when narration_enabled=false on the forecast.
Parameters (2)
- forecast_idstringrequired
- run_idstringrequired
UUID of a COMPLETED run. Use get_forecast_run with run_id='latest' first if you want the most recent.
register_account
Begin clariBI account signup. Validates the email + organization name, emails a 6-digit verification code, and returns a pending_id. Call verify_email(pending_id, code) within 10 minutes to finish signup and receive an API key.
Parameters (5)
- emailstringrequired
Work email for the new account.
- organization_namestringrequired
Display name for the organization workspace.
- first_namestring
User's first name (optional).
- last_namestring
User's last name (optional).
- accept_termsbooleanrequired
Must be true. By passing true the user agrees to https://claribi.com/terms and https://claribi.com/privacy.
request_oauth_integration_url
Initiate an OAuth handoff to a vendor integration (Google Ads, GA4, Search Console, Sheets, Drive, BigQuery, Meta Ads, Jira, Confluence). Returns an authorization URL the user opens in a browser. After the user clicks Allow, the connection is created and you can poll check_integration_status(handoff_id) to find out when the data is ready.
Parameters (2)
- providerstringrequired
OAuth provider to authorize. Currently supports the native-OAuth catalog: Google (Ads, Analytics 4, Search Console, Sheets, Drive, BigQuery), Meta Ads, and Atlassian Jira / Confluence.
- integration_typestring
Per-provider sub-type. Google accepts google_ads, gsheets, ga4, gsc, gdrive, bigquery, gcs, gcp, basic. Meta accepts ads or basic. Jira and Confluence accept basic. Defaults to basic.
run_analysis
Run a natural-language analytics question against your connected data sources. Consumes AI credits. Returns either the completed analysis result inline OR a job_id you can poll with get_analysis_status. If list_data_sources returns an empty list, ingest data first with upload_data_source (inline base64), ingest_url_data_source (public URL), or request_oauth_integration_url (Google / Meta / Jira / Confluence).
Parameters (3)
- questionstringrequired
Natural language question to analyze. E.g. "What was revenue last quarter by region?".
- session_idstring
Optional existing conversation session UUID.
- wait_secondsinteger
How long (seconds) to wait for the job to finish before returning a job_id for polling. 0 = always return immediately.
run_forecast
Run a forecast now. Reserves AI credits up front, dispatches the backtest + projection + correlation pipeline, and returns either the completed result inline (wait_seconds > 0 and the run finishes in time) or a run_id you can poll with get_forecast_run.
Parameters (2)
- forecast_idstringrequired
- wait_secondsinteger
Seconds to wait for the run to finish before returning a poll handle. 0 = return immediately with the run_id.
upload_data_source
Create a new data source from an inline base64-encoded file (CSV, TSV, JSON, Excel, TXT, PDF). The file goes through the same validation and preprocessing as a web upload. Returns the data_source_id you can pass to run_analysis as soon as preprocessing completes (poll get_data_source_schema for readiness or pass wait_seconds to block here).
Parameters (5)
- namestringrequired
Display name for the new data source. Shown in the web app and in subsequent list_data_sources calls.
- formatstringrequired
File format. Drives MIME detection and the preprocessing route inside clariBI. csv covers comma-separated; tsv is tab-separated; xlsx is modern Excel; json must be a top-level array of objects or a single object.
- data_base64stringrequired
Base64-encoded file contents. Maximum 25 MB encoded (~18 MB raw). For larger payloads, host the file at a public URL and use ingest_url_data_source.
- descriptionstring
Optional human-readable description. Surfaces in the web app and in get_data_source_schema.
- wait_secondsinteger
How long (seconds) to wait for preprocessing to finish before returning. 0 returns immediately with status="preprocessing"; the caller polls get_data_source_schema or list_data_sources.
verify_email
Complete clariBI signup by submitting the verification code plus a password. Returns an OAuth access_token for immediate use AND a long-lived MCP API key for persistent configuration. The new organization lands on the Trial tier (50 AI credits, 14 days).
Parameters (3)
- pending_idstringrequired
The pending_id returned by register_account.
- codestringrequired
6-digit verification code from the email.
- passwordstringrequired
A password for the new account. Must be at least 8 characters and pass Django's standard validators.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://claribi.com/mcp/v1/"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.