Skip to main content
Glama
wpfleger96

PagerDuty MCP Server

by wpfleger96

get_services

Retrieve PagerDuty services using filters such as name, team, or current user context, or fetch full details for a specific service ID.

Instructions

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

Input Schema

NameRequiredDescriptionDefault
limitNoLimit the number of results (optional). Not used if `service_id` is provided.
queryNoFilter services whose names contain the search query (optional). Not used if `service_id` is provided.
includeNoList of fields to include in the response. If specified, only these fields will be returned for each service
team_idsNoFilter 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.
service_idNoThe service ID to retrieve (optional, cannot be used with any other filters).
current_user_contextNoUse current user's team IDs to filter (default: True); errors if the current user belongs to no teams. Not used if `service_id` is provided.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv4.0.7
    • changedInput schema / properties / current_user_context / description
      Previous value: -"Use current user's team IDs to filter (default: True). Not used if `service_id` is provided."New value: +"Use current user's team IDs to filter (default: True); errors if the current user belongs to no teams. Not used if `service_id` is provided."
  2. Changed1 schema field changedv4.0.1
    • addedInput schema / properties / include
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "List of fields to include in the response. If specified, only these fields will be returned for each service"
      +}
  3. Changed12 schema fields changedv3.1.4
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / current_user_context / description
      Added value: +"Use current user's team IDs to filter (default: True). Not used if `service_id` is provided."
    • removedInput schema / properties / current_user_context / title
      Removed value: -"Current User Context"
    • addedInput schema / properties / limit / description
      Added value: +"Limit the number of results (optional). Not used if `service_id` is provided."
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • addedInput schema / properties / query / description
      Added value: +"Filter services whose names contain the search query (optional). Not used if `service_id` is provided."
    • removedInput schema / properties / query / title
      Removed value: -"Query"
    • addedInput schema / properties / service_id / description
      Added value: +"The service ID to retrieve (optional, cannot be used with any other filters)."
    • removedInput schema / properties / service_id / title
      Removed value: -"Service Id"
    • addedInput schema / properties / team_ids / description
      Added value: +"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."
    • removedInput schema / properties / team_ids / title
      Removed value: -"Team Ids"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  4. First observedv1.0.0

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It conveys only that this is a read/get operation and does not mention default filtering via current_user_context, permissions, pagination, rate limits, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It efficiently states both possible modes without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and parameter schema coverage is full, so the description need not explain return values or every parameter. Still, for a tool with six optional filters and a default current_user_context behavior, the description omits important operational context that no annotations supply.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters in detail. The description only alludes to filters and service ID generically, adding little beyond what the schema provides, which makes the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: get PagerDuty services, with two modes (filtered list or specific service ID). It does not explicitly differentiate itself from sibling tools like get_incidents or get_teams, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies two usage modes: filtered listing or detail lookup by service_id. However, it gives no explicit when-to-use guidance, exclusions, or alternatives relative to sibling tools, leaving selection mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.