TrackJS MCP Server
# TrackJS MCP Server
A Model Context Protocol server for TrackJS error monitoring that allows you to query and analyze your JavaScript errors.
## Setup
### 1. Install Dependencies
```bash
npm install
```
### 2. Get Your TrackJS API Credentials
1. Log into your TrackJS account at [https://my.trackjs.com](https://my.trackjs.com)
2. Go to **Account** → **API Keys** (only visible to Account Owners)
3. Copy both your **Customer ID** and **API Key**
### 3. Configure Environment Variables
Copy the example environment file and add your API key:
```bash
cp env.example .env
```
Then edit `.env` with your actual TrackJS API key:
```bash
# Required: Your TrackJS API key
TRACKJS_API_KEY=your_actual_api_key_here
# Required: Your TrackJS Customer ID
TRACKJS_CUSTOMER_ID=your_actual_customer_id_here
# Optional: Custom API base URL (defaults to https://api.trackjs.com)
TRACKJS_BASE_URL=https://api.trackjs.com
```
### 4. Build the Project
```bash
npm run build
```
### 5. Run the Server
```bash
npm start
```
## Available Tools
This MCP server provides the following tools:
- **get_errors** - Retrieve recent errors with optional filtering (application, environment, date range, etc.)
- **get_error_details** - Get detailed information about a specific error by ID
- **get_error_messages** - Get most common error messages with counts and sorting options
## Usage Examples
Once connected via MCP, you can ask questions like:
- "Show me recent errors from the last 24 hours"
- "What are the most common error messages?"
- "Show me errors sorted by user impact"
- "Get details for error ID abc123"
## MCP Client Configuration
### Claude Desktop Configuration
To use this server with Claude Desktop, add the following to your Claude Desktop MCP configuration file:
**Location:** `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
```json
{
"mcpServers": {
"trackjs": {
"command": "node",
"args": ["/absolute/path/to/trackjs-mcp/dist/index.js"],
"env": {
"TRACKJS_API_KEY": "your_trackjs_api_key_here",
"TRACKJS_BASE_URL": "https://api.trackjs.com/v1"
}
}
}
}
```
**Important:** Replace `/absolute/path/to/trackjs-mcp/` with the actual path to this project directory.
### Alternative: Using .env file
If you prefer to use the `.env` file approach (recommended), configure like this:
```json
{
"mcpServers": {
"trackjs": {
"command": "node",
"args": ["/absolute/path/to/trackjs-mcp/dist/index.js"],
"cwd": "/absolute/path/to/trackjs-mcp"
}
}
}
```
This way, the server will automatically load environment variables from your `.env` file.
After adding the configuration:
1. Restart Claude Desktop
2. The TrackJS tools should be available in your Claude conversations
## Development
```bash
# Development mode with hot reload
npm run dev
# Build TypeScript
npm run build
# Clean build artifacts
npm run clean
```
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: get_errors lists errors with filtering, get_error_details retrieves specifics for a single error, and get_error_messages aggregates common messages. There is no overlap or ambiguity between them.
All tools follow the same verb_noun pattern (get_errors, get_error_details, get_error_messages) using snake_case consistently. The naming convention is uniform and predictable.
With only 3 tools, the set is well-scoped for a focused error-monitoring server. Each tool serves a necessary function and none feel redundant or excessive.
The server covers the core read-only workflow: listing/filtering errors, viewing details, and aggregating messages. It lacks write/update operations, but that appears outside its intended scope as a retrieval-focused tool.