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": "..."
}