incident.io
An MCP server for interacting with the incident.io V2 API for incident management.
incident.io MCP Server
A GoLang implementation of an MCP (Model Context Protocol) server for incident.io, providing comprehensive tools to interact with the incident.io API. Built following industry-standard Go project layout patterns.
⚠️ Fair warning! ⚠️
We're experimenting a fair bit in the MCP space, so use at your own risk! 🚀 If you find issues, please raise issues in the repository.
🚀 Quick Start
go run github.com/incident-io/incidentio-mcp-golang/cmd/mcp-server@latest
📋 Features
- ✅ Complete incident.io V2 API coverage including Custom Fields
- ✅ Workflow automation and management
- ✅ Alert routing and event handling
- ✅ Comprehensive test suite
- ✅ MCP protocol compliant
- ✅ Industry-standard Go project structure
- ✅ Clean, layered architecture (client → handlers → server)
🤖 Using with Claude
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"incidentio": {
"command": "go",
"args":[
"run",
"github.com/incident-io/incidentio-mcp-golang/cmd/mcp-server@latest"
],
"env": {
"INCIDENT_IO_API_KEY": "your-api-key"
}
}
}
}
Or, if you'd prefer to run everything in Docker:
# Clone the repository
git clone https://github.com/incident-io/incidentio-mcp-golang.git
cd incidentio-mcp-golang
# Set up environment
cp .env.example .env
# Edit .env and add your incident.io API key
{
"mcpServers": {
"incidentio": {
"command": "docker-compose",
"args": ["-f", "/path/to/docker-compose.yml", "run", "--rm", "-T", "mcp-server"],
"env": {
"INCIDENT_IO_API_KEY": "your-api-key"
}
}
}
}
Available Tools
Incident Management
list_incidents- List incidents with optional filtersget_incident- Get details of a specific incidentcreate_incident- Create a new incidentupdate_incident- Update an existing incidentclose_incident- Close an incident with proper workflowcreate_incident_update- Post status updates to incidents
Follow-up Management
list_follow_ups- List follow-ups with optional filtersget_follow_up- Get details of a specific follow-up
Postmortem Management
list_postmortems- List postmortem documents with optional filtersget_postmortem- Get metadata for a specific postmortem documentget_postmortem_content- Get the full markdown content of a postmortem
Alert Management
list_alerts- List alerts with optional filtersget_alert- Get details of a specific alertlist_incident_alerts- List connections between incidents and alertscreate_alert_event- Create an alert eventlist_alert_routes- List and manage alert routes
Workflow & Automation
list_workflows- List available workflowsget_workflow- Get workflow detailsupdate_workflow- Update workflow configuration
Team & Roles
list_users- List organization userslist_available_incident_roles- List available incident rolesassign_incident_role- Assign roles to users
Catalog Management
list_catalog_types- List available catalog typeslist_catalog_entries- List catalog entriesupdate_catalog_entry- Update catalog entries
Custom Fields
list_custom_fields- List all custom fieldsget_custom_field- Get details of a specific custom fieldsearch_custom_fields- Search for custom fields by name or typecreate_custom_field- Create a new custom fieldupdate_custom_field- Update custom field configurationdelete_custom_field- Delete a custom fieldlist_custom_field_options- List all custom field optionscreate_custom_field_option- Add a new option to a select field
📝 Example Usage
# Through Claude or another MCP client
"Show me all active incidents"
"Create a new incident called 'Database performance degradation' with severity high"
"List alerts for incident INC-123"
"Assign John Doe as incident lead for INC-456"
"Update the Payments service catalog entry with new team information"
"Show me all custom fields configured in incident.io"
"Search for custom fields related to 'priority'"
"Create a new custom field called 'Root Cause' with type single_select"
"List all postmortems for incident INC-123"
"Get the full content of the postmortem for our last major incident"
📚 Documentation
- Development Guide - Setup, testing, and contribution guidelines
- Configuration Guide - Environment variables and deployment options
- Contributing Guide - How to contribute to the project
- Testing Guide - Testing documentation and best practices
- Deployment Guide - Deployment instructions and considerations
- Code of Conduct - Community guidelines and standards
🏗️ Project Structure
This project follows industry-standard Go project layout:
├── cmd/mcp-server/ # Main application entry point
├── internal/
│ ├── client/ # incident.io API client (HTTP layer)
│ ├── handlers/ # MCP protocol handlers (adapter layer)
│ └── server/ # MCP server orchestration
├── pkg/mcp/ # Public MCP types
└── docs/ # Documentation
Design Philosophy:
internal/client: Pure HTTP API client for incident.io - reusable, testableinternal/handlers: MCP protocol adapters - converts MCP requests to API callsinternal/server: MCP server that orchestrates handlers and manages the protocol
🔧 Troubleshooting
Common Issues
- 404 errors: Ensure incident IDs are valid and exist in your instance
- Authentication errors: Verify your API key is correct and has proper permissions
- Parameter errors: All incident-related tools use
incident_idas the parameter name
Debug Mode
Enable debug logging by setting environment variables:
export MCP_DEBUG=1
export INCIDENT_IO_DEBUG=1
./start-mcp-server.sh
🤝 Contributing
Contributions are welcome! Please see our Development Guide for details on setup, testing, and contribution guidelines.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with the Model Context Protocol specification
- Powered by incident.io API
- Created with assistance from Claude
İlgili Sunucular
Procesio MCP Server
Interact with the Procesio automation platform API.
Eloa - AI Content Curator
All your RSS feeds aggregated in one place. Eloa highlights what's new, shows the source, and how long ago it was published. Filter by read and unread.
SilverBullet MCP Server
An MCP server that enables LLMs and other clients to interact with your SilverBullet notes and data.
Intelligent Form Collection Server
An intelligent form collection server for conflict mediation, integrating with large model platforms like Cursor and Dify via the MCP protocol.
Bitly MCP Server
Turn your AI assistant into a digital marketing hub that creates, organizes, and analyzes links and QR Codes on demand.
Bookstack MCP
An MCP server for interacting with Bookstack, built with the mcp-framework for Node.js.
Time MCP Server
Provides current time information and timezone conversion capabilities.
Vynn
Self-improving AI workflows with natural language backtesting. 21 MCP tools for creating workflows, backtesting trading strategies, parameter sweeps, portfolio optimization, prompt optimization, cron scheduling, and webhook triggers. Install: pip install vynn-mcp
Rememberizer Common Knowledge
Access personal and team knowledge repositories, including documents and Slack discussions.
Homelab MCP Server
Manage and monitor homelab systems via SSH.