A Model Context Protocol (MCP) server for AppSignal monitoring API integration. This server allows AI assistants to directly query and fetch error and performance data from AppSignal through the MCP protocol.
- Fetch details about specific error or performance samples
- Search for errors, performance samples, or both with flexible filters
- Integration with AppSignal's Error and Performance Monitoring APIs
- Bun runtime
- AppSignal account and API token
- Application ID from your AppSignal dashboard
# Clone the repository
git clone https://github.com/pauldub/appsignal-mcp.git
cd appsignal-mcp
# Install dependencies
bun installCreate a .env file in the root directory with your AppSignal credentials:
# Server configuration
PORT=3000
LOG_LEVEL=info
# AppSignal configuration
APPSIGNAL_API_TOKEN=your-api-token# Run the server
bun start
# Development mode with auto-reload
bun dev
# Run tests
bun test
# Build a standalone executable
bun run buildappsignal-mcp --appsignal-api-token your-tokenAvailable options:
--appsignal-api-token <token>- AppSignal API token--log-level <level>- Logging level (debug, info, warn, error)--port <port>- Server port number
Gets details about a specific sample by ID (error or performance).
Parameters:
sampleId(string, required): The AppSignal sample IDappId(string, required): The AppSignal application ID
Searches for samples in an application with optional filters.
Parameters:
appId(string, required): The AppSignal application IDsample_type(string, optional): Type of samples to search - "all", "errors", or "performance" (defaults to "errors")exception(string, optional): Filter by exception name (e.g., "NoMethodError") - only applicable for error samplesaction_id(string, optional): Filter by action name (e.g., "BlogPostsController-hash-show")since(string/number, optional): Start timestamp in UTC (timestamp or ISO format)before(string/number, optional): End timestamp in UTC (timestamp or ISO format)limit(number, optional): Maximum number of samples to return (defaults to 10)count_only(boolean, optional): Only return the count, not the samples
To use this MCP server with Claude, create a .mcp.json file in your Claude Code workspace:
{
"mcpServers": {
"appsignal-mcp": {
"type": "stdio",
"command": "bun",
"args": [
"run",
"start"
],
"env": {
"APPSIGNAL_API_TOKEN": "your-api-token"
}
}
}
}MIT