incident-io/incidentio-mcp-golang
If you are the rightful owner of incidentio-mcp-golang and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The incident.io MCP Server is a GoLang implementation of a Model Context Protocol server designed to interact with the incident.io V2 API, providing comprehensive tools for incident management and workflow automation.
incident.io MCP Server
A GoLang implementation of an MCP (Model Context Protocol) server for incident.io, providing tools to interact with the incident.io V2 API.
⚠️ Fair warning! ⚠️
This repository is largely vibe-coded and unsupported. Built by our CMO and an enterprising Solutions Engineer with questionable coding practices but undeniable enthusiasm. Use at your own risk! 🚀
🚀 Quick Start
# 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
# Build and run
go build -o bin/mcp-server ./cmd/mcp-server
./start-mcp-server.sh
📋 Features
- ✅ Complete incident.io V2 API coverage
- ✅ Workflow automation and management
- ✅ Alert routing and event handling
- ✅ Comprehensive test suite
- ✅ MCP protocol compliant
- ✅ Clean, modular architecture
🤖 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": "/path/to/incidentio-mcp-golang/start-mcp-server.sh",
"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
Alert Management
list_alerts
- List alerts with optional filtersget_alert
- Get details of a specific alertlist_alerts_for_incident
- List alerts for an incidentcreate_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
📝 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"
📚 Documentation
- - Setup, testing, and contribution guidelines
- - Environment variables and deployment options
- - How to contribute to the project
- - Testing documentation and best practices
- - Deployment instructions and considerations
- - Community guidelines and standards
🔧 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_id
as 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 for details on setup, testing, and contribution guidelines.
📄 License
This project is licensed under the MIT License - see the file for details.
🙏 Acknowledgments
- Built with the Model Context Protocol specification
- Powered by incident.io API
- Created with assistance from Claude