AppSignal MCP Server

by davidteren

319 downloads
Not rated
GitHub

Description

# AppSignal MCP Server A Model Context Protocol (MCP) server that provides integration with AppSignal monitoring and APM tools. This server allows AI assistants to fetch metrics, analyze performance, investigate errors, and generate reports from your AppSignal-monitored…

About

# AppSignal MCP Server A Model Context Protocol (MCP) server that provides integration with AppSignal monitoring and APM tools. This server allows AI assistants to fetch metrics, analyze performance, investigate errors, and generate reports from your AppSignal-monitored applications. ## Features ### Tools -…

Details

Author
davidteren
Downloads
319
Categories
Other, Infrastructure

- Tools for listing applications, fetching metrics, and retrieving samples
- Resource endpoints for application info and available metrics
- Prompts for guided performance analysis and error investigation
- Customizable timeframes and fields for metric queries
- Filtering by exception type and limiting sample results

Install by cloning the repository, running npm install, and configuring a .env file with your APPSIGNAL_API_TOKEN, APPSIGNAL_APP_IDS, and APPSIGNAL_APP_NAMES. For Claude Desktop, add a server entry in claude_desktop_config.json pointing to the built dist/index.js. For other MCP clients, build with npm run build and start with npm start.

AppSignal MCP Server

A Model Context Protocol (MCP) server that provides integration with AppSignal monitoring and APM tools. This server allows AI assistants to fetch metrics, analyze performance, investigate errors, and generate reports from your AppSignal-monitored applications.

Features

Tools

- list_applications - List all configured AppSignal applications - get_metrics - Fetch performance metrics with customizable timeframes and fields - get_samples - Retrieve error and performance samples with filtering - get_sample_details - Get detailed information about specific samples

Resources

- Application listings and information - Available metrics documentation - Per-application resource endpoints

Prompts

- analyze_performance - Guided performance analysis workflow - investigate_errors - Structured error investigation - performance_report - Comprehensive performance reporting

Installation

1. Clone this repository:

git clone <repository-url>
cd appsignal-mcp-server-2

2. Install dependencies:

npm install

3. Create a .env file based on .env.example:

cp .env.example .env

4. Configure your AppSignal credentials in .env:

APPSIGNAL_API_TOKEN=your_personal_api_token
APPSIGNAL_APP_IDS=app_id_1,app_id_2
APPSIGNAL_APP_NAMES=Production,Staging

Getting Your AppSignal API Token

1. Log in to your AppSignal account
2. Go to Personal Settings
3. Find your personal API token
4. Copy it to your .env file

Finding Application IDs

1. Open your application in AppSignal
2. Look at the URL: https://appsignal.com/your-org/sites/YOUR_APP_ID
3. Copy the application ID from the URL

Usage

With Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "appsignal": {
      "command": "node",
      "args": ["/path/to/appsignal-mcp-server-2/dist/index.js"],
      "env": {
        "APPSIGNAL_API_TOKEN": "your_token",
        "APPSIGNAL_APP_IDS": "app_id_1,app_id_2",
        "APPSIGNAL_APP_NAMES": "Production,Staging"
      }
    }
  }
}

With Other MCP Clients

Build and run the server:

npm run build
npm start

Development

Run in development mode with auto-reload:

npm run dev

Example Queries

Once connected to an MCP client, you can ask questions like:

- "What's the average response time for my production app over the last 24 hours?"
- "Show me the most recent errors in the staging environment"
- "Which endpoints are the slowest in my application?"
- "Generate a performance report for the last week"
- "Investigate NoMethodError exceptions from today"

Tool Examples

List Applications

list_applications()

Get Metrics

get_metrics({
  "appId": "your_app_id",
  "timeframe": "day",
  "fields": ["mean", "count"],
  "actionName": "BlogPostsController#show"
})

Get Error Samples

get_samples({
  "appId": "your_app_id",
  "type": "errors",
  "exception": "NoMethodError",
  "limit": 20
})

Get Sample Details

get_sample_details({
  "appId": "your_app_id",
  "sampleId": "sample_id_here"
})

Troubleshooting

Common Issues

1. Authentication Error: Ensure your API token is correct and has the necessary permissions
2. Application Not Found: Verify the application ID is correct
3. No Data Returned: Check that your application has data for the requested timeframe

Debug Mode

Set the DEBUG environment variable for more verbose logging:

DEBUG=* npm start

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.