Skip to main content
Glama

PagerDuty MCP Server

by wpfleger96

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_tool_documentation

Tools

Functions exposed to the LLM to take actions

NameDescription
get_escalation_policies

Get PagerDuty escalation policies by filters or get details for a specific policy ID.

Args: policy_id (str): The escalation policy ID to retrieve (optional, cannot be used with any other filters). current_user_context (bool): Use current user's ID/team IDs context (default: True). Not used if policy_id is provided. query (str): Policies whose names contain the search query (optional). Not used if policy_id is provided. user_ids (List[str]): Policies that include these user IDs (optional, excludes current_user_context). Not used if policy_id is provided. team_ids (List[str]): Policies assigned to these team IDs (optional, excludes current_user_context). Not used if policy_id is provided. limit (int): Limit the number of results (optional). Not used if policy_id is provided.

get_incidents

Get PagerDuty incidents by filters or get details for a specific incident ID or number.

Args: incident_id (str): The incident ID or number to retrieve (optional, cannot be used with any other filters). current_user_context (bool): Filter by current user's context (default: True). Not used if incident_id is provided. service_ids (List[str]): Filter by services (optional, excludes current_user_context). Not used if incident_id is provided. team_ids (List[str]): Filter by teams (optional, excludes current_user_context). Not used if incident_id is provided. statuses (List[str]): Filter by status (optional). Not used if incident_id is provided. Must be input as a list of strings, valid values are ["triggered", "acknowledged", "resolved"]. since (str): Start of query range in ISO8601 format (default range: 1 month, max range: 6 months). Not used if incident_id is provided. until (str): End of query range in ISO8601 format (default range: 1 month, max range: 6 months). Not used if incident_id is provided. limit (int): Max results (optional). Not used if incident_id is provided. include_past_incidents (Optional[bool]): If True and incident_id is provided, includes similar past incidents in the response. Defaults to False. Cannot be used without incident_id. include_related_incidents (Optional[bool]): If True and incident_id is provided, includes related incidents impacting other services/responders in the response. Defaults to False. Cannot be used without incident_id. include_notes (Optional[bool]): If True, includes notes for each incident in the response. Defaults to False.

get_oncalls

List on-call entries for schedules, policies, or time ranges.

Behavior varies by time parameters:

  1. Without since/until: Returns current on-calls Example: get_oncalls(schedule_ids=["SCHEDULE_123"])

  2. With since/until: Returns all on-calls in range Example: get_oncalls(schedule_ids=["SCHEDULE_123"], since="2024-03-20T00:00:00Z", until="2024-03-27T00:00:00Z")

Args: current_user_context (bool): Use current user's team policies (default: True) schedule_ids (List[str]): Filter by schedules (optional) user_ids (List[str]): Filter by users (optional, excludes current_user_context) escalation_policy_ids (List[str]): Filter by policies (optional) since (str): Start of query range in ISO8601 format (default: current datetime) until (str): End of query range in ISO8601 format (default: current datetime, max range: 90 days in the future). Cannot be before since. limit (int): Max results (optional) earliest (bool): Only earliest on-call per policy/level/user combo (optional)

get_schedules

Get PagerDuty schedules by filters or get details for a specific schedule ID.

Args: schedule_id (str): The schedule ID to retrieve details for (optional, cannot be used with query or limit). query (str): Filter schedules whose names contain the search query (optional). Not used if schedule_id is provided. limit (int): Limit the number of results returned (optional). Not used if schedule_id is provided. since (str): Start time for overrides/final schedule details (ISO8601, optional). Only used if schedule_id is provided. Defaults to 2 weeks before 'until' if 'until' is given. until (str): End time for overrides/final schedule details (ISO8601, optional). Only used if schedule_id is provided. Defaults to 2 weeks after 'since' if 'since' is given.

list_users_oncall

List the users on call for a schedule during the specified time range.

Args: schedule_id (str): The ID of the schedule to query since (str): Start of query range in ISO8601 format until (str): End of query range in ISO8601 format

get_services

Get PagerDuty services by filters or get details for a specific service ID.

Args: service_id (str): The service ID to retrieve (optional, cannot be used with any other filters). current_user_context (bool): Use current user's team IDs to filter (default: True). Not used if service_id is provided. team_ids (List[str]): Filter results to only services assigned to teams with the given IDs (optional, cannot be used with current_user_context). Not used if service_id is provided. query (str): Filter services whose names contain the search query (optional). Not used if service_id is provided. limit (int): Limit the number of results (optional). Not used if service_id is provided.

get_teams

Get PagerDuty teams by filters or get details for a specific team ID.

Args: team_id (str): The team ID to retrieve (optional, cannot be used with any other filters). query (str): Filter teams whose names contain the search query (optional). Not used if team_id is provided. limit (int): Limit the number of results returned (optional). Not used if team_id is provided.

get_users

Get PagerDuty users by filters or get details for a specific user ID.

Args: user_id (str): The user ID to retrieve (optional, cannot be used with any other filters). current_user_context (bool): Use current user's team IDs to filter (default: True). Not used if user_id is provided. team_ids (List[str]): Filter results to only users assigned to teams with the given IDs (optional, cannot be used with current_user_context). Not used if user_id is provided. query (str): Filter users whose names contain the search query (optional). Not used if user_id is provided. limit (int): Limit the number of results (optional). Not used if user_id is provided.

build_user_context

Validate and build the current user's context into a dictionary with the following format: { "user_id": str, "team_ids": List[str], "service_ids": List[str], "escalation_policy_ids": List[str] } The MCP server tools use this user context to filter the following resources: - Escalation policies - Incidents - Oncalls - Services - Users

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wpfleger96/pagerduty-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server