Skip to main content
Glama
vltansky

GlitchTip MCP Server

by vltansky

GlitchTip MCP Server

MCP server for integrating GlitchTip error monitoring with AI assistants like Claude.

Installation

Prerequisites

  1. Cursor IDE installed

  2. GlitchTip API token or session ID

  3. Your GlitchTip organization slug

Quick Install

Install MCP Server

Click the button above and follow the installation flow, or manually configure:

Manual Configuration

  1. Open your MCP configuration file:

    • Global (all projects): ~/.cursor/mcp.json

    • Project-specific: .cursor/mcp.json in project root

  2. Add the following configuration:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"],
      "env": {
        "GLITCHTIP_TOKEN": "your-api-token",
        "GLITCHTIP_ORGANIZATION": "your-org-slug",
        "GLITCHTIP_BASE_URL": "https://app.glitchtip.com"
      }
    }
  }
}
  1. Replace the environment variables with your actual values

  2. Save the file and restart Cursor

For better security, store credentials in a .env file:

  1. Create .env in your project root:

GLITCHTIP_TOKEN=your-api-token
GLITCHTIP_ORGANIZATION=your-org-slug
GLITCHTIP_BASE_URL=https://app.glitchtip.com
  1. Update .cursor/mcp.json:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"]
    }
  }
}
  1. Add .env to .gitignore:

echo ".env" >> .gitignore

Verify Installation

  1. Restart Cursor completely

  2. Check for green dot in Settings → Tools & Integrations → MCP Tools

  3. In chat/composer, check "Available Tools"

  4. Test with: "Show me GlitchTip errors"

Prerequisites

  1. Claude Desktop installed

  2. GlitchTip API token or session ID

  3. Your GlitchTip organization slug

Configuration

  1. Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. Add the following configuration:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"],
      "env": {
        "GLITCHTIP_TOKEN": "your-api-token",
        "GLITCHTIP_ORGANIZATION": "your-org-slug",
        "GLITCHTIP_BASE_URL": "https://app.glitchtip.com"
      }
    }
  }
}
  1. Replace the environment variables with your actual values

  2. Save the file and restart Claude Desktop

For better security, store credentials in a .env file:

  1. Create .env in your project root:

GLITCHTIP_TOKEN=your-api-token
GLITCHTIP_ORGANIZATION=your-org-slug
GLITCHTIP_BASE_URL=https://app.glitchtip.com
  1. Update claude_desktop_config.json:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"]
    }
  }
}
  1. Add .env to .gitignore:

echo ".env" >> .gitignore

Verify Installation

  1. Restart Claude Desktop completely

  2. Look for the šŸ”Œ icon in the bottom right

  3. Click it to see available MCP servers

  4. Test with: "Show me GlitchTip errors"

Prerequisites

  1. Claude Code CLI installed

  2. GlitchTip API token or session ID

  3. Your GlitchTip organization slug

Installation

Run the following command in your terminal:

claude mcp add glitchtip -e GLITCHTIP_TOKEN=your-api-token -e GLITCHTIP_ORGANIZATION=your-org-slug -e GLITCHTIP_BASE_URL=https://app.glitchtip.com -- npx -y glitchtip-mcp

For better security, store credentials in a .env file:

  1. Create .env in your project root:

GLITCHTIP_TOKEN=your-api-token
GLITCHTIP_ORGANIZATION=your-org-slug
GLITCHTIP_BASE_URL=https://app.glitchtip.com
  1. Add the MCP server:

claude mcp add glitchtip -e GLITCHTIP_TOKEN=$(grep GLITCHTIP_TOKEN .env | cut -d '=' -f2) -e GLITCHTIP_ORGANIZATION=$(grep GLITCHTIP_ORGANIZATION .env | cut -d '=' -f2) -e GLITCHTIP_BASE_URL=$(grep GLITCHTIP_BASE_URL .env | cut -d '=' -f2) -- npx -y glitchtip-mcp
  1. Add .env to .gitignore:

echo ".env" >> .gitignore

Configuration Scopes

  • -s user: Available across all projects

  • -s project: Shared via .mcp.json file (committed to repo)

  • Default: local (current project only)

Verify Installation

claude mcp list
claude mcp get glitchtip

Test with: "Show me GlitchTip errors"

Prerequisites

  1. VS Code installed

  2. Cline extension installed

  3. GlitchTip API token or session ID

  4. Your GlitchTip organization slug

Configuration

  1. Open VS Code

  2. Click the MCP Servers icon (šŸ“š) in the Cline extension

  3. Click the "Installed" tab

  4. Click "Configure MCP Servers"

  5. Add the following to cline_mcp_settings.json:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"],
      "env": {
        "GLITCHTIP_TOKEN": "your-api-token",
        "GLITCHTIP_ORGANIZATION": "your-org-slug",
        "GLITCHTIP_BASE_URL": "https://app.glitchtip.com"
      }
    }
  }
}
  1. Replace the environment variables with your actual values

  2. Save the file

  3. Restart VS Code or reload the Cline extension

For better security, store credentials in a .env file:

  1. Create .env in your project root:

GLITCHTIP_TOKEN=your-api-token
GLITCHTIP_ORGANIZATION=your-org-slug
GLITCHTIP_BASE_URL=https://app.glitchtip.com
  1. Update cline_mcp_settings.json:

{
  "mcpServers": {
    "glitchtip": {
      "command": "npx",
      "args": ["-y", "glitchtip-mcp"]
    }
  }
}
  1. Add .env to .gitignore:

echo ".env" >> .gitignore

Verify Installation

  1. Restart VS Code or reload Cline

  2. Check the MCP Servers panel in Cline

  3. Look for "glitchtip" in the list of connected servers

  4. Test with: "Show me GlitchTip errors"

Related MCP server: Bugsink MCP Server

Getting Your GlitchTip Credentials

  1. Log in to GlitchTip

  2. Go to https://app.glitchtip.com/profile/auth-tokens

  3. Create a new API token

  4. Copy the token

  1. Log in to GlitchTip

  2. Open browser DevTools (F12)

  3. Go to Application/Storage → Cookies

  4. Copy the sessionid cookie value

Configuration

Variable

Required

Description

Default

GLITCHTIP_TOKEN

Yes*

API token

-

GLITCHTIP_SESSION_ID

Yes*

Session cookie

-

GLITCHTIP_ORGANIZATION

Yes

Organization slug

-

GLITCHTIP_BASE_URL

No

Instance URL

https://app.glitchtip.com

*Either GLITCHTIP_TOKEN or GLITCHTIP_SESSION_ID is required

Available Tools

glitchtip_issues

Fetches issues from GlitchTip.

Parameters:

  • status (optional): 'resolved', 'unresolved', or 'all' (default: 'unresolved')

Examples:

  • "Show me all GlitchTip errors"

  • "Get resolved issues"

  • "Show all issues including resolved"

glitchtip_latest_event

Gets the latest event for a specific issue with full context.

Parameters:

  • issueId: The issue ID

Example: "Get details for issue #123"

Available Resources

glitchtip://issues

Resource endpoint providing all current issues in JSON format.

Available Prompts

recent_errors

Get overview of recent production errors with analysis and prioritization.

Use case: Quick triage of production issues

Example: "Use the recent_errors prompt"

debug_issue

Deep-dive into a specific error with full context and suggested fixes.

Parameters:

  • issueId: The issue ID to debug

Use case: Detailed investigation of a specific error

Example: "Use the debug_issue prompt for issue 12345"

Usage Examples

Debug Production Error

User: "Check GlitchTip for recent 500 errors"

AI: I found 3 recent 500 errors:
1. DatabaseConnectionError in /api/users
2. TimeoutError in payment processing
3. ValidationError in checkout flow

User: "Show me details about the payment timeout"

AI: [Analyzes event] The TimeoutError occurs when...
[Provides stack trace and suggested fixes]
User: "What are the most frequent errors?"

AI: Top errors by frequency:
1. CORS policy errors (145 occurrences)
2. Missing auth token (89 occurrences)
3. Rate limit exceeded (67 occurrences)

Use Prompts for Guided Analysis

User: "Use the recent_errors prompt"

AI: [Analyzes all unresolved issues]
Summary:
- 23 unresolved errors across 5 projects
- Critical: DatabaseConnectionError (89 occurrences)
- High: TimeoutError in payment flow (45 occurrences)
- Medium: ValidationErrors (12 occurrences)

Recommended prioritization:
1. Fix database connection pooling
2. Investigate payment timeout root cause
3. Add validation for edge cases

User: "Use the debug_issue prompt for issue 12345"

AI: [Deep-dives into specific error with stack trace and fix suggestions]

Troubleshooting

Authentication Failed

  • Verify your token/session ID is valid

  • Check organization slug is correct

  • Ensure token has appropriate permissions

Connection Error

  • Verify GLITCHTIP_BASE_URL is correct

  • Check network connectivity

  • Ensure GlitchTip instance is accessible

No Issues Found

  • Verify issues exist in GlitchTip

  • Check organization slug

  • Ensure you have permission to view issues

Security

  • Never commit .mcp.json, .cursor/mcp.json, or .env to version control

  • Use .env files for storing secrets (automatically ignored by git if added to .gitignore)

  • Use API tokens instead of session IDs for team usage

  • Each developer should use their own credentials


Development & Contributing

Installation

npm install

Build

npm run build

Watch Mode

npm run watch

Test with MCP Inspector

export GLITCHTIP_TOKEN="your-token"
export GLITCHTIP_ORGANIZATION="your-org"
npm run inspector

Project Structure

glitchtip-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ types.ts      # TypeScript type definitions
│   ā”œā”€ā”€ client.ts     # GlitchTip API client
│   └── index.ts      # MCP server implementation
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
└── README.md

License

MIT


Based on mcp-glitchtip

Available Tools

2 tools
glitchtip_issuesC

Get all issues from GlitchTip

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter issues by status: 'resolved', 'unresolved', or 'all' (default: 'unresolved')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get all issues' implies a read operation, but it doesn't specify whether this is paginated, rate-limited, requires authentication, or what format the returned data takes. For a tool with no annotation coverage, this leaves significant behavioral gaps unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose ('Get all issues'), making it immediately scannable and efficient. Every word earns its place without redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a tool that presumably returns a list of issues. It doesn't explain what an 'issue' entails in GlitchTip, the return format, or any limitations (e.g., pagination). For a read operation with no structured output documentation, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'status' fully documented in the schema (including enum values and default). The description doesn't add any parameter semantics beyond what the schema provides, such as explaining what 'all' means in context or how filtering works. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get all issues from GlitchTip' clearly states the action (Get) and resource (issues from GlitchTip), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'glitchtip_latest_event', which suggests it might be for retrieving a single recent event rather than all issues. The description is specific but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'glitchtip_latest_event' or explain scenarios where one would choose 'get all issues' over 'get latest event'. There's no context about prerequisites, timing, or exclusions, leaving usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glitchtip_latest_eventB

Get the latest event for a specific issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesThe issue ID to get the latest event for

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves the latest event but doesn't describe any behavioral traits such as permissions needed, rate limits, error handling, or what 'latest' means (e.g., chronological order). This leaves significant gaps for a tool that likely involves data access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks behavioral details and usage context, making it incomplete for optimal agent operation without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'issueId' parameter documented as 'The issue ID to get the latest event for'. The description doesn't add any additional meaning beyond this, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the target resource ('latest event for a specific issue'), making the purpose understandable. However, it doesn't differentiate from the sibling tool 'glitchtip_issues', which could be a broader issues-related tool, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'glitchtip_issues' or any other context for usage, leaving the agent with no explicit or implied direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedglitchtip_issues
    • First observedglitchtip_latest_event

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves all issues, while the other fetches the latest event for a specific issue. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.

Naming Consistency5/5

Both tools follow a consistent naming pattern with the prefix 'glitchtip_' followed by a descriptive noun phrase (issues, latest_event). This uniformity enhances readability and predictability, adhering to a clear convention throughout the tool set.

Tool Count2/5

With only two tools, the server feels under-scoped for a monitoring or error-tracking domain like GlitchTip. Essential operations such as creating, updating, or resolving issues are missing, which limits the server's utility and suggests an incomplete implementation.

Completeness2/5

The tool set is severely incomplete for error tracking. While it allows reading issues and events, it lacks CRUD operations (e.g., create, update, delete issues) and other key functionalities like searching or filtering, which are critical for comprehensive agent workflows in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Glitchtip error tracking platform through natural language. Provides access to issues, events, projects, teams, and organization management for comprehensive error monitoring and debugging.
    7
    39
    3
    AGPL 3.0
  • A
    license
    B
    quality
    F
    maintenance
    Enables AI assistants to query and analyze errors from Bugsink self-hosted error tracking instances. Supports listing projects, teams, issues, and viewing detailed error events with stacktraces.
    16
    850
    16
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to query, analyze, and resolve errors within the GlitchTip error tracking platform by providing access to issue details and stacktraces. It allows users to list unresolved issues and mark them as fixed using natural language commands.
    3
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Connects AI tools directly to Codemend production error monitoring to list, analyze, and resolve software crashes. It enables users to retrieve AI-generated fixes and automatically open GitHub pull requests to address production issues.
    5
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vltansky/glitchtip-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server