AppDynamics MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APPD_URL | No | Controller base URL (e.g., https://mycompany.saas.appdynamics.com) | |
| APPD_CLIENT_NAME | No | OAuth client name or API key | |
| APPD_ACCOUNT_NAME | No | Account name (optional, for OAuth2 format clientName@accountName) | |
| APPD_CLIENT_SECRET | No | OAuth client secret (not required for API key mode) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| appd_get_applicationsA | List all business applications monitored by AppDynamics. Optionally filter by name using a case-insensitive partial match. Returns application ID, name, and description for each app. Use this tool first to discover application IDs needed by other tools. Args:
Returns: Array of applications with id, name, and description. |
| appd_get_health_rulesA | List health rules configured for an application, or get details of a specific health rule. Health rules define the thresholds and conditions that trigger violations. Understanding what health rules exist and their configuration is essential context for interpreting violations. Without healthRuleId: returns a summary list of all health rules (id, name, type, enabled, affected entity type). With healthRuleId: returns the full configuration of that specific health rule including evaluation criteria. Args:
Returns: Array of health rules or single detailed health rule object. |
| appd_create_health_ruleA | Create a new health rule for an application. Supports APM and SIM (Server & Infrastructure Monitoring) entity types. At least one critical condition is required. Args:
APM custom metrics (machine agent on APM app): use affectedEntityType=TIER_NODE_HEALTH with affectedTier or affectedNode. metricPath must be RELATIVE to the entity (e.g. "Custom Metrics|MyMetric"). SIM / URL Monitor metrics: use affectedEntityType=CUSTOM, customEntityType="SERVER", customEntityName=. metricPath must be the FULL absolute path starting with "Application Infrastructure Performance|...". Operators supported: GREATER_THAN, LESS_THAN, GREATER_THAN_EQUALS, LESS_THAN_EQUALS, EQUALS, NOT_EQUALS. Example: { metricPath: "Application Infrastructure Performance|Root|Individual Nodes|myhost|Custom Metrics|URL Monitor|SvcA|Status", threshold: 4, operator: "NOT_EQUALS" } Returns: Created health rule object with assigned ID. |
| appd_update_health_ruleA | Update an existing health rule by ID. Fetches the current rule, merges the provided fields, then PUTs the updated rule back. Only fields you supply are changed; unspecified fields retain their current values. Args:
Returns: Updated health rule object. |
| appd_delete_health_ruleA | Permanently delete a health rule by ID. This action cannot be undone. Use appd_get_health_rules to confirm the ID before deleting. Args:
Returns: Confirmation message. |
| appd_enable_health_ruleA | Enable or disable a health rule without changing any other settings. Fetches the current rule, sets the enabled flag, and PUTs it back. Args:
Returns: Updated health rule object. |
| appd_get_health_violationsA | Retrieve health rule violations for a specific application or all applications. If application is not provided, returns violations across all monitored applications. Supports application lookup by name or numeric ID. Args:
Returns: Array of health rule violations with severity, status, affected entity, and timestamps. |
| appd_get_anomaliesA | Retrieve anomaly detection events for a specific application or all applications. By default, returns only currently open anomalies. Set includeAll to true to see all events including closed ones. Args:
Returns: Array of anomaly events. When querying all apps, results are grouped by application. |
| appd_get_business_transactionsA | List all business transactions (BTs) for a given application. BTs are the key unit of monitoring in AppDynamics — each represents a distinct user request or workflow. Use this to discover BT IDs neeed by appd_get_bt_performance. Args:
Returns: Array of BTs with id, name, tierName, entryPointType. |
| appd_get_bt_performanceA | Get performance metrics for a specific business transaction (BT). Retrieves average response time, calls per minute, errors per minute, slow calls, very slow calls, and stall count for the specified BT. Use appd_get_business_transactions first to find the BT ID. Args:
Returns: BT details plus metric data for each performance metric. |
| appd_get_service_endpointsA | List service endpoints (SEPs) for an application. Service endpoints represent individual API endpoints or servlet mappings within your application tiers. They provide more granular performance data than business transactions — you can see which specific URL paths or service methods are slow. Args:
Returns: Array of service endpoints with id, name, tier info, and type. |
| appd_get_service_endpoint_performanceA | Get performance metrics for a specific service endpoint. Retrieves average response time, calls per minute, and errors per minute for the specified service endpoint. Use appd_get_service_endpoints first to find the SEP ID. Args:
Returns: Performance metrics for the service endpoint. |
| appd_get_tiers_and_nodesA | Retrieve the tiers and nodes (infrastructure topology) for an application. Shows each tier with its type, agent type, and associated nodes. Nodes include machine details, agent versions, and IP addresses. Args:
Returns: Array of tiers, each with a nested array of nodes. |
| appd_get_backendsA | List all backend (remote service) dependencies detected for an application. Backends are external services your application calls — databases (JDBC), HTTP APIs, caches (Redis, Memcached), message queues (JMS, Kafka), etc. This is one of AppDynamics' most powerful features for dependency mapping and troubleshooting. Slow backends are a common root cause of application performance issues. Args:
Returns: Array of backends with id, name, exitPointType, and connection properties. |
| appd_get_snapshotsA | Retrieve transaction snapshots (slow, error, stall) for an application. Snapshots are deep diagnostic captures of individual requests. They show call graphs, SQL queries, HTTP calls, and more for requests that were slow, errored, or stalled. Args:
Returns: Array of snapshot objects with timing, error details, and diagnostic info. |
| appd_get_errorsA | Retrieve error and exception events for an application. Returns ERROR, APPLICATION_ERROR, and APPLICATION_CRASH events from the AppDynamics events API. These represent exceptions, application errors, and crashes detected by the agent. Args:
Returns: Array of error events with severity, summary, timestamp, and affected entity details. |
| appd_diagnose_issueA | Perform a two-phase automated root cause analysis for an application. Phase 1 (topology): Fetches health violations, anomalies, error events, transaction snapshots, business transactions, tiers, nodes, and backends in parallel — correlating them into ranked root cause candidates. Phase 2 (metrics with baseline): For each affected tier, backend, and node, fetches metrics for BOTH the current window AND a prior equivalent baseline window. Anomaly flags (isSlow, isCpuSaturated, hasGcPressure) are computed as percentage degradation vs baseline — no hardcoded absolute thresholds. Example: a backend normally at 50ms now at 600ms is flagged (+1100%); one normally at 2000ms now at 2100ms is not (+5%). Use this when you need to quickly understand why an application is behaving badly without manually calling many separate tools. Args:
Returns: A structured diagnostic report with summary, causalityChain (ordered root→effect), tierMetrics, backendAnalysis, infrastructureInsights (all with baseline comparison), ranked root cause candidates, timeline, error breakdown, sample snapshots (with sqlQueries/httpCalls/errorStackTrace), and metric-aware investigation steps. |
| appd_get_metric_dataA | Query any metric from the AppDynamics metric tree. This is a generic tool that can retrieve any metric — infrastructure (CPU, memory, disk), application performance, custom metrics, etc. Use appd_browse_metric_tree to discover available metric paths first. Custom metrics: Machine agent custom metrics are stored per-node, not aggregated at tier level. To query them, use rollup=false and a node-level path: 'Application Infrastructure Performance|{Tier}|Individual Nodes|{Node}|Custom Metrics|{MetricName}' Wildcard example: 'Application Infrastructure Performance||Individual Nodes||Custom Metrics|MyMetric' with rollup=false Args:
Returns: Array of metric data objects with timestamps, min, max, avg, count, sum values. |
| appd_browse_metric_treeA | Browse the AppDynamics metric tree to discover available metric paths. Call without metricPath to see top-level folders, then drill into specific folders by providing their path. Common top-level folders:
Custom metrics (submitted by machine agents) live under: 'Application Infrastructure Performance|{Tier}|Individual Nodes|{Node}|Custom Metrics' Use rollup=false when browsing node-level paths to ensure per-node data is returned. Args:
Returns: Array of child metric nodes with name, type (folder or leaf), and full path. |
| appd_get_dashboardsA | List all custom dashboards in AppDynamics. Returns dashboard summaries including id, name, creator, and timestamps. Use nameFilter to search for specific dashboards. Args:
Returns: Array of dashboard summaries. |
| appd_get_dashboardA | Get the full definition of a specific dashboard, including all widgets and their configurations. This reveals what metrics and entities the dashboard monitors — useful for understanding what a team cares about, or for cloning/modifying dashboards. Args:
Returns: Complete dashboard object with widgets, layout, and data source configuration. |
| appd_create_dashboardA | Create a new custom dashboard in AppDynamics. You can create a blank dashboard and add widgets later using appd_add_widget_to_dashboard, or provide widgets upfront. Widget types (use exact names):
Grid layout: width max is 12 (full row). Height is in grid units (2-4 typical). Use appd_browse_metric_tree to discover metric paths for widgets. Args:
Returns: The created dashboard object with its new ID. |
| appd_update_dashboardA | Update an existing dashboard's properties and/or widgets. IMPORTANT: If you provide widgets, this REPLACES all existing widgets. To add a single widget without losing existing ones, use appd_add_widget_to_dashboard instead. Args:
Returns: The updated dashboard object. |
| appd_add_widget_to_dashboardA | Add a single widget to an existing dashboard without replacing existing widgets. This fetches the current dashboard, appends the new widget, and saves it. Widget types (use exact names):
Args:
Returns: The updated dashboard with the new widget added. |
| appd_clone_dashboardA | Clone an existing dashboard with a new name. Creates an exact copy of the source dashboard (including all widgets) with the specified new name. Args:
Returns: The newly created dashboard with its new ID. |
| appd_delete_dashboardA | Delete a custom dashboard. This action is PERMANENT and cannot be undone. Consider using appd_export_dashboard first to create a backup. Args:
Returns: Confirmation of deletion. |
| appd_auto_build_dashboardA | Automatically build a complete monitoring dashboard for an application. Discovers the application's tiers, business transactions, and health rules, then creates a fully populated multi-section dashboard in AppDynamics. Focus modes:
Args:
Returns: The created dashboard name and ID. |
| appd_export_dashboardA | Export a dashboard as a portable JSON definition. The exported JSON can be used to recreate the dashboard in another controller or back it up. Args:
Returns: Complete dashboard JSON definition suitable for import. |
| appd_import_dashboardA | Create a new dashboard from a JSON definition string. Accepts the JSON output of appd_export_dashboard (or any saved dashboard JSON file) and creates a new dashboard from it. The original ID is always discarded — AppDynamics assigns a fresh one. Typical workflow:
Args:
Returns: The newly created dashboard with its new ID. |
| appd_save_dashboard_fileA | 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:
The file format is identical to appd_export_dashboard output and is directly importable. Widget types (use exact names):
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:
Returns: Absolute path of the saved file and a widget summary. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/asafkiv/appdynamics-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server