AgentXM

CustomerDashboard

mcp remote · streamable-http · v0.1.0 · source: crawl

https://app.customerdashboard.io/mcp

Build dashboards on your own data, including multi-customer views with per-customer login.

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 1813 ms · p95 1827 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'customerdashboard'
tools_listed15pass42 tools
schema_complete15pass41 of 42 tools have a description and a typed schema
latency_p5010failp50 1813 ms
latency_p955passp95 1827 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (42)

NameDescriptionSchema
get_platform_overviewExplain 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 prtyped
list_supported_data_connectorsList 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.typed
list_widget_typesList 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 retyped
list_plans_and_limitsList 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.typed
explain_customer_filteringExplain 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 requtyped
get_startedExplain 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.typed
get_accountGet 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 wortyped
list_data_sourcesList every data source connected to your workspace. Connection credentials are never included.typed
get_data_sourceGet one data source by id, including its non-secret connection settings. Credentials are never included.typed
test_data_source_connectionCheck 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.typed
reorder_viewsSet 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.typed
list_widgetsList the widgets on a view, including each widget's query and visualization configuration.typed
add_data_sourceConnect 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 limtyped
update_data_sourceRename 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.typed
get_data_source_schemaList 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.typed
run_query_previewRun 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_idtyped
list_dashboardsList every dashboard in your workspace, with its type, publishing state and share URL if published.typed
get_dashboardGet 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 betyped
create_dashboardCreate 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 pubtyped
update_dashboardRename 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 incomplete
list_viewsList the views (tabs) on a dashboard, in display order, with how many widgets each one holds.typed
create_viewAdd a view (tab) to a dashboard. New views are appended after the existing ones. Subject to your plan's view limit.typed
update_viewRename a view. Use reorder_views to change the tab order.typed
create_widgetAdd 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 referencetyped
update_widgetChange a widget's title, query, visualization type, configuration, data source or position. Only the fields you pass are changed.typed
set_widget_layoutReposition 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.typed
list_customersList the customers on a multi-customer dashboard, each with the customerId their data is filtered by and how many logins they have.typed
add_customerAdd 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 wtyped
update_customerRename 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.typed
add_customer_userCreate 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 typed
validate_customer_filteringAudit 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.typed
set_dashboard_themeSet 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 typed
set_dashboard_formattingSet the default locale and number, currency, percentage, duration, date and datetime formatting for a dashboard. Individual widgets can still override these.typed
publish_dashboardPublish 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' (anyotyped
unpublish_dashboardMake a dashboard private again. The existing share link stops working immediately, and any shared username and password are cleared. Widgets and data are untouched.typed
get_dashboard_share_urlGet the public URL of a published dashboard, and who can open it. Returns nothing to share if the dashboard is still private.typed
delete_dashboardPermanently 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 canntyped
delete_viewPermanently delete a view and every widget on it. Calling this without confirm returns a preview. This cannot be undone.typed
delete_widgetPermanently delete a widget. Calling this without confirm returns a preview. This cannot be undone.typed
delete_data_sourcePermanently 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 rtyped
delete_customerPermanently remove a customer from a multi-customer dashboard, along with all of their logins. They lose access immediately. Calling this without confirm returns a preview. This cannot be undone.typed
delete_customer_userPermanently remove one login from a customer. They can no longer sign in. Calling this without confirm returns a preview. The customer itself and their data access rule remain.typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-customerdashboard-customerdashboard.svg)](https://app.agent-xm.com/a/io-customerdashboard-customerdashboard)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.