CustomerDashboard
by app.customerdashboard.io in Other
Build dashboards on your own data, including multi-customer views with per-customer login.
https://app.customerdashboard.io/mcp- Tools
- 42
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 192 ms
- 256 ms slowest 5%
- Last check
- Passed
- 11 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"customerdashboard": {
"type": "http",
"url": "https://app.customerdashboard.io/mcp"
}
}
}42 tools
- get_platform_overview
Explain what CustomerDashboard.io is, how multi-customer dashboards work, and how workspaces, dashboards, views, widgets and customers fit together. Call this first when you are unfamiliar with the product. No sign-in required.
- list_supported_data_connectors
List every data source type CustomerDashboard can connect to, the settings each one needs, whether widgets can query it, and whether its schema can be introspected. No sign-in required.
- list_widget_types
List every visualization a widget can use, with the visualizationConfig keys each type requires and accepts. Call this before creating widgets so the configuration is correct first time. No sign-in required.
- list_plans_and_limits
List CustomerDashboard's subscription plans, their monthly price and the resource limits each one allows. Useful for explaining why a create operation was blocked. No sign-in required.
- explain_customer_filtering
Explain exactly how to write widget queries so each customer only sees their own rows on a multi-customer dashboard. Call this before writing any query for a `customer` type dashboard. No sign-in required.
- get_started
Explain how to sign up for the free trial and connect this MCP server to a CustomerDashboard account, plus the order of steps for building a first multi-customer dashboard. No sign-in required.
- get_account
Get the signed-in CustomerDashboard account: name, email, workspace, current plan, what the plan allows and how much of it is already used. Call this first in an authenticated session to learn the workspace you are working in.
- list_data_sources
List every data source connected to your workspace. Connection credentials are never included.
- get_data_source
Get one data source by id, including its non-secret connection settings. Credentials are never included.
- test_data_source_connection
Check whether a set of connection settings actually works, before saving them. Pass an existing dataSourceId to retest a saved connection, or a type and config to test new settings.
- add_data_source
Connect a new database or spreadsheet to your workspace. Test the settings with test_data_source_connection first: this tool saves them whether or not they work. Subject to your plan's data source limit.
- update_data_source
Rename a data source or replace its connection settings. The config you pass replaces the stored one entirely, so include every setting, not just the changed ones.
- get_data_source_schema
List the tables and columns available in a connected data source, so you can write correct widget queries. Supported for PostgreSQL, MySQL, SQL Server, Oracle, Aurora, Redshift and Google Sheets.
- run_query_preview
Run a query against a connected data source and return the first few rows, so you can confirm it works before putting it on a widget. Results are capped at 100 rows. If the query contains :customer_id you must also say which customer to preview as, using customerId or…
- list_dashboards
List every dashboard in your workspace, with its type, publishing state and share URL if published.
- get_dashboard
Get one dashboard in full: its settings, theme, publishing state, every view, and every widget on each view including the widget queries. This is the fastest way to understand an existing dashboard before changing it.
- create_dashboard
Create a dashboard. Use type 'customer' for a multi-customer dashboard where each of your customers signs in and sees only their own rows, or 'internal' for a normal dashboard you view yourself or publish as one shared view. A 'Default' view is created automatically. Subject to…
- update_dashboard
Rename a dashboard, set how long each view is shown when the dashboard auto-rotates on a screen, or set the test customer used to preview a customer dashboard. Use set_dashboard_theme for colours and publish_dashboard for sharing.
- list_views
List the views (tabs) on a dashboard, in display order, with how many widgets each one holds.
- create_view
Add a view (tab) to a dashboard. New views are appended after the existing ones. Subject to your plan's view limit.
- update_view
Rename a view. Use reorder_views to change the tab order.
- reorder_views
Set the tab order of a dashboard's views. Pass every view id in the order you want them shown. This is also the order they rotate in on a wall display.
- list_widgets
List the widgets on a view, including each widget's query and visualization configuration.
- create_widget
Add a chart, table or KPI to a view. Call list_widget_types for the visualizationConfig each type needs, and run_query_preview first to confirm the query returns the columns you are about to reference. On a multi-customer dashboard the query must filter on :customer_id. Subject…
- update_widget
Change a widget's title, query, visualization type, configuration, data source or position. Only the fields you pass are changed.
- set_widget_layout
Reposition several widgets on a view at once, on the 12-column grid. Use this to lay out a whole view rather than moving widgets one at a time.
- list_customers
List the customers on a multi-customer dashboard, each with the customerId their data is filtered by and how many logins they have.
- add_customer
Add one of your customers to a multi-customer dashboard. The customerId must exactly match the value that identifies them in your own database, because it is what gets bound to :customer_id in every widget query. Adding a customer does not give anyone access; use…
- update_customer
Rename a customer or correct the customerId their data is filtered by. Changing customerId immediately changes which rows they see, so confirm the new value with the user first.
- add_customer_user
Create a login for one of your customers so they can sign in to the published dashboard and see their own data. If you do not supply a password a strong one is generated and returned once. Subject to your plan's users-per-customer limit.
- validate_customer_filtering
Audit a multi-customer dashboard and report any widget whose query would show the same rows to every customer. Run this before publishing a customer dashboard, and any time its queries change.
- set_dashboard_theme
Set the colour theme of a dashboard: page and surface backgrounds, text colours, brand colours and the chart series palette. All colours are hex values. Pass every field, since the theme is stored as one object.
- set_dashboard_formatting
Set the default locale and number, currency, percentage, duration, date and datetime formatting for a dashboard. Individual widgets can still override these.
- publish_dashboard
Publish a dashboard and return its share URL. A customer dashboard is always login-gated, so its customers sign in with the logins you created. An internal dashboard can be published as 'public' (anyone with the link) or 'protected' (one shared username and password).
- unpublish_dashboard
Make a dashboard private again. The existing share link stops working immediately, and any shared username and password are cleared. Widgets and data are untouched.
- get_dashboard_share_url
Get the public URL of a published dashboard, and who can open it. Returns nothing to share if the dashboard is still private.
- delete_dashboard
Permanently delete a dashboard and everything on it. Calling this without confirm returns a preview of what would be removed; deleting for real needs confirm plus the dashboard's exact name. This cannot be undone.
- delete_view
Permanently delete a view and every widget on it. Calling this without confirm returns a preview. This cannot be undone.
- delete_widget
Permanently delete a widget. Calling this without confirm returns a preview. This cannot be undone.
- delete_data_source
Permanently delete a data source connection. This is refused while any widget still uses it. Calling this without confirm returns a preview. Your actual database is untouched; only the connection is removed.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 11 h ago | Passed | 200 | 177 ms |
| 21 h ago | Passed | 200 | 192 ms |
| 32 h ago | Passed | 200 | 202 ms |
| 42 h ago | Passed | 200 | 167 ms |
| 2 days ago | Passed | 200 | 171 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 178 ms |
| 3 days ago | Passed | 200 | 114 ms |
| 3 days ago | Passed | 200 | 256 ms |
| 4 days ago | Passed | 200 | 192 ms |
| 4 days ago | Passed | 200 | 137 ms |
| 5 days ago | Passed | 200 | 192 ms |
| 5 days ago | Passed | 200 | 196 ms |
| 5 days ago | Passed | 200 | 186 ms |
| 6 days ago | Passed | 200 | 196 ms |
| 6 days ago | Passed | 200 | 186 ms |