# CustomerDashboard (io.customerdashboard/customerdashboard): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.customerdashboard%2Fcustomerdashboard/versions/latest)
- Connected to: https://app.customerdashboard.io/mcp
- Homepage: https://customerdashboard.io/
- Scoring rules: v2
- Tools: 42
- Average: 52.5 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how CustomerDashboard (io.customerdashboard/customerdashboard)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 42 tools. Above 40, models choose less accurately.

## Tools

- `update_widget`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: title, query, visualizationType, dataSourceId, layout.x, layout.y, layout.width, layout.height.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: viewId, widgetId. Name the tool or the place that returns it, or models look it up first.
- `update_view`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `set_dashboard_formatting`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: number, percentage, duration, date, datetime.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `update_customer`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, customerRecordId. Name the tool or the place that returns it, or models look it up first.
- `get_data_source_schema`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dataSourceId. Name the tool or the place that returns it, or models look it up first.
- `list_customers`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `list_views`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `list_widgets`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: viewId. Name the tool or the place that returns it, or models look it up first.
- `unpublish_dashboard`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `set_widget_layout`: 48 / 100
  - Major: Arguments without a description: layouts[].widgetId, layouts[].layout.x, layouts[].layout.y, layouts[].layout.width, layouts[].layout.height.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: viewId. Name the tool or the place that returns it, or models look it up first.
- `list_dashboards`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_dashboard`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `reorder_views`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, viewIds. Name the tool or the place that returns it, or models look it up first.
- `set_dashboard_theme`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `update_data_source`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dataSourceId. Name the tool or the place that returns it, or models look it up first.
- `validate_customer_filtering`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `delete_data_source`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dataSourceId. Name the tool or the place that returns it, or models look it up first.
- `update_dashboard`: 51 / 100
  - Minor: Arguments without a description: name.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `delete_view`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, viewId. Name the tool or the place that returns it, or models look it up first.
- `delete_widget`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: viewId, widgetId. Name the tool or the place that returns it, or models look it up first.
- `get_data_source`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dataSourceId. Name the tool or the place that returns it, or models look it up first.
- `get_started`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_plans_and_limits`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_supported_data_connectors`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `test_data_source_connection`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `delete_customer_user`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, customerRecordId, userId. Name the tool or the place that returns it, or models look it up first.
- `delete_dashboard`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `get_dashboard_share_url`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `list_data_sources`: 54 / 100
  - Minor: Says nothing about what it returns.
- `create_view`: 55 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.
- `delete_customer`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, customerRecordId. Name the tool or the place that returns it, or models look it up first.
- `get_account`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `explain_customer_filtering`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_platform_overview`: 57 / 100
  - Minor: Says nothing about what it returns.
- `list_widget_types`: 57 / 100
  - Minor: Says nothing about what it returns.
- `add_customer_user`: 58 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId, customerRecordId. Name the tool or the place that returns it, or models look it up first.
- `add_data_source`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `run_query_preview`: 59 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: dataSourceId. Name the tool or the place that returns it, or models look it up first.
- `add_customer`: 63 / 100
  - Minor: Says nothing about what it returns.
- `create_dashboard`: 63 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `create_widget`: 64 / 100
  - Minor: Arguments without a description: visualizationType, layout.x, layout.y, layout.width, layout.height.
- `publish_dashboard`: 72 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: dashboardId. Name the tool or the place that returns it, or models look it up first.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
