Skip to main content

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 NameDescription
incident_list_connectorsGet list of available incident management services
incident_list_integrationsGet integrations for a specific incident service
incident_list_organizationsBrowse organizations
incident_get_organizationRetrieve organization details
incident_list_services_for_orgBrowse services within an organization
incident_get_serviceRetrieve service details
incident_list_teamsBrowse teams for a service
incident_get_teamRetrieve team details
incident_list_incidentsBrowse incidents for a team
incident_get_incidentRetrieve incident details
incident_create_incidentCreate a new incident
incident_update_incidentUpdate 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 integration
  • organization_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 integration
  • organization_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_id (string, required): Unique identifier of the service
  • team_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_id (string, required): Unique identifier of the service
  • team_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_id (string, required): Unique identifier of the service
  • team_id (string, required): Unique identifier of the team
  • incident_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_id (string, required): Unique identifier of the service
  • team_id (string, required): Unique identifier of the team
  • name (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 priority
  • priority_name (string, required): Priority name (Critical, High, Medium, Low)
  • service_type (string, required): Type of the service
  • service_info_id (string, required): Unique identifier of the service
  • service_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 integration
  • organization_id (string, required): Unique identifier of the organization
  • service_id (string, required): Unique identifier of the service
  • team_id (string, required): Unique identifier of the team
  • incident_id (string, required): Unique identifier of the incident
  • status (string, optional): Updated status (investigating, identified, monitoring, resolved, postmortem)
  • description (string, optional): Updated description
  • priority_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": "..."
}