MCP Server Chart
OfficialThe MCP Server Chart is a TypeScript-based tool for generating various types of charts using AntV. With this server, you can:
Generate 15+ chart types including line, column, pie, area, bar, dual-axes, fishbone diagram, flow diagram, histogram, mind map, network graph, radar, scatter, treemap, and word cloud charts
Generate chart images and receive an image URL for the created visualization
Use it with MCP-compatible Desktop Applications via
npxcommand configurationAccess it on cloud platforms like Aliyun, ModelScope, glama.ai, and smithery.ai via HTTP or SSE protocols
Run it locally using SSE transport
Deploy privately by configuring a custom visualization request server
Provides chart generation capabilities using AntV visualization libraries, supporting line, column, pie, and area chart creation with returned URLs to the generated charts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Chartgenerate a bar chart showing monthly sales data for 2024"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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.
generate_area_chart: Generate anareachart, used to display the trend of data under a continuous independent variable, allowing observation of overall data trends.generate_bar_chart: Generate abarchart, used to compare values across different categories, suitable for horizontal comparisons.generate_boxplot_chart: Generate aboxplot, used to display the distribution of data, including the median, quartiles, and outliers.generate_column_chart: Generate acolumnchart, used to compare values across different categories, suitable for vertical comparisons.generate_district_map- Generate adistrict-map, used to show administrative divisions and data distribution.generate_dual_axes_chart: Generate adual-axeschart, used to display the relationship between two variables with different units or ranges.generate_fishbone_diagram: Generate afishbonediagram, also known as an Ishikawa diagram, used to identify and display the root causes of a problem.generate_flow_diagram: Generate aflowchart, used to display the steps and sequence of a process.generate_funnel_chart: Generate afunnelchart, used to display data loss at different stages.generate_histogram_chart: Generate ahistogram, used to display the distribution of data by dividing it into intervals and counting the number of data points in each interval.generate_line_chart: Generate alinechart, used to display the trend of data over time or another continuous variable.generate_liquid_chart: Generate aliquidchart, used to display the proportion of data, visually representing percentages in the form of water-filled spheres.generate_mind_map: Generate amind-map, used to display thought processes and hierarchical information.generate_network_graph: Generate anetworkgraph, used to display relationships and connections between nodes.generate_organization_chart: Generate anorganizationalchart, used to display the structure of an organization and personnel relationships.generate_path_map- Generate apath-map, used to display route planning results for POIs.generate_pie_chart: Generate apiechart, used to display the proportion of data, dividing it into parts represented by sectors showing the percentage of each part.generate_pin_map- Generate apin-map, used to show the distribution of POIs.generate_radar_chart: Generate aradarchart, used to display multi-dimensional data comprehensively, showing multiple dimensions in a radar-like format.generate_sankey_chart: Generate asankeychart, used to display data flow and volume, representing the movement of data between different nodes in a Sankey-style format.generate_scatter_chart: Generate ascatterplot, used to display the relationship between two variables, showing data points as scattered dots on a coordinate system.generate_treemap_chart: Generate atreemap, used to display hierarchical data, showing data in rectangular forms where the size of rectangles represents the value of the data.generate_venn_chart: Generate avenndiagram, used to display relationships between sets, including intersections, unions, and differences.generate_violin_chart: Generate aviolinplot, used to display the distribution of data, combining features of boxplots and density plots to provide a more detailed view of the data distribution.generate_word_cloud_chart: Generate aword-cloud, used to display the frequency of words in textual data, with font sizes indicating the frequency of each word.generate_spreadsheet: Generate aspreadsheetor 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.
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-skillsThen 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-chartRun 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 streamableThen you can access the server at:
SSE transport:
http://localhost:1122/sseStreamable transport:
http://localhost:1122/mcp
Docker deploy
Enter the docker directory.
cd dockerDeploy using docker-compose.
docker compose up -dThen you can access the server at:
SSE transport:
http://localhost:1123/sseStreamable 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 |
| Custom chart generation service URL for private deployment |
|
|
| Service identifier for chart generation records | - |
|
| Comma-separated list of tool names to disable | - |
|
📠 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:
POSTParameter: Which will be passed to
GPT-Vis-SSRfor rendering. Such as,{ "type": "line", "data": [{ "time": "2025-05", "value": 512 }, { "time": "2025-06", "value": 1024 }] }.Return: The return object of HTTP service.
success:
booleanWhether generate chart image successfully.resultObj:
stringThe chart image url.errorMessage:
stringWhensuccess = false, return the error message.
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 installBuild the server:
npm run buildStart the MCP server:
npm run startStart the MCP server with SSE transport:
node build/index.js -t sseStart the MCP server with Streamable transport:
node build/index.js -t streamable📄 License
MIT@AntV.
Available Tools
26 toolsgenerate_area_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| stack | No | Whether stacking is enabled. When enabled, area charts require a 'group' field in the data. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-only
Generate a horizontal bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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: '电车' }]. | |
| group | No | Whether grouping is enabled. When enabled, bar charts require a 'group' field in the data. When `group` is true, `stack` should be false. | |
| stack | No | Whether stacking is enabled. When enabled, bar charts require a 'group' field in the data. When `stack` is true, `group` should be false. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-only
Generate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for boxplot chart, such as, [{ category: '分类一', value: 10 }] or [{ category: '分类二', value: 20, group: '组别一' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartCRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| group | No | Whether grouping is enabled. When enabled, column charts require a 'group' field in the data. When `group` is true, `stack` should be false. | |
| stack | No | Whether stacking is enabled. When enabled, column charts require a 'group' field in the data. When `stack` is true, `group` should be false. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_mapARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The 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. | |
| data | Yes | Administrative 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}. | |
| width | No | Set the width of map, default is 1600. | |
| height | No | Set the height of map, default is 1000. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | Yes | Categories for dual axes chart, such as, ['2015', '2016', '2017']. | |
| series | Yes | Series 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': '利润率' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_diagramARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
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.
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.
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.
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.
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.
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_diagramBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for flow diagram chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
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.
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.
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.
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.
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.
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_chartARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for funnel chart, such as, [{ category: '浏览网站', value: 50000 }, { category: '放入购物车', value: 35000 }, { category: '生成订单', value: 25000 }, { category: '支付订单', value: 15000 }, { category: '完成交易', value: 8000 }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for histogram chart, it should be an array of numbers, such as, [78, 88, 60, 100, 95]. | |
| binNumber | No | Number of intervals to define the number of intervals in a histogram, when not specified, a built-in value will be used. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| percent | Yes | The 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%. | |
| shape | No | The shape of the liquid chart, can be 'circle', 'rect', 'pin', or 'triangle'. Default is 'circle'. | circle |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_mapBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
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.
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.
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.
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.
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.
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_graphBRead-only
Generate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for network graph chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] } | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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. | |
| orient | No | Orientation 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 |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
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.
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.
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.
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.
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.
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_mapBRead-only
Generate a route map to display the user's planned route, such as travel guide routes.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The 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. | |
| data | Yes | Routes, each group represents all POIs along a route. For example, [{ "data": ["西安钟楼", "西安大唐不夜城", "西安大雁塔"] }, { "data": ["西安曲江池公园", "西安回民街"] }] | |
| width | No | Set the width of map, default is 1600. | |
| height | No | Set the height of map, default is 1000. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-only
Generate a pie chart to show the proportion of parts, such as, market share and budget allocation.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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 }]. | |
| innerRadius | No | Set 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. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_mapBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The 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. | |
| data | Yes | A 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, ["西安钟楼", "西安大唐不夜城", "西安大雁塔"]. | |
| markerPopup | No | Marker 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. | |
| width | No | Set the width of map, default is 1600. | |
| height | No | Set the height of map, default is 1000. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Date 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 }]. | |
| nodeAlign | No | Alignment of nodes in the sankey chart, such as, 'left', 'right', 'justify', or 'center'. | center |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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'] }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-only
Generate a violin chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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 }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
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.
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.
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.
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.
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.
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_chartBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data 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: '形成' }]. | |
| style | No | Style configuration for the chart with a JSON object, optional. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server implementation that provides the LLM an interface for visualizing data using Vega-Lite syntax.100
- AlicenseCqualityFmaintenanceAn MCP server for generating customizable data visualizations using QuickChart.io, supporting multiple chart types and Chart.js configuration.2200159MIT

MCP Server AntVofficial
AlicenseAqualityBmaintenanceA Model Context Protocol server that provides AntV visualization library documentation and code examples to AI assistants, supporting G2, G6, and F2 libraries for data visualization workflows.326239MIT
vchart-mcp-serverofficial
AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for the @visactor/vchart that enables AI assistants to generate interactive charts and visualizations.102252MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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