Model Context Protocol (MCP)
Unizo offers an MCP server that integrates incident management platforms with any LLM provider supporting the MCP protocol. This enables your AI agent to create incidents, track incident status, coordinate response teams, and automate incident workflows across PagerDuty, Opsgenie, Incident.io, and other incident management solutions via a single MCP server.
Supported Tools & Use Cases
The following tools are available in the Incident Management MCP Server:
| Tool Name | Description |
|---|---|
incident_list_connectors | Get list of available incident management services |
incident_list_integrations | Get integrations for a specific incident service |
incident_list_organizations | Browse organizations |
incident_get_organization | Retrieve organization details |
incident_list_services_for_org | Browse services within an organization |
incident_get_service | Retrieve service details |
incident_list_teams | Browse teams for a service |
incident_get_team | Retrieve team details |
incident_list_incidents | Browse incidents for a team |
incident_get_incident | Retrieve incident details |
incident_create_incident | Create a new incident |
incident_update_incident | Update an existing incident |
Tool Reference
Service Discovery Tools
incident_list_connectors
Get list of available incident management services
Parameters: None
Returns: List of available incident management services (e.g., PagerDuty, Opsgenie, Incident.io)
Example Response:
[
{"name": "pagerduty"},
{"name": "opsgenie"},
{"name": "incident_io"},
{"name": "statuspage"}
]
incident_list_integrations
Get integrations for a specific incident management service
Parameters:
connector(string, required): Name of the service (e.g., "pagerduty", "opsgenie")
Returns: List of integrations available for the specified service
Example Response:
[
{
"id": "integration-123",
"name": "Production PagerDuty"
},
{
"id": "integration-456",
"name": "Development Opsgenie"
}
]
Organization Management Tools
incident_list_organizations
Browse organizations
Parameters:
integration_id(string, required): Unique identifier for the integration
Returns: List of organizations
Example Response:
{
"status": "success",
"message": "Retrieved 2 organizations",
"data": {
"organizations": [
{
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation",
"changeLog": {
"createdDateTime": "2023-01-15T10:00:00Z",
"lastUpdatedDateTime": "2024-11-01T14:30:00Z"
}
},
{
"id": "ORG-456",
"login": "acme-dev",
"name": "Acme Development",
"changeLog": {
"createdDateTime": "2023-06-20T11:00:00Z",
"lastUpdatedDateTime": "2024-10-28T16:45:00Z"
}
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"total_count": 2
}
}
incident_get_organization
Retrieve organization details
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organization
Returns: Organization details
Example Response:
{
"status": "success",
"message": "Retrieved organization details for ORG-123",
"data": {
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation",
"changeLog": {
"createdDateTime": "2023-01-15T10:00:00Z",
"lastUpdatedDateTime": "2024-11-01T14:30:00Z"
}
}
}
}
Service Management Tools
incident_list_services_for_org
Browse services within an organization
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organization
Returns: List of services
Example Response:
{
"status": "success",
"message": "Retrieved 4 services for organization ORG-123",
"data": {
"services": [
{
"href": "https://api.pagerduty.com/services/PSVC123",
"type": "service",
"id": "PSVC123",
"name": "Payment API",
"description": "Core payment processing service",
"team": {
"id": "PTEAM456",
"name": "Payments Team",
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team"
},
"url": "https://acme-corp.pagerduty.com/services/PSVC123",
"changeLog": {
"createdDateTime": "2023-03-10T09:00:00Z",
"lastUpdatedDateTime": "2024-11-02T10:15:00Z"
}
},
{
"href": "https://api.pagerduty.com/services/PSVC124",
"type": "service",
"id": "PSVC124",
"name": "User Authentication",
"description": "User authentication and authorization service",
"team": {
"id": "PTEAM457",
"name": "Identity Team",
"href": "https://api.pagerduty.com/teams/PTEAM457",
"type": "team"
},
"url": "https://acme-corp.pagerduty.com/services/PSVC124",
"changeLog": {
"createdDateTime": "2023-04-05T11:30:00Z",
"lastUpdatedDateTime": "2024-10-25T14:20:00Z"
}
},
{
"href": "https://api.pagerduty.com/services/PSVC125",
"type": "service",
"id": "PSVC125",
"name": "Database Infrastructure",
"description": "Primary database cluster and replication services",
"team": {
"id": "PTEAM789",
"name": "Infrastructure Team",
"href": "https://api.pagerduty.com/teams/PTEAM789",
"type": "team"
},
"url": "https://acme-corp.pagerduty.com/services/PSVC125",
"changeLog": {
"createdDateTime": "2023-02-15T08:45:00Z",
"lastUpdatedDateTime": "2024-11-03T15:30:00Z"
}
},
{
"href": "https://api.pagerduty.com/services/PSVC126",
"type": "service",
"id": "PSVC126",
"name": "CDN & Static Assets",
"description": "Content delivery network and static asset hosting",
"team": {
"id": "PTEAM789",
"name": "Infrastructure Team",
"href": "https://api.pagerduty.com/teams/PTEAM789",
"type": "team"
},
"url": "https://acme-corp.pagerduty.com/services/PSVC126",
"changeLog": {
"createdDateTime": "2023-05-20T14:00:00Z",
"lastUpdatedDateTime": "2024-10-30T11:45:00Z"
}
}
],
"pagination": {
"total": 4,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"organization_id": "ORG-123",
"total_count": 4
}
}
incident_get_service
Retrieve service details
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the service
Returns: Service details
Example Response:
{
"status": "success",
"message": "Retrieved service details for PSVC123",
"data": {
"service": {
"href": "https://api.pagerduty.com/services/PSVC123",
"type": "service",
"id": "PSVC123",
"name": "Payment API",
"description": "Core payment processing service handling all transaction requests",
"team": {
"id": "PTEAM456",
"name": "Payments Team",
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team"
},
"url": "https://acme-corp.pagerduty.com/services/PSVC123",
"changeLog": {
"createdDateTime": "2023-03-10T09:00:00Z",
"lastUpdatedDateTime": "2024-11-02T10:15:00Z"
}
},
"organization_id": "ORG-123"
}
}
Team Management Tools
incident_list_teams
Browse teams for a service
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the service
Returns: List of teams
Example Response:
{
"status": "success",
"message": "Retrieved 2 teams for service PSVC123",
"data": {
"teams": [
{
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team",
"id": "PTEAM456",
"name": "Payments Team",
"description": "Team responsible for payment processing services",
"url": "https://acme-corp.pagerduty.com/teams/PTEAM456",
"changeLog": {
"createdDateTime": "2023-02-01T08:00:00Z",
"lastUpdatedDateTime": "2024-10-15T16:30:00Z"
}
},
{
"href": "https://api.pagerduty.com/teams/PTEAM789",
"type": "team",
"id": "PTEAM789",
"name": "Infrastructure Team",
"description": "Team managing infrastructure and platform services",
"url": "https://acme-corp.pagerduty.com/teams/PTEAM789",
"changeLog": {
"createdDateTime": "2023-01-20T10:00:00Z",
"lastUpdatedDateTime": "2024-11-01T09:45:00Z"
}
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"service_id": "PSVC123",
"organization_id": "ORG-123",
"total_count": 2
}
}
incident_get_team
Retrieve team details
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the serviceteam_id(string, required): Unique identifier of the team
Returns: Team details
Example Response:
{
"status": "success",
"message": "Retrieved team details for PTEAM456",
"data": {
"team": {
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team",
"id": "PTEAM456",
"name": "Payments Team",
"description": "Team responsible for payment processing services and transaction infrastructure",
"url": "https://acme-corp.pagerduty.com/teams/PTEAM456",
"changeLog": {
"createdDateTime": "2023-02-01T08:00:00Z",
"lastUpdatedDateTime": "2024-10-15T16:30:00Z"
}
},
"service_id": "PSVC123",
"organization_id": "ORG-123"
}
}
Incident Management Tools
incident_list_incidents
Browse incidents for a team
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the serviceteam_id(string, required): Unique identifier of the team
Returns: List of incidents
Example Response:
{
"status": "success",
"message": "Found 3 incidents",
"data": {
"incidents": [
{
"id": "INC-2024-001",
"name": "payment-api-outage",
"title": "Payment API Service Degradation",
"login": "incident-001",
"status": "investigating",
"priority": {
"type": "P1",
"id": "PRIOR-001",
"name": "Critical"
},
"description": "Payment API experiencing high latency and intermittent failures",
"incidentKey": "PAY-API-20241105-001",
"createdBy": "john.doe@acme-corp.com",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-001",
"urgency": "HIGH",
"username": "john.doe",
"targets": [
{
"type": "service",
"slug": "payment-api"
}
],
"project": {
"type": "project",
"id": "PROJ-123",
"name": "Q4 Platform Reliability"
},
"service": {
"type": "service",
"id": "PSVC123",
"name": "Payment API"
},
"isMultiResponder": true,
"team": {
"id": "PTEAM456",
"name": "Payments Team",
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team"
},
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation"
},
"changeLog": {
"createdDateTime": "2024-11-05T14:30:00Z",
"lastUpdatedDateTime": "2024-11-05T15:45:00Z"
}
},
{
"id": "INC-2024-002",
"name": "database-connection-issue",
"title": "Database Connection Pool Exhaustion",
"login": "incident-002",
"status": "identified",
"priority": {
"type": "P2",
"id": "PRIOR-002",
"name": "High"
},
"description": "Multiple application servers reporting database connection pool exhaustion",
"incidentKey": "DB-CONN-20241106-001",
"createdBy": "system@acme-corp.com",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-002",
"urgency": "HIGH",
"username": "system",
"targets": [
{
"type": "database",
"slug": "payments-db"
}
],
"project": {
"type": "project",
"id": "PROJ-123",
"name": "Q4 Platform Reliability"
},
"service": {
"type": "service",
"id": "PSVC125",
"name": "Database Infrastructure"
},
"isMultiResponder": false,
"team": {
"id": "PTEAM789",
"name": "Infrastructure Team",
"href": "https://api.pagerduty.com/teams/PTEAM789",
"type": "team"
},
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation"
},
"changeLog": {
"createdDateTime": "2024-11-06T10:00:00Z",
"lastUpdatedDateTime": "2024-11-06T10:30:00Z"
}
},
{
"id": "INC-2024-003",
"name": "cdn-cache-invalidation",
"title": "CDN Cache Not Invalidating Properly",
"login": "incident-003",
"status": "monitoring",
"priority": {
"type": "P3",
"id": "PRIOR-003",
"name": "Medium"
},
"description": "CDN cache invalidation requests taking longer than expected",
"incidentKey": "CDN-CACHE-20241106-001",
"createdBy": "jane.smith@acme-corp.com",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-003",
"urgency": "MEDIUM",
"username": "jane.smith",
"targets": [
{
"type": "cdn",
"slug": "cloudfront-distribution"
}
],
"project": {
"type": "project",
"id": "PROJ-124",
"name": "Frontend Performance"
},
"service": {
"type": "service",
"id": "PSVC126",
"name": "CDN & Static Assets"
},
"isMultiResponder": false,
"team": {
"id": "PTEAM789",
"name": "Infrastructure Team",
"href": "https://api.pagerduty.com/teams/PTEAM789",
"type": "team"
},
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation"
},
"changeLog": {
"createdDateTime": "2024-11-06T11:15:00Z",
"lastUpdatedDateTime": "2024-11-06T12:00:00Z"
}
}
],
"pagination": {
"total": 3,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"team_id": "PTEAM456",
"service_id": "PSVC123",
"organization_id": "ORG-123",
"total_count": 3
}
}
incident_get_incident
Retrieve incident details
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the serviceteam_id(string, required): Unique identifier of the teamincident_id(string, required): Unique identifier of the incident
Returns: Incident details
Example Response:
{
"status": "success",
"message": "Retrieved incident details for INC-2024-001",
"data": {
"incident": {
"id": "INC-2024-001",
"name": "payment-api-outage",
"title": "Payment API Service Degradation",
"login": "incident-001",
"status": "investigating",
"priority": {
"type": "P1",
"id": "PRIOR-001",
"name": "Critical"
},
"description": "Payment API experiencing high latency and intermittent failures affecting checkout process. Initial investigation indicates database query performance degradation. Multiple customers reporting failed transactions.",
"incidentKey": "PAY-API-20241105-001",
"createdBy": "john.doe@acme-corp.com",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-001",
"urgency": "HIGH",
"username": "john.doe",
"targets": [
{
"type": "service",
"slug": "payment-api"
},
{
"type": "database",
"slug": "payments-db"
}
],
"project": {
"type": "project",
"id": "PROJ-123",
"name": "Q4 Platform Reliability"
},
"service": {
"type": "service",
"id": "PSVC123",
"name": "Payment API"
},
"isMultiResponder": true,
"team": {
"id": "PTEAM456",
"name": "Payments Team",
"href": "https://api.pagerduty.com/teams/PTEAM456",
"type": "team"
},
"services": [
{
"id": "PSVC123",
"name": "Payment API",
"href": "https://api.pagerduty.com/services/PSVC123",
"type": "service"
},
{
"id": "PSVC125",
"name": "Database Infrastructure",
"href": "https://api.pagerduty.com/services/PSVC125",
"type": "service"
}
],
"responders": [
{
"id": "USER-001",
"name": "John Doe",
"email": "john.doe@acme-corp.com",
"role": "incident_commander"
},
{
"id": "USER-002",
"name": "Jane Smith",
"email": "jane.smith@acme-corp.com",
"role": "technical_lead"
}
],
"timeline": [
{
"timestamp": "2024-11-05T14:30:00Z",
"type": "incident_created",
"user": "john.doe@acme-corp.com",
"message": "Incident created: Payment API Service Degradation"
},
{
"timestamp": "2024-11-05T14:35:00Z",
"type": "status_update",
"user": "john.doe@acme-corp.com",
"message": "Status changed to investigating. Initial triage shows database slowdown."
},
{
"timestamp": "2024-11-05T14:45:00Z",
"type": "responder_added",
"user": "system",
"message": "Jane Smith added as technical lead"
},
{
"timestamp": "2024-11-05T15:00:00Z",
"type": "comment",
"user": "jane.smith@acme-corp.com",
"message": "Database team identified slow query on transactions table. Working on optimization."
}
],
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation"
},
"changeLog": {
"createdDateTime": "2024-11-05T14:30:00Z",
"lastUpdatedDateTime": "2024-11-05T15:45:00Z",
"createdBy": {
"href": "https://api.unizo.ai/api/v1/users/user-001",
"id": "user-001",
"firstName": "John",
"lastName": "Doe"
},
"lastUpdatedBy": {
"href": "https://api.unizo.ai/api/v1/users/user-002",
"id": "user-002",
"firstName": "Jane",
"lastName": "Smith"
}
}
},
"team_id": "PTEAM456",
"service_id": "PSVC123",
"organization_id": "ORG-123"
}
}
incident_create_incident
Create a new incident
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the serviceteam_id(string, required): Unique identifier of the teamname(string, required): Name of the incident (5-100 characters)title(string, required): Title of the incident (10-200 characters)description(string, required): Description of the incident (20-1000 characters)status(string, required): Status (investigating, identified, monitoring, resolved, postmortem)priority_type(string, required): Priority type (P1, P2, P3, P4)priority_id(string, required): Unique identifier of the prioritypriority_name(string, required): Priority name (Critical, High, Medium, Low)service_type(string, required): Type of the serviceservice_info_id(string, required): Unique identifier of the serviceservice_name(string, required): Name of the service
Returns: Created incident details
Example Response:
{
"status": "success",
"message": "Incident created successfully with ID: INC-2024-004",
"data": {
"incident": {
"id": "INC-2024-004",
"name": "authentication-service-timeout",
"title": "Authentication Service Response Timeout",
"status": "investigating",
"priority": {
"type": "P1",
"id": "PRIOR-001",
"name": "Critical"
},
"description": "Authentication service experiencing response timeouts causing login failures across multiple applications. Affecting approximately 30% of login attempts.",
"incidentKey": "AUTH-TIMEOUT-20241106-001",
"createdBy": "system@acme-corp.com",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-004",
"urgency": "HIGH",
"service": {
"type": "service",
"id": "PSVC124",
"name": "User Authentication"
},
"team": {
"id": "PTEAM457",
"name": "Identity Team",
"href": "https://api.pagerduty.com/teams/PTEAM457",
"type": "team"
},
"organization": {
"id": "ORG-123",
"login": "acme-corp",
"name": "Acme Corporation"
},
"changeLog": {
"createdDateTime": "2024-11-06T13:00:00Z",
"lastUpdatedDateTime": "2024-11-06T13:00:00Z"
}
},
"team_id": "PTEAM457",
"service_id": "PSVC124",
"organization_id": "ORG-123"
}
}
incident_update_incident
Update an existing incident
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organizationservice_id(string, required): Unique identifier of the serviceteam_id(string, required): Unique identifier of the teamincident_id(string, required): Unique identifier of the incidentstatus(string, optional): Updated status (investigating, identified, monitoring, resolved, postmortem)description(string, optional): Updated descriptionpriority_type(string, optional): Updated priority type
Returns: Updated incident details
Example Response:
{
"status": "success",
"message": "Incident updated successfully",
"data": {
"incident": {
"id": "INC-2024-001",
"name": "payment-api-outage",
"title": "Payment API Service Degradation",
"status": "resolved",
"priority": {
"type": "P1",
"id": "PRIOR-001",
"name": "Critical"
},
"description": "Payment API experiencing high latency and intermittent failures - RESOLVED by optimizing database queries and adding connection pool limits. Implemented monitoring alerts for similar patterns.",
"incidentKey": "PAY-API-20241105-001",
"url": "https://acme-corp.pagerduty.com/incidents/INC-2024-001",
"resolution": {
"summary": "Identified slow database queries on transactions table. Optimized indexes and added query caching. Increased connection pool size and added monitoring.",
"resolvedBy": "jane.smith@acme-corp.com",
"resolvedAt": "2024-11-05T18:15:00Z"
},
"changeLog": {
"createdDateTime": "2024-11-05T14:30:00Z",
"lastUpdatedDateTime": "2024-11-05T18:15:00Z"
}
},
"team_id": "PTEAM456",
"service_id": "PSVC123",
"organization_id": "ORG-123"
}
}
Installation
Prerequisites
- A Unizo API key
- An active Incident Management integration (PagerDuty, Opsgenie, Incident.io)
- Node.js v20 or higher
MCP Configuration
Here is an example configuration for setting up the Unizo Incident Management MCP server:
{
"mcpServers": {
"unizo": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.unizo.ai/mcp",
"--header",
"apikey:${UNIZO_API_KEY}",
"--header",
"x-mcp-scopes:incident"
],
"env": {
"UNIZO_API_KEY": "your_api_key"
}
}
}
}
Client Setup
For detailed setup instructions with specific AI clients:
Environment Variables
The following environment variables are required:
UNIZO_API_KEY: Your Unizo API key
Error Handling
All tools return errors in a consistent format:
{
"status": "error",
"message": "Incident 'INC-2024-001' not found",
"traceback": "..."
}