Skip to main content
Glama
asafkiv

AppDynamics MCP Server

by asafkiv

Save Dashboard Definition to File

appd_save_dashboard_file

Save a complete AppDynamics dashboard configuration as a local JSON file for inspection, editing, version control, or later import.

Instructions

Build a complete AppDynamics dashboard JSON definition and save it to a local file — without creating anything in AppDynamics yet.

The saved file can be:

  • Inspected or edited before importing

  • Version-controlled alongside your code

  • Imported with appd_import_dashboard at any time

The file format is identical to appd_export_dashboard output and is directly importable.

Widget types (use exact names):

  • "TIMESERIES_GRAPH": Time-series chart (needs applicationId + metricPath)

  • "METRIC_VALUE": Single metric number (needs applicationId + metricPath)

  • "HEALTH_LIST": Health status list (needs applicationId + entityType)

  • "TEXT": Static label or section heading (needs text)

  • "PIE": Pie chart (needs applicationId + metricPath)

  • "GAUGE": Gauge (needs applicationId + metricPath)

Grid layout: width max is 12 (full row). Height is in grid units (1–4 typical). Use appd_browse_metric_tree to discover metric paths.

Args:

  • name (string): Dashboard name

  • filePath (string, optional): Where to write the file. Default: ./dashboard-{name}.json

  • description (string, optional): Dashboard description

  • height/width (number, optional): Canvas size in pixels (default: 768×1024)

  • widgets (array, optional): Widget definitions

Returns: Absolute path of the saved file and a widget summary.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDashboard name.
widthNoCanvas width in pixels. Default: 1024.
heightNoCanvas height in pixels. Default: 768.
widgetsNoWidgets to include. Same format as appd_create_dashboard.
filePathNoFile path to save the JSON. Default: ./dashboard-{slugified-name}.json
descriptionNoDashboard description.
Behavior3/5

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

Annotations show readOnlyHint=false and destructiveHint=false, meaning it writes to file system but is not destructive. The description states it saves to a file and does not create anything in AppDynamics, but does not disclose potential side effects like overwriting existing files, file system permissions needed, or the exact path resolution behavior (slugified name). This is adequate but could be improved.

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

Conciseness4/5

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

The description is front-loaded with purpose and workflow. It uses bullet points for widget types and a clear list for args. However, it is somewhat verbose and repeats some schema details (e.g., widget parameter descriptions). Overall well-structured but could be trimmed slightly.

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

Completeness4/5

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

Given the tool complexity (6 parameters, no output schema), the description covers the core workflow, widget types, grid layout, and relationships with sibling tools (e.g., appd_browse_metric_tree, appd_import_dashboard). The return value (absolute path and widget summary) is mentioned but not detailed, which is acceptable without an output schema.

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

Parameters4/5

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

Schema description coverage is 100%, but the description adds significant value: it explains widget types with exact names, grid layout constraints (max width 12, height 1-4 typical), default file path behavior (slugified name), and references appd_browse_metric_tree for metric paths. This goes beyond the schema definitions.

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

Purpose5/5

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

The description clearly states the tool's purpose: building a dashboard JSON definition and saving it to a local file without creating anything in AppDynamics. It distinguishes from siblings like appd_import_dashboard and appd_create_dashboard by emphasizing the offline, file-based workflow.

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

Usage Guidelines4/5

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

The description explains when to use this tool (offline dashboard creation and later import) and contrasts with appd_export_dashboard. It references appd_browse_metric_tree for metric discovery. It could be more explicit about when not to use (e.g., if you want immediate creation), but the context from sibling tools provides clear alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

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

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