Skip to main content
Glama

MCP Server Chart

A Model Context Protocol server for generating charts using AntV. We can use this mcp server for chart generation and data analysis.

build npm Version npm License codecov Listed on Skillselion Visitors

This is a TypeScript-based MCP server that provides chart generation capabilities. It allows you to create various types of charts through MCP tools. You can also use it in Dify.

📋 Table of Contents

Related MCP server: Quickchart-MCP-Server

✨ Features

Now 26+ charts supported.

  1. generate_area_chart: Generate an area chart, used to display the trend of data under a continuous independent variable, allowing observation of overall data trends.

  2. generate_bar_chart: Generate a bar chart, used to compare values across different categories, suitable for horizontal comparisons.

  3. generate_boxplot_chart: Generate a boxplot, used to display the distribution of data, including the median, quartiles, and outliers.

  4. generate_column_chart: Generate a column chart, used to compare values across different categories, suitable for vertical comparisons.

  5. generate_district_map - Generate a district-map, used to show administrative divisions and data distribution.

  6. generate_dual_axes_chart: Generate a dual-axes chart, used to display the relationship between two variables with different units or ranges.

  7. generate_fishbone_diagram: Generate a fishbone diagram, also known as an Ishikawa diagram, used to identify and display the root causes of a problem.

  8. generate_flow_diagram: Generate a flowchart, used to display the steps and sequence of a process.

  9. generate_funnel_chart: Generate a funnel chart, used to display data loss at different stages.

  10. generate_histogram_chart: Generate a histogram, used to display the distribution of data by dividing it into intervals and counting the number of data points in each interval.

  11. generate_line_chart: Generate a line chart, used to display the trend of data over time or another continuous variable.

  12. generate_liquid_chart: Generate a liquid chart, used to display the proportion of data, visually representing percentages in the form of water-filled spheres.

  13. generate_mind_map: Generate a mind-map, used to display thought processes and hierarchical information.

  14. generate_network_graph: Generate a network graph, used to display relationships and connections between nodes.

  15. generate_organization_chart: Generate an organizational chart, used to display the structure of an organization and personnel relationships.

  16. generate_path_map - Generate a path-map, used to display route planning results for POIs.

  17. generate_pie_chart: Generate a pie chart, used to display the proportion of data, dividing it into parts represented by sectors showing the percentage of each part.

  18. generate_pin_map - Generate a pin-map, used to show the distribution of POIs.

  19. generate_radar_chart: Generate a radar chart, used to display multi-dimensional data comprehensively, showing multiple dimensions in a radar-like format.

  20. generate_sankey_chart: Generate a sankey chart, used to display data flow and volume, representing the movement of data between different nodes in a Sankey-style format.

  21. generate_scatter_chart: Generate a scatter plot, used to display the relationship between two variables, showing data points as scattered dots on a coordinate system.

  22. generate_treemap_chart: Generate a treemap, used to display hierarchical data, showing data in rectangular forms where the size of rectangles represents the value of the data.

  23. generate_venn_chart: Generate a venn diagram, used to display relationships between sets, including intersections, unions, and differences.

  24. generate_violin_chart: Generate a violin plot, used to display the distribution of data, combining features of boxplots and density plots to provide a more detailed view of the data distribution.

  25. generate_word_cloud_chart: Generate a word-cloud, used to display the frequency of words in textual data, with font sizes indicating the frequency of each word.

  26. generate_spreadsheet: Generate a spreadsheet or pivot table for displaying tabular data. When 'rows' or 'values' fields are provided, it renders as a pivot table (cross-tabulation); otherwise, it renders as a regular table.

NOTE

The above geographic visualization chart generation tool usesAMap service and currently only supports map generation within China.

🤖 Usage

To use with Desktop APP, such as Claude, VSCode, Cline, Cherry Studio, Cursor, and so on, add the MCP server config below. On Mac system:

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": ["-y", "@antv/mcp-server-chart"]
    }
  }
}

On Window system:

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@antv/mcp-server-chart"]
    }
  }
}

Also, you can use it on aliyun, modelscope, glama.ai, smithery.ai or others with HTTP, SSE Protocol.

🎨 Skill Usage

If you are using an AI IDE with skill support (like Claude Code), you can use the chart-visualization skill to automatically select the best chart type and generate visualizations.

You can add the skill from https://github.com/antvis/chart-visualization-skills using:

npx skills add antvis/chart-visualization-skills

Then provide your data or describe the visualization you want. The skill will intelligently choose from 25+ chart types and generate the chart for you.

🚰 Run with SSE or Streamable transport

Run directly

Install the package globally.

npm install -g @antv/mcp-server-chart

Run the server with your preferred transport option:

# For SSE transport (default endpoint: /sse)
mcp-server-chart --transport sse

# For Streamable transport with custom endpoint
mcp-server-chart --transport streamable

Then you can access the server at:

  • SSE transport: http://localhost:1122/sse

  • Streamable transport: http://localhost:1122/mcp

Docker deploy

Enter the docker directory.

cd docker

Deploy using docker-compose.

docker compose up -d

Then you can access the server at:

  • SSE transport: http://localhost:1123/sse

  • Streamable transport: http://localhost:1122/mcp

🎮 CLI Options

You can also use the following CLI options when running the MCP server. Command options by run cli with -H.

MCP Server Chart CLI

Options:
  --transport, -t  Specify the transport protocol: "stdio", "sse", or "streamable" (default: "stdio")
  --host, -h       Specify the host for SSE or streamable transport (default: localhost)
  --port, -p       Specify the port for SSE or streamable transport (default: 1122)
  --endpoint, -e   Specify the endpoint for the transport:
                   - For SSE: default is "/sse"
                   - For streamable: default is "/mcp"
  --help, -H       Show this help message

⚙️ Environment Variables

Variable

Description

Default

Example

VIS_REQUEST_SERVER

Custom chart generation service URL for private deployment

https://antv-studio.alipay.com/api/gpt-vis

https://your-server.com/api/chart

SERVICE_ID

Service identifier for chart generation records

-

your-service-id-123

DISABLED_TOOLS

Comma-separated list of tool names to disable

-

generate_fishbone_diagram,generate_mind_map

📠 Private Deployment

MCP Server Chart provides a free chart generation service by default. For users with a need for private deployment, they can try using VIS_REQUEST_SERVER to customize their own chart generation service.

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": ["-y", "@antv/mcp-server-chart"],
      "env": {
        "VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>"
      }
    }
  }
}

You can use AntV's project GPT-Vis-SSR to deploy an HTTP service in a private environment, and then pass the URL address through env VIS_REQUEST_SERVER.

  • Method: POST

  • Parameter: Which will be passed to GPT-Vis-SSR for rendering. Such as, { "type": "line", "data": [{ "time": "2025-05", "value": 512 }, { "time": "2025-06", "value": 1024 }] }.

  • Return: The return object of HTTP service.

    • success: boolean Whether generate chart image successfully.

    • resultObj: string The chart image url.

    • errorMessage: string When success = false, return the error message.

NOTE

The private deployment solution currently does not support geographic visualization chart generation include 3 tools:geographic-district-map, geographic-path-map, geographic-pin-map.

🗺️ Generate Records

By default, users are required to save the results themselves, but we also provide a service for viewing the chart generation records, which requires users to generate a service identifier for themselves and configure it.

Use Alipay to scan and open the mini program to generate a personal service identifier (click the "My" menu below, enter the "My Services" page, click the "Generate" button, and click the "Copy" button after success):

Next, you need to add the SERVICE_ID environment variable to the MCP server configuration. For example, the configuration for Mac is as follows (for Windows systems, just add the env variable):

{
  "mcpServers": {
    "AntV Map": {
      "command": "npx",
      "args": ["-y", "@antv/mcp-server-chart"],
      "env": {
        "SERVICE_ID": "***********************************"
      }
    }
  }
}

After updating the MCP Server configuration, you need to restart your AI client application and check again whether you have started and connected to the MCP Server successfully. Then you can try to generate the map again. After the generation is successful, you can go to the "My Map" page of the mini program to view your map generation records.

🎛️ Tool Filtering

You can disable specific chart generation tools using the DISABLED_TOOLS environment variable. This is useful when certain tools have compatibility issues with your MCP client or when you want to limit the available functionality.

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": ["-y", "@antv/mcp-server-chart"],
      "env": {
        "DISABLED_TOOLS": "generate_fishbone_diagram,generate_mind_map"
      }
    }
  }
}

Available tool names for filtering See the ✨ Features.

🔨 Development

Install dependencies:

npm install

Build the server:

npm run build

Start the MCP server:

npm run start

Start the MCP server with SSE transport:

node build/index.js -t sse

Start the MCP server with Streamable transport:

node build/index.js -t streamable

📄 License

MIT@AntV.

Available Tools

26 tools
generate_area_chartB
Read-only

Generate a area chart to show data trends under continuous independent variables and observe the overall data trend, such as, displacement = velocity (average or instantaneous) × time: s = v × t. If the x-axis is time (t) and the y-axis is velocity (v) at each moment, an area chart allows you to observe the trend of velocity over time and infer the distance traveled by the area's size.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for area chart, it should be an array of objects, each object contains a `time` field and a `value` field, such as, [{ time: '2015', value: 23 }, { time: '2016', value: 32 }], when stacking is needed for area, the data should contain a `group` field, such as, [{ time: '2015', value: 23, group: 'A' }, { time: '2015', value: 32, group: 'B' }].
stackNoWhether stacking is enabled. When enabled, area charts require a 'group' field in the data.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds context about interpreting area size for distance inference in the velocity-time example, which is useful behavioral insight beyond annotations. However, it doesn't mention output format (image, URL, etc.), performance characteristics, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise but could be more front-loaded. The physics example is helpful but extends the length. The first sentence states the purpose clearly, but the example takes significant space without adding critical information beyond the initial purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a chart generation tool with rich schema documentation (100% coverage) and read-only annotations, the description provides adequate context about when area charts are appropriate. However, with no output schema and many sibling visualization tools, it could better differentiate this specific chart type and clarify what gets returned (image data, URL, etc.).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all 9 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The velocity-time example illustrates data structure but doesn't provide additional parameter guidance beyond schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates an area chart to show data trends under continuous independent variables, with a specific physics example. It distinguishes from siblings by focusing on area charts for continuous data trends, but doesn't explicitly contrast with line charts or other trend visualization siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for continuous independent variables and observing overall data trends, with a velocity-time example. However, it doesn't provide explicit guidance on when to choose this over alternatives like line charts or other trend visualization tools among the many siblings, nor does it mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_bar_chartB
Read-only

Generate a horizontal bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for bar chart, such as, [{ category: '分类一', value: 10 }, { category: '分类二', value: 20 }], when grouping or stacking is needed for bar, the data should contain a `group` field, such as, when [{ category: '北京', value: 825, group: '油车' }, { category: '北京', value: 1000, group: '电车' }].
groupNoWhether grouping is enabled. When enabled, bar charts require a 'group' field in the data. When `group` is true, `stack` should be false.
stackNoWhether stacking is enabled. When enabled, bar charts require a 'group' field in the data. When `stack` is true, `group` should be false.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation that doesn't modify data. The description adds that it 'generates' a chart, which aligns with the read-only nature. However, it doesn't disclose important behavioral aspects like whether this creates a file, returns an image URL, generates HTML, or has any rate limits or authentication requirements. With annotations covering the safety profile, the description adds minimal behavioral context beyond what's already implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise at one sentence that directly states the tool's purpose. However, the phrasing 'such as, comparing categorical data and for horizontal comparisons' is somewhat redundant and awkwardly structured. The core information is front-loaded, but the sentence could be more polished and efficient in its expression.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, nested objects) and lack of output schema, the description is minimally adequate. It identifies the tool as a chart generator but doesn't explain what format the output takes (image, URL, HTML, etc.) or provide context about the visualization library or constraints. With rich schema documentation but no output information, the description meets basic requirements but leaves important contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description mentions 'data for numerical comparisons among different categories' which hints at the 'data' parameter's purpose, but doesn't add meaningful semantic context beyond what the schema already provides. With comprehensive schema documentation, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a horizontal bar chart to show data for numerical comparisons among different categories.' It specifies the chart type (horizontal bar chart) and its use case (numerical comparisons among categories). However, it doesn't explicitly distinguish this tool from its many sibling chart-generation tools beyond mentioning 'horizontal bar chart,' which leaves some ambiguity about when to choose this over other chart types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling chart tools available, there's no mention of when a horizontal bar chart is appropriate compared to column charts, line charts, pie charts, or other visualization types. The description only states what the tool does, not when it should be selected over other options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_boxplot_chartB
Read-only

Generate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for boxplot chart, such as, [{ category: '分类一', value: 10 }] or [{ category: '分类二', value: 20, group: '组别一' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds no behavioral context beyond what annotations already cover—it doesn't mention output format (e.g., image URL, base64), performance characteristics, or any side effects. However, it doesn't contradict the annotations, so it meets the baseline for tools with annotations but adds minimal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and a key use case. It avoids redundancy and gets straight to the point. However, it could be slightly more front-loaded by explicitly mentioning it's for statistical comparison, but it's already quite efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects) and lack of output schema, the description is minimally adequate. It states what the tool does but doesn't address output (e.g., chart format, error handling) or advanced usage scenarios. With annotations covering safety, it meets basic needs but leaves gaps for a generative tool with multiple configuration options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description adds no additional parameter semantics—it doesn't explain the structure of the 'data' array beyond what the schema already describes, nor does it provide examples of valid 'style' configurations. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a boxplot chart to show data for statistical summaries among different categories.' It specifies the verb ('Generate') and resource ('boxplot chart'), and provides a concrete example of its use case ('comparing the distribution of data points across categories'). However, it does not explicitly differentiate this tool from its many siblings (e.g., generate_histogram_chart, generate_violin_chart), which are also used for statistical visualization, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling tools on the server, including other statistical charts like histogram, violin, and scatter charts, the agent receives no help in selecting the appropriate visualization tool for a given scenario. The description only states what the tool does, not when it should be preferred over other options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_column_chartC
Read-only

Generate a column chart, which are best for comparing categorical data, such as, when values are close, column charts are preferable because our eyes are better at judging height than other visual elements like area or angles.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for column chart, such as, [{ category: 'Category A', value: 10 }, { category: 'Category B', value: 20 }], when grouping or stacking is needed for column, the data should contain a 'group' field, such as, [{ category: 'Beijing', value: 825, group: 'Gas Car' }, { category: 'Beijing', value: 1000, group: 'Electric Car' }].
groupNoWhether grouping is enabled. When enabled, column charts require a 'group' field in the data. When `group` is true, `stack` should be false.
stackNoWhether stacking is enabled. When enabled, column charts require a 'group' field in the data. When `stack` is true, `group` should be false.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe operation. The description doesn't contradict this. It adds some behavioral context about visual perception ('our eyes are better at judging height'), but doesn't disclose important operational details like what format the output takes (image URL, base64, chart object), performance characteristics, or any limitations. With annotations covering safety, the description adds minimal but not misleading context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single run-on sentence that mixes purpose statements with visual perception theory. It's not well-structured or front-loaded with essential information. While not excessively long, it's not efficiently organized, with the visual perception explanation not clearly earning its place for tool selection purposes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex visualization tool with 10 parameters, nested objects, and no output schema, the description is inadequate. It doesn't explain what the tool returns (critical for a chart generation tool), doesn't provide examples of typical use cases, and doesn't address common pitfalls. With rich schema but no output schema, the description should compensate more than it does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description provides no additional parameter information beyond what's in the schema. It doesn't explain the relationship between parameters or provide usage examples. Baseline 3 is appropriate when the schema does all the parameter documentation work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Generate a column chart' which is tautological with the tool name. It provides some context about when column charts are best used (comparing categorical data, values close), but doesn't clearly articulate what the tool actually produces (e.g., an image, chart object, visualization). The purpose is vague beyond restating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions that column charts are 'best for comparing categorical data' and 'when values are close', which provides some general chart selection guidance. However, it doesn't explicitly state when to use this tool versus its many siblings (e.g., bar_chart, line_chart, pie_chart) or provide clear alternatives. No explicit when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_district_mapA
Read-only

Generates regional distribution maps, which are usually used to show the administrative divisions and coverage of a dataset. It is not suitable for showing the distribution of specific locations, such as urban administrative divisions, GDP distribution maps of provinces and cities across the country, etc. This tool is limited to generating data maps within China.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
dataYesAdministrative division data, lower-level administrative divisions are optional. There are usually two scenarios: one is to simply display the regional composition, only `fillColor` needs to be configured, and all administrative divisions are consistent, representing that all blocks are connected as one; the other is the regional data distribution scenario, first determine the `dataType`, `dataValueUnit` and `dataLabel` configurations, `dataValue` should be a meaningful value and consistent with the meaning of dataType, and then determine the style configuration. The `fillColor` configuration represents the default fill color for areas without data. Lower-level administrative divisions do not need `fillColor` configuration, and their fill colors are determined by the `colors` configuration (If `dataType` is "number", only one base color (warm color) is needed in the list to calculate the continuous data mapping color band; if `dataType` is "enum", the number of color values in the list is equal to the number of enumeration values (contrast colors)). If `subdistricts` has a value, `showAllSubdistricts` must be set to true. For example, {"title": "陕西省地级市分布图", "data": {"name": "陕西省", "showAllSubdistricts": true, "dataLabel": "城市", "dataType": "enum", "colors": ["#4ECDC4", "#A5D8FF"], "subdistricts": [{"name": "西安市", "dataValue": "省会"}, {"name": "宝鸡市", "dataValue": "地级市"}, {"name": "咸阳市", "dataValue": "地级市"}, {"name": "铜川市", "dataValue": "地级市"}, {"name": "渭南市", "dataValue": "地级市"}, {"name": "延安市", "dataValue": "地级市"}, {"name": "榆林市", "dataValue": "地级市"}, {"name": "汉中市", "dataValue": "地级市"}, {"name": "安康市", "dataValue": "地级市"}, {"name": "商洛市", "dataValue": "地级市"}]}, "width": 1000, "height": 1000}.
widthNoSet the width of map, default is 1600.
heightNoSet the height of map, default is 1000.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, indicating no destructive operations, which the description doesn't contradict. The description adds context about geographic limitations (China-only) and data suitability constraints, but doesn't disclose behavioral traits like rate limits, authentication needs, or output format details beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and limitations in three sentences, with no wasted words. Each sentence adds value: the first states what it does, the second clarifies scope, and the third sets geographic bounds. It could be slightly more structured but is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex input schema with nested objects and no output schema, the description is adequate but minimal. It covers purpose and constraints but doesn't explain the rich parameter interactions or expected output format, leaving gaps for a tool with such detailed schema requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 without compensating value. It implies geographic scope but doesn't elaborate on parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates 'regional distribution maps' for 'administrative divisions and coverage of a dataset' within China, which is a specific verb+resource. However, it doesn't explicitly differentiate from all sibling tools like 'generate_path_map' or 'generate_pin_map' that might also create maps, though it does distinguish from non-map siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use ('show administrative divisions and coverage of a dataset within China') and when not to use ('not suitable for showing distribution of specific locations... urban administrative divisions, GDP distribution maps...'), with implicit alternatives being other map tools for different data types. It lacks explicit naming of alternatives like 'generate_pin_map' for point locations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_dual_axes_chartB
Read-only

Generate a dual axes chart which is a combination chart that integrates two different chart types, typically combining a bar chart with a line chart to display both the trend and comparison of data, such as, the trend of sales and profit over time.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesYesCategories for dual axes chart, such as, ['2015', '2016', '2017'].
seriesYesSeries for dual axes chart, such as, [{ type: 'column', data: [91.9, 99.1, 101.6, 114.4, 121], axisYTitle: '销售额' }, { type: 'line', data: [0.055, 0.06, 0.062, 0.07, 0.075], 'axisYTitle': '利润率' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation (generating a chart without side effects). The description adds context by explaining what a dual axes chart is and its typical use case (combining bar and line charts for trend and comparison), which helps the agent understand the output behavior. However, it doesn't disclose any additional behavioral traits like performance characteristics, rate limits, or specific error conditions beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently explains the tool's purpose and provides a concrete example. It's appropriately sized for a chart generation tool, with no redundant information. However, it could be slightly more front-loaded by explicitly stating it's for creating visualizations, though the current structure is still clear and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters with nested objects) and the absence of an output schema, the description is minimally adequate. It explains what the tool generates but doesn't detail the output format (e.g., image URL, base64 data, chart object). With annotations covering safety (readOnlyHint=true) and a rich input schema, the description meets basic requirements but leaves gaps about the result format, which could be important for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain parameter relationships or provide additional examples). Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to given the comprehensive schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a dual axes chart which is a combination chart that integrates two different chart types, typically combining a bar chart with a line chart to display both the trend and comparison of data.' It specifies the verb ('generate') and resource ('dual axes chart') with a concrete example ('sales and profit over time'). However, it doesn't explicitly differentiate from sibling tools like 'generate_column_chart' or 'generate_line_chart' beyond mentioning the combination aspect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions the chart type ('dual axes chart') and gives an example use case ('trend of sales and profit over time'), but doesn't specify when to choose this over other chart types like 'generate_area_chart' or 'generate_bar_chart', nor does it mention any prerequisites or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_fishbone_diagramA
Read-only

Generate a fishbone diagram chart to uses a fish skeleton, like structure to display the causes or effects of a core problem, with the problem as the fish head and the causes/effects as the fish bones. It suits problems that can be split into multiple related factors.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for fishbone diagram chart which is a hierarchical structure, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name: 'subtopic 1-1' }] }] }, and the maximum depth is 3.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating this is a safe read operation. The description adds useful context about the tool's output (a visual chart/diagram) and the conceptual framework of fishbone analysis, which goes beyond the annotations. However, it doesn't describe behavioral aspects like performance characteristics, potential limitations, or what exactly gets generated (e.g., image file, HTML, etc.).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two well-structured sentences. The first sentence explains what the tool does and its visual structure, while the second provides usage context. Every sentence earns its place by adding value. It could be slightly more front-loaded with the core purpose, but overall it's efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (hierarchical data structure, multiple styling options) and the absence of an output schema, the description provides good context about what gets generated and when to use it. The annotations cover the safety aspect (readOnlyHint=true). The main gap is the lack of information about the output format (e.g., image type, embedding options), which would be helpful since there's no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions the hierarchical structure concept but doesn't provide additional syntax or format details. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a fishbone diagram chart' with specific details about its structure (fish skeleton, problem as head, causes/effects as bones) and suitable use cases (problems with multiple related factors). It effectively distinguishes this tool from sibling chart-generation tools by focusing on the unique fishbone diagram format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: 'It suits problems that can be split into multiple related factors.' This gives practical guidance about appropriate scenarios. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_flow_diagramB
Read-only

Generate a flow diagram chart to show the steps and decision points of a process or system, such as, scenarios requiring linear process presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for flow diagram chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating this is a safe read operation. The description adds minimal behavioral context beyond this—it doesn't mention output format (e.g., image file, URL), performance characteristics, or any side effects. However, it doesn't contradict the annotations, and the example in the schema description provides some practical guidance on data structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. The second clause ('such as, scenarios requiring linear process presentation') adds useful context without redundancy. However, it could be slightly more structured by explicitly mentioning the input data format or output type.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (5 parameters, nested objects) and rich schema coverage, the description is adequate but minimal. It lacks details on output (no output schema provided), doesn't explain how the flow diagram is rendered or delivered, and misses sibling differentiation. With annotations covering safety, it's complete enough for basic use but leaves gaps for advanced scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description doesn't add any parameter-specific semantics beyond what's in the schema—it doesn't explain the 'data' structure's purpose or how 'nodes' and 'edges' relate to flow diagrams. With high schema coverage, the baseline is 3, and the description doesn't enhance this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a flow diagram chart to show the steps and decision points of a process or system.' It specifies the verb ('generate'), resource ('flow diagram chart'), and target ('process or system'). However, it doesn't explicitly differentiate from sibling tools like 'generate_network_graph' or 'generate_mind_map' which might also visualize processes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some implied usage context with 'scenarios requiring linear process presentation,' suggesting this tool is for linear workflows. However, it doesn't explicitly state when to use this versus alternatives like 'generate_sankey_chart' for flows or 'generate_organization_chart' for hierarchical processes. No explicit exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_funnel_chartA
Read-only

Generate a funnel chart to visualize the progressive reduction of data as it passes through stages, such as, the conversion rates of users from visiting a website to completing a purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for funnel chart, such as, [{ category: '浏览网站', value: 50000 }, { category: '放入购物车', value: 35000 }, { category: '生成订单', value: 25000 }, { category: '支付订单', value: 15000 }, { category: '完成交易', value: 8000 }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds value by explaining the chart's purpose (visualizing progressive data reduction) and giving a real-world example, which helps the agent understand the tool's behavioral context beyond just being read-only. However, it does not disclose additional traits like rate limits, authentication needs, or output format details, which would be useful given the lack of an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and includes a practical example. It is front-loaded with the core functionality and avoids unnecessary details, making it easy for an agent to parse quickly. Every part of the sentence earns its place by clarifying the tool's use case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, nested objects) and rich schema coverage (100%), the description adequately explains what the tool does with a clear example. However, there is no output schema, and the description does not specify the return type (e.g., image URL, chart object), leaving a gap in understanding the tool's output. With annotations covering safety but no output details, the description is moderately complete but could be improved by addressing the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly (e.g., data structure, style options, dimensions). The description adds minimal parameter semantics by implying the 'data' parameter should represent sequential stages with reducing values, as in the conversion rate example. This provides some contextual meaning beyond the schema but does not significantly enhance parameter understanding, aligning with the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a funnel chart to visualize the progressive reduction of data as it passes through stages.' It specifies the verb ('generate'), resource ('funnel chart'), and provides a concrete example ('conversion rates of users from visiting a website to completing a purchase'), which distinguishes it from sibling tools like generate_bar_chart or generate_pie_chart that serve different visualization purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'progressive reduction of data as it passes through stages' and giving an example of conversion rates, suggesting this tool is for visualizing sequential data reduction. However, it does not explicitly state when to use this tool versus alternatives (e.g., when to choose a funnel chart over a waterfall chart or other siblings), nor does it provide exclusions or prerequisites, leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_histogram_chartB
Read-only

Generate a histogram chart to show the frequency of data points within a certain range. It can observe data distribution, such as, normal and skewed distributions, and identify data concentration areas and extreme points.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for histogram chart, it should be an array of numbers, such as, [78, 88, 60, 100, 95].
binNumberNoNumber of intervals to define the number of intervals in a histogram, when not specified, a built-in value will be used.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation that doesn't modify data. The description adds some behavioral context by mentioning what the chart can 'observe' (e.g., normal/skewed distributions) and 'identify' (concentration areas, extreme points), which helps the agent understand the analytical value. However, it doesn't disclose other behavioral traits like whether it generates an image file, returns a URL, or has any rate limits or authentication needs beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise at two sentences, with the first sentence stating the core purpose and the second elaborating on analytical benefits. There's no wasted text or redundancy. However, it could be slightly more front-loaded by immediately distinguishing from siblings, which would improve structure further.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (9 parameters, nested objects) and rich schema coverage (100%), the description is adequate but has gaps. It explains the purpose and analytical value but doesn't cover output format (no output schema exists), performance considerations, or sibling differentiation. With annotations covering safety, the description provides basic context but could be more complete for a chart generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly with descriptions, defaults, and enums. The description adds no parameter-specific information beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description, which applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a histogram chart to show the frequency of data points within a certain range.' It specifies the verb ('generate') and resource ('histogram chart'), and mentions what the chart visualizes (frequency distribution). However, it doesn't explicitly differentiate from sibling tools like 'generate_bar_chart' or 'generate_column_chart' that might also show frequency distributions, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions that histograms can 'observe data distribution' and 'identify data concentration areas and extreme points,' but doesn't specify when a histogram is preferable over other chart types like box plots or violin charts for similar purposes. There are no explicit when/when-not statements or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_line_chartB
Read-only

Generate a line chart to show trends over time, such as, the ratio of Apple computer sales to Apple's profits changed from 2000 to 2016.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for line chart, it should be an array of objects, each object contains a `time` field and a `value` field, such as, [{ time: '2015', value: 23 }, { time: '2016', value: 32 }], when the data is grouped by time, the `group` field should be used to specify the group, such as, [{ time: '2015', value: 23, group: 'A' }, { time: '2015', value: 32, group: 'B' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds context by specifying the chart type (line chart) and its purpose (showing trends over time), which is useful beyond annotations. However, it doesn't disclose behavioral traits like output format (e.g., image URL, base64), error handling, or performance considerations. With annotations covering safety, the description adds some value but lacks rich behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the purpose in the first sentence. The example adds clarity without being verbose. However, it could be slightly more structured by explicitly mentioning key parameters or usage scenarios, but overall, it's efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects) and lack of output schema, the description is moderately complete. It covers the core purpose and provides an example, but doesn't explain the output (e.g., what is returned, such as an image or chart object), which is a gap since there's no output schema. With good schema coverage and annotations, it's adequate but could better address missing elements like result format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 8 parameters. The description doesn't add any parameter-specific semantics beyond what's in the schema; it only gives a high-level example without explaining individual parameters. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a line chart to show trends over time.' It provides a specific verb ('Generate') and resource ('line chart'), with an example illustrating its use for time-series data. However, it doesn't explicitly differentiate from sibling tools like 'generate_area_chart' or 'generate_scatter_chart', which might also show trends over time, leaving some ambiguity about when to choose a line chart specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance on usage. It includes an example ('such as, the ratio of Apple computer sales to Apple's profits changed from 2000 to 2016'), which implies use for time-based trends, but lacks explicit when-to-use criteria, prerequisites, or alternatives. No mention is made of when to choose this over sibling tools like 'generate_area_chart' or 'generate_bar_chart', leaving the agent to infer based on the example alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_liquid_chartA
Read-only

Generate a liquid chart to visualize a single value as a percentage, such as, the current occupancy rate of a reservoir or the completion percentage of a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
percentYesThe percentage value to display in the liquid chart, should be a number between 0 and 1, where 1 represents 100%. For example, 0.75 represents 75%.
shapeNoThe shape of the liquid chart, can be 'circle', 'rect', 'pin', or 'triangle'. Default is 'circle'.circle
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating this is a safe read operation that generates a chart without modifying data. The description adds value by specifying the output is a visualization (liquid chart) and providing example use cases, but it does not disclose additional behavioral traits like performance considerations, error handling, or format of the generated chart (e.g., image file, URL).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and usage with zero waste. It is front-loaded with the core function and includes illustrative examples, making it easy to understand quickly without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, nested objects) and rich schema coverage (100%), the description is complete enough for its purpose. It clarifies the tool's niche among siblings and provides usage context. However, without an output schema, it does not explain the return value (e.g., chart image or data), leaving a minor gap in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 7 parameters, including their types, defaults, and constraints. The description adds minimal semantic context by mentioning 'percentage' and examples like occupancy rate, which aligns with the 'percent' parameter, but does not provide additional meaning beyond what the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('generate') and resource ('liquid chart'), and explicitly distinguishes it from sibling tools by specifying it visualizes 'a single value as a percentage' (e.g., occupancy rate, completion percentage), unlike other chart types like bar, line, or pie charts that typically show multiple data points or categories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool—for visualizing a single percentage value—with examples like occupancy rate or project completion. However, it does not explicitly state when not to use it or name alternatives among the sibling tools, such as using a pie chart for parts of a whole or a bar chart for comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_mind_mapB
Read-only

Generate a mind map chart to organizes and presents information in a hierarchical structure with branches radiating from a central topic, such as, a diagram showing the relationship between a main topic and its subtopics.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for mind map chart which is a hierarchical structure, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name:'subtopic 1-1' }] }, and the maximum depth is 3.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds some behavioral context about the hierarchical structure and maximum depth (implied through the example), but doesn't mention output format (image? URL?), performance characteristics, or any limitations beyond the structure. With annotations covering safety, this earns a baseline 3 for adding some useful context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise (one sentence plus an example) and front-loaded with the core purpose. The example clarifies the concept without unnecessary elaboration. However, the phrasing 'organizes and presents' could be slightly more direct, and the example uses 'such as' twice, creating minor redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters with nested objects, no output schema), the description is adequate but has gaps. It explains what a mind map is structurally but doesn't address practical usage context, output expectations, or limitations. With rich schema coverage but no output schema, the description should ideally provide more guidance about what gets returned, but it minimally meets requirements for a visualization generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly with descriptions, defaults, and enums. The description mentions 'hierarchical structure' and provides an example that aligns with the data parameter, but adds minimal semantic value beyond what's already in the structured schema. This meets the baseline expectation when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a mind map chart to organizes and presents information in a hierarchical structure with branches radiating from a central topic.' It specifies the verb ('generate'), resource ('mind map chart'), and provides a concrete example. However, it doesn't explicitly differentiate from sibling tools (other chart types), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling tools (other chart types), there's no mention of when a mind map is appropriate versus other visualizations like network graphs, organization charts, or treemaps. The example is generic and doesn't help with tool selection decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_network_graphB
Read-only

Generate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for network graph chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, indicating this is a safe read operation. The description adds context about what gets generated (a chart showing relationships), which is useful beyond the annotation. However, it doesn't mention important behavioral aspects like whether this creates a file, returns an image, has rate limits, or requires specific permissions. With annotations covering safety, the description adds some value but not comprehensive behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise - a single sentence that gets straight to the point. It's front-loaded with the core purpose and includes a helpful example. No wasted words or unnecessary elaboration. However, it could be slightly more structured by explicitly separating purpose from example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters with nested objects) and lack of output schema, the description is minimally adequate. The annotations provide safety information, and the schema documents parameters well, but the description doesn't address what the tool returns (image data, file path, etc.) or how to interpret the output. For a chart generation tool with no output schema, more information about the result would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'relationships between people in social networks' which hints at the data structure but doesn't provide additional syntax, format, or usage details for the parameters. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a network graph chart to show relationships (edges) between entities (nodes)'. It specifies the verb ('generate'), resource ('network graph chart'), and provides an example use case ('relationships between people in social networks'). However, it doesn't explicitly differentiate from sibling tools like 'generate_flow_diagram' or 'generate_sankey_chart' which might also visualize relationships.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling tools for different chart types, there's no indication of when a network graph is appropriate versus a flow diagram, sankey chart, or other relationship visualization tools. No exclusions, prerequisites, or alternative recommendations are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_organization_chartB
Read-only

Generate an organization chart to visualize the hierarchical structure of an organization, such as, a diagram showing the relationship between a CEO and their direct reports.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for organization chart which is a hierarchical structure, such as, { name: 'CEO', description: 'Chief Executive Officer', children: [{ name: 'CTO', description: 'Chief Technology Officer', children: [{ name: 'Dev Manager', description: 'Development Manager' }] }] }, and the maximum depth is 3.
orientNoOrientation of the organization chart, either horizontal or vertical. Default is vertical, when the level of the chart is more than 3, it is recommended to use horizontal orientation.vertical
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds some behavioral context by specifying it generates a visualization (a diagram) and mentioning the example relationship (CEO and direct reports). However, it doesn't disclose important traits like output format (e.g., image file, URL), whether it's interactive, or any rate limits. With annotations covering the safety aspect, the description adds moderate value but lacks comprehensive behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two clear sentences. The first sentence states the core purpose, and the second provides a concrete example. There's no unnecessary repetition or fluff. However, it could be slightly more front-loaded by explicitly mentioning it creates visual diagrams rather than just implying it through the example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters with nested objects) and rich schema documentation (100% coverage), the description is minimally adequate. It explains what the tool produces (a visualization/diagram) but doesn't address the output format or behavioral aspects like interactivity. With no output schema and annotations only covering read-only status, the description should ideally provide more context about what gets returned, but it meets the minimum viable threshold for this visualization tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions hierarchical structure and gives a CEO example, which loosely relates to the 'data' parameter, but provides no additional syntax, format, or usage details for any parameters. The baseline of 3 is appropriate when the schema does all the parameter documentation work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate an organization chart to visualize the hierarchical structure of an organization.' It specifies the verb ('generate'), resource ('organization chart'), and provides a concrete example. However, it doesn't explicitly differentiate this from sibling tools like 'generate_mind_map' or 'generate_network_graph', which might also visualize hierarchical relationships.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for different visualization types (e.g., generate_mind_map, generate_network_graph, generate_treemap_chart), there's no indication of when an organization chart is preferred over these other hierarchical or structural visualizations. The description only states what it does, not when it's appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_path_mapB
Read-only

Generate a route map to display the user's planned route, such as travel guide routes.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
dataYesRoutes, each group represents all POIs along a route. For example, [{ "data": ["西安钟楼", "西安大唐不夜城", "西安大雁塔"] }, { "data": ["西安曲江池公园", "西安回民街"] }]
widthNoSet the width of map, default is 1600.
heightNoSet the height of map, default is 1000.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, indicating a safe read operation. The description adds context about generating a visual map for planned routes, which aligns with the annotation. However, it doesn't disclose additional behavioral traits like whether the map is interactive, how POI data is sourced, or any rate limits. With annotations covering safety, the description adds some value but lacks rich behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and waste, though it could be slightly more structured by explicitly mentioning key parameters or output format. Overall, it's appropriately sized for a tool with good schema coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (visual map generation with POI data), lack of output schema, and rich annotations, the description is minimally adequate. It states the purpose but doesn't cover output format (e.g., image file, URL), error handling, or data sourcing details. With annotations providing safety context, it meets basic needs but has clear gaps for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add meaning beyond what the schema provides—it doesn't explain parameter interactions or usage nuances. For example, it doesn't clarify how 'title' relates to 'data' or the map output. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Generate a route map to display the user's planned route, such as travel guide routes.' This specifies the verb ('generate'), resource ('route map'), and context ('planned route'). It distinguishes from siblings by focusing on route visualization rather than charts or other diagrams, though it doesn't explicitly contrast with similar tools like 'generate_pin_map' or 'generate_district_map'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'travel guide routes' as an example, but doesn't specify prerequisites, exclusions, or compare it to sibling tools like 'generate_pin_map' for point-based maps or 'generate_district_map' for area-based maps. Usage is implied rather than explicitly defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_pie_chartB
Read-only

Generate a pie chart to show the proportion of parts, such as, market share and budget allocation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for pie chart, it should be an array of objects, each object contains a `category` field and a `value` field, such as, [{ category: '分类一', value: 27 }].
innerRadiusNoSet the innerRadius of pie chart, the value between 0 and 1. Set the pie chart as a donut chart. Set the value to 0.6 or number in [0 ,1] to enable it.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description doesn't contradict this, but adds minimal behavioral context beyond the basic purpose. It doesn't mention output format (e.g., image file, URL), performance considerations, or error conditions, leaving gaps despite the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with no wasted words. However, it could be slightly more structured by front-loading key usage context given the many sibling tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, no output schema, and rich annotations, the description is minimally adequate. It covers the basic purpose but lacks context on output (what is returned?), error handling, or performance limits, making it incomplete for confident agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema fully documents all 7 parameters. The description adds no parameter-specific information beyond the general purpose, so it meets the baseline of 3 without compensating for any schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a pie chart to show the proportion of parts' with examples like 'market share and budget allocation.' It specifies the verb ('generate') and resource ('pie chart'), but doesn't explicitly differentiate it from its many sibling chart-generation tools beyond the chart type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling tools for different chart types (e.g., bar_chart, line_chart), there's no mention of when a pie chart is appropriate (e.g., for proportional data) or when other charts might be better suited.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_pin_mapB
Read-only

Generate a point map to display the location and distribution of point data on the map, such as the location distribution of attractions, hospitals, supermarkets, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
dataYesA list of keywords for the names of points of interest (POIs) in Chinese. These POIs usually contain a group of places with similar locations, so the names should be more descriptive, must adding attributives to indicate that they are different places in the same area, such as "北京市" is better than "北京", "杭州西湖" is better than "西湖"; in addition, if you can determine that a location may appear in multiple areas, you can be more specific, such as "杭州西湖的苏堤春晓" is better than "苏堤春晓". The tool will use these keywords to search for specific POIs and query their detailed data, such as latitude and longitude, location photos, etc. For example, ["西安钟楼", "西安大唐不夜城", "西安大雁塔"].
markerPopupNoMarker type, one is simple mode, which is just an icon and does not require `markerPopup` configuration; the other is image mode, which displays location photos and requires `markerPopup` configuration. Among them, `width`/`height`/`borderRadius` can be combined to realize rectangular photos and square photos. In addition, when `borderRadius` is half of the width and height, it can also be a circular photo.
widthNoSet the width of map, default is 1600.
heightNoSet the height of map, default is 1000.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, suggesting a safe read operation, which aligns with the description's 'generate' action implying creation of a map without destructive effects. The description adds some context about data processing ('search for specific POIs and query their detailed data') and marker modes, but doesn't cover rate limits, authentication needs, or output format. With annotations covering safety, the description provides moderate additional behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary details, though it could be slightly more structured by separating examples. Every word contributes to understanding the tool's function without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (5 parameters, nested objects, no output schema) and rich schema coverage, the description is adequate but lacks depth. It doesn't explain the output (e.g., map format, how results are returned) or error handling. With annotations covering safety, it meets minimum viability but misses opportunities to clarify usage scenarios or integration details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal semantic value beyond the schema, mentioning 'point data' and examples like 'attractions', but doesn't explain parameter interactions or usage nuances. Baseline 3 is appropriate as the schema handles most documentation, though the description could enhance understanding of data parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a point map to display the location and distribution of point data on the map, such as the location distribution of attractions, hospitals, supermarkets, etc.' This specifies the verb ('generate'), resource ('point map'), and scope ('point data'), distinguishing it from sibling tools like generate_district_map or generate_path_map. However, it doesn't explicitly differentiate from all siblings, as some might also involve maps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions examples like 'attractions, hospitals, supermarkets' but doesn't specify when to choose this over other map tools (e.g., generate_district_map) or chart tools. There's no mention of prerequisites, exclusions, or specific contexts for application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_radar_chartB
Read-only

Generate a radar chart to display multidimensional data (four dimensions or more), such as, evaluate Huawei and Apple phones in terms of five dimensions: ease of use, functionality, camera, benchmark scores, and battery life.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for radar chart, it should be an array of objects, each object contains a `name` field and a `value` field, such as, [{ name: 'Design', value: 70 }], when the data is grouped by `group`, the `group` field is required, such as, [{ name: 'Design', value: 70, group: 'Huawei' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds useful context about the tool's purpose and data requirements (multidimensional, 4+ dimensions), but doesn't disclose behavioral traits like whether it generates static images or interactive charts, file formats, error handling, or performance characteristics. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences. The first sentence states the purpose clearly, and the second provides a helpful concrete example. No wasted words, though it could be slightly more front-loaded by mentioning the example immediately after the purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters with nested objects) and rich schema documentation (100% coverage), the description provides adequate context about what the tool does and when to use it. However, without an output schema, the description doesn't explain what gets returned (image URL, base64 data, chart object), leaving a gap in understanding the tool's complete behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already thoroughly documents all 6 parameters. The description adds minimal parameter semantics beyond the schema - it mentions 'multidimensional data' which relates to the data parameter structure, but doesn't provide additional guidance about parameter relationships, constraints, or best practices that aren't already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a radar chart to display multidimensional data (four dimensions or more)'. It specifies the verb ('generate') and resource ('radar chart'), and provides a concrete example. However, it doesn't explicitly differentiate from sibling tools like generate_spider_chart or explain why radar charts are specifically suited for multidimensional comparisons versus other chart types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating 'multidimensional data (four dimensions or more)' and giving an example comparing Huawei and Apple phones across five dimensions. This suggests when to use radar charts versus simpler charts. However, it doesn't explicitly name alternatives or provide clear 'when-not-to-use' guidance compared to the 25+ sibling chart generation tools listed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_sankey_chartB
Read-only

Generate a sankey chart to visualize the flow of data between different stages or categories, such as, the user journey from landing on a page to completing a purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesDate for sankey chart, such as, [{ source: 'Landing Page', target: 'Product Page', value: 50000 }, { source: 'Product Page', target: 'Add to Cart', value: 35000 }, { source: 'Add to Cart', target: 'Checkout', value: 25000 }, { source: 'Checkout', target: 'Payment', value: 15000 }, { source: 'Payment', target: 'Purchase Completed', value: 8000 }].
nodeAlignNoAlignment of nodes in the sankey chart, such as, 'left', 'right', 'justify', or 'center'.center
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation (likely generating a chart without side effects). The description doesn't contradict this, but adds minimal behavioral context beyond annotations—it mentions the visualization purpose but doesn't disclose output format (e.g., image file, URL), performance considerations, or any limitations. With annotations covering safety, the description adds some value but not rich behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose with a helpful example. It avoids redundancy and wastes no words, making it appropriately sized for a chart-generation tool. However, it could be slightly more structured (e.g., by explicitly noting key parameters) to enhance clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters with nested objects) and lack of output schema, the description is minimally adequate. It states the purpose and provides an example, but doesn't explain the return value (e.g., chart image or data), error conditions, or advanced usage. With annotations covering safety and schema covering parameters, it meets basic needs but leaves gaps for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 7 parameters with descriptions and defaults. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't explain 'data' structure or 'style' options further). Baseline is 3 when schema does the heavy lifting, and the description doesn't compensate with additional semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a sankey chart to visualize the flow of data between different stages or categories.' It specifies the verb ('generate') and resource ('sankey chart') with a concrete example (user journey). However, it doesn't explicitly differentiate from sibling tools like 'generate_flow_diagram' or 'generate_funnel_chart' that might also visualize flows, missing full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance through the example ('such as, the user journey from landing on a page to completing a purchase'), suggesting it's for flow visualization between stages or categories. However, it lacks explicit when-to-use vs. alternatives (e.g., compared to other chart types in the sibling list) or any exclusions, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_scatter_chartB
Read-only

Generate a scatter chart to show the relationship between two variables, helps discover their relationship or trends, such as, the strength of correlation, data distribution patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for scatter chart, such as, [{ x: 10, y: 15 }], when the data is grouped, the group name can be specified in the `group` field, such as, [{ x: 10, y: 15, group: 'Group A' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, suggesting this is a safe read operation (likely generating a chart without side effects). The description doesn't contradict this, as 'Generate' aligns with a read operation in this context. However, it adds minimal behavioral context beyond annotations—it mentions the chart's purpose but not details like output format (e.g., image URL, base64), performance considerations, or error handling. With annotations covering safety, a 3 is appropriate for limited added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words. However, it could be slightly more structured by separating usage context from purpose, but it's still highly concise and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, nested objects) and lack of output schema, the description is minimally adequate. It states what the tool does but doesn't cover output details (e.g., what is returned—a chart image, data, or error), performance limits, or advanced usage scenarios. With annotations providing safety info and schema covering parameters, it meets a basic threshold but leaves gaps for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are documented in the schema. The description adds no specific parameter information beyond the general purpose of showing relationships between variables. It doesn't explain parameter interactions, defaults, or usage examples. Given the high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a scatter chart to show the relationship between two variables.' It specifies the verb ('Generate') and resource ('scatter chart'), and mentions the goal of discovering relationships or trends. However, it doesn't explicitly differentiate this from sibling tools like 'generate_line_chart' or 'generate_bar_chart' beyond the scatter chart type, which keeps it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions that scatter charts help discover relationships or trends, but doesn't specify scenarios where a scatter chart is preferred over other chart types (e.g., line charts for time series, bar charts for categorical comparisons). There's no mention of prerequisites, exclusions, or explicit alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_treemap_chartB
Read-only

Generate a treemap chart to display hierarchical data and can intuitively show comparisons between items at the same level, such as, show disk space usage with treemap.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for treemap chart which is a hierarchical structure, such as, [{ name: 'Design', value: 70, children: [{ name: 'Tech', value: 20 }] }], and the maximum depth is 3.
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds some behavioral context by mentioning the chart's purpose ('display hierarchical data') and an example use case ('disk space usage'), but doesn't disclose important traits like output format (e.g., image URL, HTML), performance characteristics, or error conditions. With annotations covering safety, the description adds moderate value but lacks rich behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences. The first sentence states the core purpose, and the second provides a concrete example. There's no wasted text, and the information is front-loaded. It could be slightly more structured with explicit sections, but it's efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters with nested objects) and lack of output schema, the description is somewhat incomplete. While annotations cover safety and the schema documents parameters well, the description doesn't explain what the tool returns (e.g., chart image, visualization object) or provide guidance on the hierarchical data structure beyond the example. For a visualization tool with no output schema, more context about the result would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all parameters well-documented in the schema itself. The description mentions 'hierarchical data' which aligns with the 'data' parameter, and the disk space example provides context for data structure. However, it doesn't add significant semantic meaning beyond what the schema already provides (e.g., explaining how the hierarchical structure works or when to use specific style options).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a treemap chart to display hierarchical data and can intuitively show comparisons between items at the same level.' It specifies the verb ('generate'), resource ('treemap chart'), and primary function ('display hierarchical data'). However, it doesn't explicitly distinguish this tool from its many sibling chart-generation tools, which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context with the example 'such as, show disk space usage with treemap,' which implies this tool is appropriate for hierarchical data visualization. However, it doesn't explicitly state when to use this tool versus alternatives (like other chart types in the sibling list) or when not to use it. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_venn_chartB
Read-only

Generate a Venn diagram to visualize the relationships between different sets, showing how they intersect and overlap, such as the commonalities and differences between various groups.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for venn chart, such as, [{ label: 'A', value: 10, sets: ['A'] }, { label: 'B', value: 20, sets: ['B'] }, { label: 'C', value: 30, sets: ['C'] }, { label: 'AB', value: 5, sets: ['A', 'B'] }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description doesn't contradict this (it describes generation/visualization, not data modification). However, it adds minimal behavioral context beyond annotations—it mentions what the visualization shows but doesn't describe output format (e.g., image file, URL), performance characteristics, or any limitations. With annotations covering safety, the description adds some value but not rich behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates the core purpose. It avoids redundancy and gets straight to the point. However, it could be slightly more front-loaded with key differentiators (e.g., 'For set relationships' at the beginning).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters with nested objects) and lack of output schema, the description is minimally adequate. It explains what the tool produces (Venn diagram visualization) but doesn't describe the output format or any behavioral nuances. With annotations covering safety and schema covering parameters, the description meets basic requirements but leaves gaps about practical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema—it doesn't explain data structure requirements, style options, or theme choices. The baseline score of 3 is appropriate when the schema carries the full parameter documentation burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a Venn diagram to visualize the relationships between different sets, showing how they intersect and overlap.' It specifies the verb ('generate'), resource ('Venn diagram'), and what it visualizes ('relationships between different sets'). However, it doesn't explicitly differentiate from sibling tools like 'generate_scatter_chart' or 'generate_pie_chart' beyond mentioning Venn diagrams specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 24 sibling visualization tools on the server, there's no mention of when a Venn diagram is appropriate (e.g., for set relationships) versus when to use other chart types. The description only explains what the tool does, not when to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_violin_chartB
Read-only

Generate a violin chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for violin chart, such as, [{ category: 'Category A', value: 10 }], when the data is grouped, the 'group' field is required, such as, [{ category: 'Category B', value: 20, group: 'Group A' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds some behavioral context by explaining what the chart visualizes ('statistical summaries among different categories') and the grouping mechanism. However, it doesn't disclose important behavioral traits like whether this generates an image file, returns a URL, or has any rate limits. The description doesn't contradict annotations, but adds only moderate value beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise at two sentences. The first sentence clearly states the tool's purpose, and the second provides additional context about its use case. There's no wasted language, though it could be slightly more front-loaded with more specific guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters with nested objects, no output schema), the description is minimally adequate. It covers the basic purpose but lacks details about what the tool returns (image, URL, etc.), performance characteristics, or error conditions. With rich schema coverage but no output schema and multiple sibling alternatives, the description should provide more contextual guidance about when this specific visualization is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema comprehensively documents all 8 parameters. The description mentions 'data for statistical summaries among different categories' and 'comparing the distribution of data points across categories,' which provides high-level context about the 'data' parameter's purpose. However, it adds minimal semantic value beyond what's already in the schema descriptions for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a violin chart to show data for statistical summaries among different categories.' It specifies the verb ('generate'), resource ('violin chart'), and intended use case ('show data for statistical summaries among different categories'). However, it doesn't explicitly differentiate from sibling tools like 'generate_boxplot_chart' or 'generate_histogram_chart' which also show statistical distributions, missing full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. It mentions 'comparing the distribution of data points across categories' which implies when to use it, but offers no explicit guidance on when to choose this over alternatives like box plots or histograms from the sibling list. There are no exclusions, prerequisites, or named alternatives provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_waterfall_chartA
Read-only

Generate a waterfall chart to visualize the cumulative effect of sequentially introduced positive or negative values, such as showing how an initial value is affected by a series of intermediate positive or negative values leading to a final result. Waterfall charts are ideal for financial analysis, budget tracking, profit and loss statements, and understanding the composition of changes over time or categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for waterfall chart, it should be an array of objects. Each object must contain a `category` field. For regular items, a `value` field is also required. The `isIntermediateTotal` field marks intermediate subtotals, and the `isTotal` field marks the final total. For example, [{ category: 'Initial', value: 100 }, { category: 'Increase', value: 50 }, { category: 'Subtotal', isIntermediateTotal: true }, { category: 'Decrease', value: -30 }, { category: 'Total', isTotal: true }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, which the description does not contradict (it describes a generation/visualization tool, not a destructive operation). The description adds useful context about what the tool produces (a visualization of cumulative effects) and typical use cases, but does not disclose additional behavioral traits like rate limits, authentication needs, or output format details. With annotations covering the safety profile, this is adequate but not rich in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: it starts with the core purpose, then explains the visualization concept, and ends with ideal use cases. Both sentences earn their place by adding value. It could be slightly more concise by combining some phrases, but it avoids redundancy and waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects) and rich schema coverage (100%), the description provides good contextual completeness. It explains the tool's purpose, use cases, and what it visualizes. Since there is no output schema, it does not describe return values (e.g., chart format or output type), which is a minor gap. However, for a generation tool with detailed schema, the description is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly with descriptions and examples. The description does not add any parameter-specific information beyond what the schema provides. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description, which applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a waterfall chart to visualize the cumulative effect of sequentially introduced positive or negative values.' It specifies the verb ('generate') and resource ('waterfall chart'), distinguishes it from siblings by explaining what waterfall charts are ideal for (financial analysis, budget tracking, etc.), and provides concrete examples of use cases that differentiate it from other chart types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: 'Waterfall charts are ideal for financial analysis, budget tracking, profit and loss statements, and understanding the composition of changes over time or categories.' This gives the agent guidance on appropriate scenarios. However, it does not explicitly state when not to use it or name specific alternatives among the many sibling chart tools, which prevents a score of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_word_cloud_chartB
Read-only

Generate a word cloud chart to show word frequency or weight through text size variation, such as, analyzing common words in social media, reviews, or feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesData for word cloud chart, it should be an array of objects, each object contains a `text` field and a `value` field, such as, [{ value: 4.272, text: '形成' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
titleNoSet the title of chart.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, indicating this is a safe read operation. The description adds value by explaining the chart's purpose (visualizing word frequency/weight) and giving example use cases, which goes beyond the annotations. However, it doesn't disclose additional behavioral traits like output format (e.g., image URL, base64), performance characteristics, or error handling. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently states the purpose and provides an example use case. It's appropriately sized without unnecessary fluff, though it could be slightly more front-loaded by explicitly naming the tool's output (e.g., 'generates a chart image'). Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, nested objects) and rich schema coverage (100%), the description is adequate but minimal. It explains the 'what' and 'why' but lacks details on output (no output schema provided), error conditions, or advanced usage. With annotations covering safety, it meets minimum viability but leaves gaps for an agent to fully understand behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no specific parameter information beyond what's in the schema. It mentions 'word frequency or weight' which loosely relates to the 'data' parameter but doesn't provide additional syntax, constraints, or examples beyond the schema. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a word cloud chart to show word frequency or weight through text size variation.' It specifies the verb ('generate') and resource ('word cloud chart') with a functional explanation of how it works. However, it doesn't explicitly differentiate from sibling tools beyond mentioning 'word cloud' specifically, which is implied but not stated as a distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage context through the example 'such as, analyzing common words in social media, reviews, or feedback,' which suggests appropriate use cases. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., other chart types in the sibling list) or any prerequisites or exclusions. The guidance is helpful but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose, each generating a specific type of chart or diagram. The descriptions explicitly differentiate them, such as bar charts for categorical comparisons versus line charts for trends over time. No tools appear to overlap in functionality, making selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent 'generate_<chart_type>_chart' pattern, with minor exceptions like 'generate_district_map' and 'generate_path_map' that still maintain the 'generate_<type>' structure. This uniformity ensures predictability and readability across the entire set.

Tool Count3/5

With 26 tools, the count is borderline high for a chart-generation server, potentially overwhelming for agents. While it covers a wide range of chart types, some tools like boxplot and violin charts have similar statistical purposes, suggesting possible redundancy. A more streamlined set of 15-20 tools might be more manageable.

Completeness5/5

The tool set provides comprehensive coverage for data visualization, including all major chart types (e.g., bar, line, scatter, pie) and specialized diagrams (e.g., fishbone, mind map, sankey). It supports various data scenarios from trends and distributions to hierarchies and relationships, leaving no obvious gaps in the domain.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antvis/mcp-server-chart'

If you have feedback or need assistance with the MCP directory API, please join our Discord server