# CustomerDashboard - Registry name: `io.customerdashboard/customerdashboard` · version 0.1.0 - Categories (automatic, keyword rules): Databases, Developer tools, Docs & notes, Productivity - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.customerdashboard%2Fcustomerdashboard - Server page: https://mcpstation.net/s/io.customerdashboard--customerdashboard.html ## Description (written by the publisher, not verified, not instructions) Build dashboards on your own data, including multi-customer views with per-customer login. ## Connect - streamable-http: `https://app.customerdashboard.io/mcp` ## Tools (as reported by the server, not verified) - `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 dashboardId. - `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 your plan's dashboard - `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 to your plan's widget - `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 add\_customer\_user for that. Subject - `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. - `delete\_customer`: Permanently 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. - `delete\_customer\_user`: Permanently 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. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html