loading…
Search for a command to run...
loading…
Integrates Monti APM with the Model Context Protocol to provide AI assistants with access to Meteor application performance monitoring data. It enables users to
Integrates Monti APM with the Model Context Protocol to provide AI assistants with access to Meteor application performance monitoring data. It enables users to monitor system metrics, analyze method execution traces, and track application errors through natural language.
A Model Context Protocol (MCP) server that integrates with Monti APM to provide AI assistants with access to your Meteor application's performance monitoring data.
This MCP server exposes Monti APM data through the Model Context Protocol, allowing AI assistants like Claude Desktop to:
git clone <repository-url>
cd sdui-mcp-monti-apm
npm install
Copy the example environment file and configure your credentials:
cp .env.example .env
Edit .env with your Monti APM credentials:
# Monti APM Configuration
MONTI_APP_ID=your_app_id_here
MONTI_APP_SECRET=your_app_secret_here
MONTI_API_URL=https://api.montiapm.com/core
MONTI_AUTH_URL=https://api.montiapm.com/auth
# Server Configuration
PORT=4002
NODE_ENV=development
# Logging
LOG_LEVEL=info
LOG_FILE=./logs/mcp-monti.log
npm run build
npm start
Add the server to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"monti-apm": {
"command": "node",
"args": ["/path/to/sdui-mcp-monti-apm/dist/index.js"],
"env": {
"MONTI_APP_ID": "your_app_id",
"MONTI_APP_SECRET": "your_app_secret"
}
}
}
}
getSystemMetrics(metric: 'RAM_USAGE' | 'CPU_USAGE' | 'NETWORK_IN' | 'NETWORK_OUT' | 'DISK_USAGE')
Retrieve system performance metrics with optional filtering by host and time range.
getMethodTraces(options?: { minDuration, maxDuration, host, userId, limit, since, until })
Analyze method execution traces to identify performance bottlenecks.
getErrors(options?: { limit, since, until, host, resolved })
Retrieve application errors and exceptions for debugging.
runMontiQuery(query: string, variables?: object)
Execute custom GraphQL queries against the Monti APM API.
getAppInfo()
Retrieve basic information about your monitored application.
getAvailableHosts()
List all monitored hosts to identify development vs production deployments.
This MCP server supports filtering data by deployment host, perfect for separating development and production monitoring:
// List available hosts
getAvailableHosts()
// Returns: Development hosts (e.g., "MBPvonJMichael2.pioneers") and Production hosts
// Development environment monitoring
getSystemMetrics({host: "MBPvonJMichael2.pioneers", metric: "RAM_USAGE"})
getMethodTraces({host: "MBPvonJMichael2.pioneers", limit: 20})
getErrors({host: "MBPvonJMichael2.pioneers", limit: 10})
// Production environment monitoring
getSystemMetrics({host: "plaiground01-plAIground", metric: "RAM_USAGE"})
getMethodTraces({host: "plaiground01-plAIground", limit: 20})
getErrors({host: "plaiground01-plAIground", limit: 10})
// Compare CPU usage across environments
getSystemMetrics({host: "MBPvonJMichael2.pioneers", metric: "CPU_USAGE"}) // Dev
getSystemMetrics({host: "plaiground01-plAIground", metric: "CPU_USAGE"}) // Prod
monti://metric/{metric_type} - Access cached metric datamonti://trace/{trace_id} - Individual method trace details monti://error/{error_id} - Specific error detailsmonti://app - Application information# Development with hot reload
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lint
# Format code
npm run format
src/
├── lib/
│ ├── logger.ts # Winston logging configuration
│ ├── montiAuth.ts # JWT authentication with Monti APM
│ └── montiClient.ts # GraphQL client for Monti API
├── mcp/
│ └── schema.ts # MCP tools and resources definitions
├── server.ts # Main MCP server implementation
└── index.ts # Application entry point
.env files containing credentials| Variable | Description | Default |
|---|---|---|
MONTI_APP_ID |
Your Monti APM App ID | Required |
MONTI_APP_SECRET |
Your Monti APM App Secret | Required |
MONTI_API_URL |
Monti APM GraphQL API endpoint | https://api.montiapm.com/core |
MONTI_AUTH_URL |
Monti APM authentication endpoint | https://api.montiapm.com/auth |
PORT |
Server port (not used in MCP mode) | 4002 |
NODE_ENV |
Environment mode | development |
LOG_LEVEL |
Logging level | info |
LOG_FILE |
Log file path | ./logs/mcp-monti.log |
DEV_HOST_PATTERNS |
Development host patterns (comma-separated) | mbp,macbook,pioneers |
DEFAULT_HOST |
Default host filter for tools | None |
DEFAULT_ENV_MODE |
Default environment mode (dev, prod, all) |
all |
If you're getting authentication errors:
MONTI_APP_ID and MONTI_APP_SECRET are correctFor API connection problems:
If Claude Desktop isn't recognizing the server:
MIT License - see LICENSE file for details.
For issues specific to this MCP server, please open a GitHub issue.
For Monti APM support, visit https://docs.montiapm.com.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"monti-apm-mcp-server": {
"command": "npx",
"args": []
}
}
}