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.0a38.tar.gz (281.6 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.0a38-py3-none-any.whl (149.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for unpage-0.1.0a38.tar.gz
Algorithm Hash digest
SHA256 04d7c17cfada658b6c9094e5d4ac5286ae4ca20d167d80ecdde8535edcd0b8ea
MD5 c5166201dafed5d025d73632ef921cca
BLAKE2b-256 daaa110a248b9f31dc358e49dc27c87975669a076a62adbf711d2bc1461cb0ca

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for unpage-0.1.0a38-py3-none-any.whl
Algorithm Hash digest
SHA256 420791bf8dfcc87f59aa79ba058a4c47f5f9026be203beeb96891d1df11d4f7c
MD5 9043c0e4042045ab8d91ceaabb4583c8
BLAKE2b-256 e7041a60f3e64d0414f72d52cf28245c62c1b45d9de5b4d3b53f5191e9c3fc0a

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