MCP Server for AppDynamics REST API integration
npm install @dearvetri/appdynamics-mcp-serverA Model Context Protocol (MCP) server for integrating AppDynamics with Claude Code. This allows you to query AppDynamics data directly from Claude Code for debugging production issues, analyzing metrics, and investigating errors.
- Query applications, nodes, tiers, and backends
- Fetch metrics and performance data
- Get health rule violations and alerts
- Retrieve transaction snapshots and error details
- Support for both Production and Non-Production environments
- Node.js 18 or higher
- AppDynamics account with API access
- Claude Code (or any MCP-compatible client)
1. Install dependencies:
``bash`
cd appdynamics-mcp-server
npm install
2. Build the TypeScript code:
`bash`
npm run build
3. Configuration is already set up at ~/.appdynamics-mcp/config.json
Your configuration file is located at ~/.appdynamics-mcp/config.json and contains credentials for both production and non-production environments.
Security Note: Never commit this file to version control. The config directory is in your home folder and should have restricted permissions.
Add this server to your Claude Code configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
`json`
{
"mcpServers": {
"appdynamics": {
"command": "node",
"args": [
"/Users/vkrishnaraj/work/projects/appdynamicsclaude/appdynamics-mcp-server/dist/index.js"
]
}
}
}
After adding the configuration, restart Claude Code.
Parameters:
- environment (required): "prod" or "nonprod"
Example:
``
Can you list all applications in production?
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the application
Example:
``
Get details for the "lftracingservice" application in production
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the applicationmetricPath
- (required): Metric path (e.g., "Overall Application Performance|*")durationInMins
- (optional): Duration in minutes (default: 60)
Example:
``
Get performance metrics for lftracingservice in production for the last 2 hours
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the application
Example:
``
Show me business transactions for the agentservice application in prod
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the applicationdurationInMins
- (optional): Duration in minutes (default: 60)
Example:
``
Are there any health rule violations for lftracingservice in production in the last hour?
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the applicationdurationInMins
- (optional): Duration in minutes (default: 60)
Example:
``
Get transaction snapshots for fraudsvc in production from the last 30 minutes
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the applicationdurationInMins
- (optional): Duration in minutes (default: 60)
Example:
``
Show me errors in the lftracingservice application in production
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the application
Example:
``
What nodes are running for production-compliance in prod?
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the application
Example:
``
Show me tiers for the lftracingservice application
Parameters:
- environment (required): "prod" or "nonprod"applicationName
- (required): Name of the application
Example:
``
What backends does the agentservice application connect to?
Once configured in Claude Code, you can ask natural language questions like:
- "Show me all applications in production"
- "What errors occurred in lftracingservice in the last hour?"
- "Get health rule violations for fraudsvc in nonprod"
- "Show me slow transactions for production-compliance"
- "What's the response time for lftracingservice in the last 2 hours?"
1. Check that the build completed successfully: npm run build
2. Verify the path in your Claude Code config matches your actual installation path
3. Check that config.json exists and has the correct credentials
1. Verify credentials in ~/.appdynamics-mcp/config.json`
2. Test credentials by making a direct API call:bash`
curl -u "nettracer@nettracer:garaz19xw0qr" \
"https://nettracer.saas.appdynamics.com:443/controller/rest/applications?output=JSON"
1. Verify the application name is correct (case-sensitive)
2. Check the time range - increase durationInMins if needed
3. Ensure the application exists in the specified environment
To make changes to the server:
1. Edit files in src/npm run build
2. Rebuild:
3. Restart Claude Code
For continuous development:
`bash`
npm run watch
- Configuration file contains sensitive credentials
- Keep ~/.appdynamics-mcp/config.json` secure with appropriate file permissions
- Never commit credentials to version control
- Consider using environment variables or secret management for production use
MIT