agent-pagerduty
PagerDuty AI Agent powered by 1st Party MCP Server using OpenAPI Codegen, LangGraph and LangChain MCP Adapters. Agent is exposed on various agent transport protocols (AGNTCY Slim, Google A2A, MCP Server)
GitHub Stars
1
User Rating
Not Rated
Forks
1
Issues
4
Views
1
Favorites
0
๐ PagerDuty AI Agent
๐งช Evaluation Badges
Claude | Gemini | OpenAI | Llama |
---|---|---|---|
- ๐ค PagerDuty Agent is an LLM-powered agent built using the LangGraph ReAct Agent workflow and MCP tools.
- ๐ Protocol Support: Compatible with A2A protocol for integration with external user clients.
- ๐ก๏ธ Secure by Design: Enforces PagerDuty API token-based authentication and supports external authentication for strong access control.
- ๐ Integrated Communication: Uses langchain-mcp-adapters to connect with the PagerDuty MCP server within the LangGraph ReAct Agent workflow.
- ๐ญ First-Party MCP Server: The MCP server is generated by our first-party openapi-mcp-codegen utility, ensuring version/API compatibility and software supply chain integrity.
๐ Getting Started
Running it via Docker:
1๏ธโฃ Configure Environment
Ensure your .env
file is set up as described in the cnoe-agent-utils usage guide based on your LLM Provider.
Example .env
configuration:
############################
# Agent Configuration
############################
LLM_PROVIDER=azure-openai
AGENT_NAME=pagerduty
############################
# Azure OpenAI Configuration
############################
AZURE_OPENAI_API_KEY=<your-azure-key>
AZURE_OPENAI_API_VERSION=2025-04-01-preview
AZURE_OPENAI_DEPLOYMENT=gpt-4.1
AZURE_OPENAI_ENDPOINT=<your-azure-endpoint>
############################
# PagerDuty Configuration
############################
PAGERDUTY_API_KEY=<your-pagerduty-key>
PAGERDUTY_API_URL=https://api.pagerduty.com
2๏ธโฃ Start the Agent (A2A Mode)
- Pull the A2A image:
docker pull ghcr.io/cnoe-io/agent-pagerduty:a2a-stable
- Run the agent in a Docker container using your
.env
file:
docker pull ghcr.io/cnoe-io/agent-pagerduty:a2a-stable && \
docker run --rm -p 0.0.0.0:8000:8000 -it \
-v $(pwd)/.env:/app/.env \
ghcr.io/cnoe-io/agent-pagerduty:a2a-stable
3๏ธโฃ Run the Client
Use the agent-chat-cli to interact with the agent:
uvx https://github.com/cnoe-io/agent-chat-cli.git a2a
๐๏ธ Architecture
flowchart TD
subgraph Client Layer
A[User Client A2A]
end
subgraph Agent Transport Layer
B[Google A2A]
end
subgraph Agent Graph Layer
C[LangGraph ReAct Agent]
end
subgraph Tools/MCP Layer
D[Langchain MCP Adapter]
E[PagerDuty MCP Server]
F[PagerDuty API Server]
end
A --> B --> C
C --> D
D -.-> C
D --> E --> F --> E
โจ Features
- ๐ค LangGraph + LangChain MCP Adapter for agent orchestration
- ๐ง Azure OpenAI GPT-4 as the LLM backend
- ๐ Connects to PagerDuty via a dedicated PagerDuty MCP agent
- ๐ A2A protocol support: Compatible with A2A protocol for flexible integration and multi-agent orchestration
- ๐ Comprehensive PagerDuty API Support:
- Incident Management (create, update, resolve)
- Service Management
- Schedule Management
- Team Management
- User Management
- Escalation Policy Management
Local Development
Alternative: Running Locally
You can also run the agent locally without Docker:
First clone the repo
git clone https://github.com/cnoe-io/agent-pagerduty.git
cd agent-pagerduty
make run-a2a
In a new terminal, start the A2A client:
make run-a2a-client
Quick Demos
โถ๏ธ Test with PagerDuty API
๐ Quick Start: Set Up PagerDuty Access
Create a PagerDuty Account: If you don't have one, sign up at PagerDuty.
Generate an API Key:
- Log in to your PagerDuty account
- Go to Configuration โ API Access
- Create a new API key with appropriate permissions
- Save the API key securely
Get Your PagerDuty Domain:
- Your API URL will be
https://api.pagerduty.com
- Update the
PAGERDUTY_API_URL
in your.env
file
- Your API URL will be
Example Interactions
- Incident Management
User: list all active incidents
Agent: Here are the current active incidents:
1. ID: P123ABC - High CPU Usage on Production Server
Status: triggered
Urgency: high
Assigned to: John Smith
2. ID: P456DEF - Database Connection Errors
Status: acknowledged
Urgency: medium
Assigned to: DevOps Team
Let me know if you need more details about any incident or would like to take action!
- Service Management
User: show me all services
Agent: Here are all the services configured in PagerDuty:
1. Web Application (ID: PS1)
- Status: active
- Integration: API
- Team: Platform
2. Database Cluster (ID: PS2)
- Status: active
- Integration: Nagios
- Team: Infrastructure
3. Payment Gateway (ID: PS3)
- Status: maintenance
- Integration: Custom
- Team: Payments
Would you like more details about any specific service?
๐ Troubleshooting
Common Issues
Docker Issues
- Ensure Docker daemon is running
- Check if you have sufficient permissions
- Verify the required images are available
Port Conflicts
- If port 8000 is in use, modify
A2A_AGENT_PORT
in.env
- Check for other services using required ports
- If port 8000 is in use, modify
Environment Variables
- Verify all required variables in
.env
- Check API keys and tokens are valid
- No trailing spaces in values
- Verify all required variables in
Client Connection Issues
- Server must be running before client
- Port numbers should match
- API keys must match between server and client
Logs
- Docker: Use
docker logs <container-id>
- Local: Check terminal output
- Debug mode: Set
DEBUG=true
in.env
๐ Documentation
For more detailed information about the project, please refer to:
- API Documentation - Detailed API reference
- Architecture Overview - System design and components
- Development Guide - Setup and development workflow
- Deployment Guide - Production deployment instructions
- Contributing Guide - How to contribute to the project
- Security Policy - Security practices and vulnerability reporting
- License - Project license details
- Changelog - Version history and changes
- Code of Conduct - Community guidelines
๐ Security Notes
- Never commit your
.env
file to version control - Keep your API keys and tokens secure
- Use environment variables or secret managers in production
- Regularly rotate your API keys and tokens
๐ฅ Maintainers
See MAINTAINERS.md for the list of maintainers.
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get started.
๐ License
Apache 2.0
332
Followers
39
Repositories
0
Gists
59
Total Contributions