pup is a free, open source monitoring & observability project written in Rust and released under Apache-2.0. It has 1,014 GitHub stars, 120 forks and 12 open issues, and was last pushed 11 hours ago. On this registry it ranks #223 of 271 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

What is pup?

Pup is an Apache-2.0 licensed, Rust-written command-line client from Datadog that exposes more than 200 commands across over 33 Datadog product domains, letting AI agents and the humans who supervise them query observability data from a terminal.

What it is

Pup is a comprehensive CLI for the Datadog observability platform, published by Datadog under the Apache-2.0 licence and written in Rust. It lives in the Datadog ecosystem, sits in the Infrastructure & Operations / Monitoring & Observability category, and acts as a client to the Datadog APIs rather than a replacement for the platform. The project is described as AI-agent-ready, with self-discoverable commands, structured JSON and YAML output, and OAuth2 with PKCE for scoped access, and it carries the topics cli, client, datadog, and observability.

The concrete problem it solves is access. The README argues that AI agents are the fastest-growing interface for infrastructure management and that platforms such as Vercel and AWS are racing to make themselves agent-accessible. Instead of letting an agent improvise against Datadog's raw API surface or authenticate with long-lived keys, Pup presents that surface as a navigable set of commands an agent can discover and call. It therefore replaces ad hoc, hand-written API calls and the long-lived keys the README describes as running wild, substituting scoped OAuth2 + PKCE credentials and a documented command set.

Key capabilities

  • Over 200 commands across 33 or more Datadog products, with docs/COMMANDS.md as the canonical reference, pup --help for the live list, and pup agent schema for machine-readable output.
  • Core observability through metrics search, metrics query, metrics list, and metrics get, supporting both the V1 and V2 Metrics APIs.
  • Log search and aggregation with logs search, logs list, and logs aggregate across the V1 and V2 Logs APIs, plus event management with events list, events search, and events get.
  • RUM and Session Replay coverage through rum apps, rum sessions, rum events, rum aggregate, rum metrics, rum retention-filters, rum playlists, rum replay, rum viewership, rum heatmaps, rum replay segments, and rum sessions search.
  • APM and tracing with apm services, apm entities, apm dependencies, apm flow-map, traces search, traces aggregate, and traces metrics.
  • Database Monitoring samples via dbm samples search.
  • Structured JSON and YAML output for parsing, and OAuth2 with PKCE so credentials are scoped rather than long-lived.

Who uses it and how

  • AI agents performing infrastructure management, the audience the README centres on when it cites Vercel and AWS as companies racing to make their platforms agent-accessible.
  • Platform and observability teams that filter monitors by tag, for example pup monitors list --tags="team:api-platform".
  • Incident and debugging work through queries such as pup logs search --query="status:error" --from="1h" and pup metrics query --query="avg:system.cpu.user{*}".
  • Human operators, who the README explicitly welcomes; pup auth login is the shared entry point for agents and people alike.

Getting started

Authenticate with pup auth login, which uses OAuth2 with PKCE to obtain scoped credentials, then run commands such as pup monitors list or pup logs search. The README excerpt names no package, container image, or compose file, so commands run directly against the installed binary, with pup --help or pup agent schema listing what is available.

How it compares

The facts list no paid products that Pup replaces, so the nearest comparable named is Datadog's own MCP server. Pup does not yet cover Profiling, and for that domain the README points users to the Datadog MCP server with the toolset core,profiling. The two are complementary: Pup is the broad command-line client, and the MCP server covers the gap.

When to use it — and when not

Pup is a client rather than a self-hosted service, so there is no database, object storage, or SMTP stack to run; the requirement is a Datadog account and the credentials pup auth login produces. Teams that need Profiling today should not depend on Pup alone, because that domain is unsupported and users are directed to the MCP server. The README is also stylised and dog-themed, favouring tone over installation detail, so docs/COMMANDS.md and pup --help remain the authoritative references.

project readme (upstream, from github) — read inline

:dog2: Give Your Agent a Puppy: Introducing Pup CLI

CI Rust License

Every AI agent needs a loyal companion. Meet Pup — the CLI that gives your agents full access to Datadog's observability platform (because even autonomous agents need good tooling, not just tricks).

What is Pup?

A comprehensive, AI-agent-ready CLI covering a wide range of Datadog product domains. We've unleashed the full power of Datadog's APIs so your agents can fetch metrics, sniff out errors, and track down issues without barking up the wrong API tree.

AI agents are the fastest-growing interface for infrastructure management. Companies like Vercel and AWS are racing to make their platforms agent-accessible, but we're leading the pack. Pup makes Datadog a great choice for AI-native workflows by exposing the API surface in a way agents can navigate without barking up the wrong tree.

Why Your Agent Will Love It

  • :paw_prints: Well-trained: Self-discoverable commands (no need to chase documentation)
  • :guide_dog: Obedient: Structured JSON/YAML output for easy parsing
  • :service_dog: On a leash: OAuth2 + PKCE for scoped access (no more long-lived keys running wild)
  • :dog: Knows all the tricks: Monitors, logs, metrics, RUM, security and more!

Try It (Humans Welcome Too!)

# Give your agent credentials (house-training, basically)
pup auth login

# Now they can fetch data like a good pup
pup monitors list --tags="team:api-platform"         # Fetch monitors
pup logs search --query="status:error" --from="1h"   # Sniff out errors
pup metrics query --query="avg:system.cpu.user{*}"   # Track the metrics tail

:dog: TL;DR: We built a comprehensive CLI so AI agents can use Datadog like a pro. Give your agent a pup. They're housetrained, loyal, and know way more tricks than you'd expect.

P.S. No actual puppies were harmed in the making of this CLI. Just a lot of Rust code and API endpoints.

API Coverage

Pup covers most major Datadog product surfaces. See docs/COMMANDS.md for the canonical command reference, or run pup --help (or pup agent schema for machine-readable output) for the live list of commands as built.

💡 Tip: Use Ctrl/Cmd+F to search for specific APIs. Request features via GitHub Issues.


📊 Core Observability
API Domain Status Pup Commands Notes
Metrics metrics search, metrics query, metrics list, metrics get V1 and V2 APIs supported
Logs logs search, logs list, logs aggregate V1 and V2 APIs supported
Events events list, events search, events get Infrastructure event management
RUM rum apps, rum sessions, rum events, rum aggregate, rum metrics, rum retention-filters, rum playlists, rum replay, rum viewership, rum heatmaps Apps, sessions, events, metrics, retention filters, replay playlists/segments/viewership, heatmaps
APM Services apm services, apm entities, apm dependencies, apm flow-map Services stats, operations, resources; entity queries; dependencies; flow visualization
Traces traces search, traces aggregate, traces metrics Span search/aggregation and span-based metric definitions
Profiling profiling Not supported in pup yet. Use the Datadog MCP server: https://docs.datadoghq.com/bits_ai/mcp_server. Enable with: https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=core,profiling
Database Monitoring dbm samples search DBM query sample search
Session Replay rum replay segments, rum playlists, rum viewership, rum sessions search Segments, playlist CRUD, viewership; discover sessions via RUM (not logs)
🔔 Monitoring & Alerting
API Domain Status Pup Commands Notes
Monitors monitors list, monitors get, monitors delete, monitors search Full CRUD support with advanced search
Dashboards dashboards list, dashboards get, dashboards delete, dashboards url Full management capabilities
SLOs slos list, slos get, slos delete, slos status Full CRUD plus V2 status query
Synthetics synthetics tests, synthetics locations, synthetics suites Tests, locations, and V2 suites management
Downtimes downtime list, downtime get, downtime cancel Full downtime management
Notebooks notebooks list, notebooks get, notebooks delete Investigation notebooks supported
Status Pages status-pages pages, status-pages components, status-pages degradations New — Pages, components, and degradation management
Powerpacks - Not yet implemented
Workflow Automation workflows get, workflows create, workflows update, workflows delete, workflows run, workflows instances Full CRUD plus run and instance management (list, get, cancel)
Local Runbooks runbooks list, runbooks describe, runbooks run, runbooks import, runbooks validate New — YAML-defined multi-step runbooks with pup/shell/http/workflow step types, variable interpolation, and reusable templates
🔒 Security & Compliance
API Domain Status Pup Commands Notes
Security Monitoring security rules, security signals, security findings, security content-packs, security risk-scores Rules, signals, findings, content packs, entity risk scores
Cloud Security security findings analyze, security findings schema DDSQL analytics for misconfigurations, identity risks, and all Cloud Security finding types
Application Security security findings analyze, security asm-custom-rules, security asm-exclusions API findings via DDSQL, WAF custom rules and exclusion filters
Static Analysis static-analysis ast, static-analysis custom-rulesets, static-analysis sca, static-analysis coverage Code security analysis
Audit Logs audit-logs list, audit-logs search Full audit log search and listing
Data Governance data-governance scanner-rules list Sensitive data scanner rules
Tag Governance governance tag-rules list, governance tag-rules get, governance tag-rules score Tag rules and compliance scoring (/api/v2/governance/tag_rules)
CSM Threats csm-threats Cloud Security Management threat rules and agent rules
Sensitive Data Scanner data-governance scanner-rules list Listed via Data Governance row above
Agentless Scanning agentless-scanning aws list/get/create/update/delete, agentless-scanning gcp list, agentless-scanning azure list Cloud agentless scanning configuration for AWS, GCP, and Azure
Logs Restriction logs-restriction list, logs-restriction get, logs-restriction create, logs-restriction update, logs-restriction delete Log restriction queries for fine-grained log access control
Data Deletion data-deletion requests list, data-deletion requests create, data-deletion requests cancel GDPR/compliance data deletion request management
☁️ Infrastructure & Cloud
API Domain Status Pup Commands Notes
Infrastructure infrastructure hosts list, infrastructure hosts get Host inventory management
Tags tags list, tags get, tags add, tags update, tags delete Host tag operations
Network network flows list, network devices, network interfaces Network flows, device inventory, interface tags
Cloud (AWS) cloud aws list, cloud aws cloud-auth persona-mappings AWS integration management with persona mapping CRUD
Cloud (GCP) cloud gcp list GCP integration management
Cloud (Azure) cloud azure list Azure integration management
Cloud (OCI) cloud oci Oracle Cloud tenancy configs and products
Containers containers list, containers images list Containers
Processes processes list Process inventory query
🚨 Incident & Operations
API Domain Status Pup Commands Notes
Incidents incidents list, incidents get, incidents attachments, `inc

readme truncated — read the full docs on github

Frequently asked questions

Is pup free to use?

pup is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does pup do?

Give your AI agent a Pup — a CLI companion with 200+ commands across 33+ Datadog products.

What is pup written in?

pup is primarily written in Rust. Its source is publicly available at https://github.com/DataDog/pup, and it has 1,014 GitHub stars.