Skip to main content

An agent framework for production engineering

Project description

unpage-banner

Unpage: Build SRE agents that understand your infrastructure

Modern infrastructure is complex. For agents to be effective, they need context and secure access to your dev tools.

With Unpage, you can build production-ready SRE agents in minutes:

  • Define agents in YAML: Configure how they respond to events.
  • Route intelligently: Match alerts and requests to the right agent.
  • Give agents context: Map your infrastructure with plugins and a knowledge graph.
  • Integrate securely: Connect agents to logs, metrics, traces, infra providers, and external tools via MCP or shell access.

[!NOTE] Unpage is young but production-ready and evolving quickly with community feedback.

Unpage Agents

Unpage agents are defined in natural language in YAML files. This is an example agent that investigates SSL/TLS connection failures and provides a summary on the incident:

# SSL-connection-failure-agent.yaml

# Description: Used by the router to determine which agent to use for the alert
description: Investigate SSL/TLS connection failures

# Prompt: Instructions for the agent to follow when acting on the alert
prompt: >
  - Extract the domain/hostname from the alert about connection failures.
  - Use shell command `shell_check_cert_expiration_date` to check the certificate expiration dates
  - Parse the certificate dates to determine if the cert is expired or expiring soon
  - If certificate is expired or expiring within 24 hours:
    - Post high-priority status update to the incident explaining the root cause
    - Include the exact expiration date and affected resources

# Tools: Allows the agent to use the specified tools during its investigation
tools: >
  - "shell_check_cert_expiration_date"
  - "pagerduty_post_status_update"

Description: When Unpage is running and receives an incident payload from your alerting tool, the router uses the agent description to determine which agent should act on the incident.

Learn more about Unpage's router here.

Prompt: The selected agent will follow the investigation steps listed in the prompt. This will often resemble a runbook for the type of alert.

Tools: In order to do its investigation, the agent uses tools to understand your infrastructure and retrieve more details about the alert, as needed. You can limit the tools that the agent has access to by specifying them in this section.

Note: You can list all available tools by running unpage mcp tools list

Learn more about connecting plugins and tools here.

Response: In this case, the CPU alert agent will leave a comment on the incident:

ROOT CAUSE IDENTIFIED: SSL certificate for domain ‘expired-rsa-dv.ssl.com’ is EXPIRED. Certificate expired on August 2, 2016 GMT (over 8 years ago). This explains the SSL connection failures. IMMEDIATE ACTION REQUIRED: Certificate renewal needed for affected domain to restore SSL connectivity.

You can customize your agents to automatically respond to different types of alerts and take different actions to address them. See more examples here.

To create your first agent, install Unpage and run Quickstart. You'll have a handful of example agents to start from, or you can create your own!

# Install Unpage
curl -fsSL https://install.unpage.ai | bash
# Quickstart
unpage agent quickstart

If you need help, you can find us in the Unpage Slack community or follow along with this demo: https://www.youtube.com/watch?v=z17sHig2xMk

Installation

On macOS:

curl -fsSL https://unpage.ai/install.sh | bash

For other platforms, first install uv using the official uv installation guide, then run the command above.

Quickstart

To get started, run:

unpage agent quickstart

This will get you up and running with your first agent, which will automatically investigate and add context to alerts from PagerDuty (or your preferred alerting provider). You will also have a chance to set up your infrastructure knowledge graph to provide your agent with more context.

Learn More

Have a request for the Unpage team? Let us know on Slack or GitHub.

Documentation

Detailed documentation lives in docs/, and is also published via Mintlify to docs.unpage.ai.

License

See LICENSE.md.

Copyright

Copyright (c) 2025 Aptible. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unpage-0.1.0a29.tar.gz (258.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unpage-0.1.0a29-py3-none-any.whl (130.5 kB view details)

Uploaded Python 3

File details

Details for the file unpage-0.1.0a29.tar.gz.

File metadata

  • Download URL: unpage-0.1.0a29.tar.gz
  • Upload date:
  • Size: 258.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.15

File hashes

Hashes for unpage-0.1.0a29.tar.gz
Algorithm Hash digest
SHA256 3810cab6b30811bac4cd1070f1e55dabefb0bc48e16613def309cbaa580f1f48
MD5 e5c72c864cc214e4b5d1bc9391fc6fb4
BLAKE2b-256 ddd060952780ae51d471bacd84ae6a75620a292fb6ff61269c3c60d40c38efaf

See more details on using hashes here.

File details

Details for the file unpage-0.1.0a29-py3-none-any.whl.

File metadata

  • Download URL: unpage-0.1.0a29-py3-none-any.whl
  • Upload date:
  • Size: 130.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.15

File hashes

Hashes for unpage-0.1.0a29-py3-none-any.whl
Algorithm Hash digest
SHA256 c8c8daf692a8c49f624fd8476ad4dd023813e3c4b414f3605768e38e0decc074
MD5 2884e3211d5c427e9162a208340dd7a1
BLAKE2b-256 c1a624db1e246840b590ead62f20c53b8fcbc0ac5b10b9a52304336d3dec7927

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page