MCPcopy Index your code
hub / github.com/DataDog/pup

github.com/DataDog/pup @v1.6.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6.2 ↗ · + Follow
3,364 symbols 11,945 edges 122 files 291 documented · 9% updated 2d agov1.6.2 · 2026-07-03★ 9418 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

: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 metrics, rum retention-filters, rum playlists, rum heatmaps Apps, sessions, metrics, retention filters, replay playlists, 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 - Not yet implemented

🔔 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
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, incidents settings, incidents handles, incidents postmortem-templates Incident management with settings, handles, and postmortem templates
On-Call (Teams) on-call teams (CRUD, memberships with roles) Full team management system with admin/member roles
Case Management cases (create, search, assign, archive, projects, jira, servicenow, move) Complete case management with Jira/ServiceNow linking
Error Tracking error-tracking issues search, error-tracking issues get Error issue search and details
Service Catalog service-catalog list, service-catalog get Service registry management
Scorecards scorecards list, scorecards get Service quality scores
Fleet Automation fleet agents, fleet deployments, fleet schedules Agent management, deployments, schedules (Preview)
HAMR hamr connections get, hamr connections create New — High Availability Multi-Region connections
Investigations investigations list, investigations get, investigations trigger Bits AI SRE investigation management
Change Management change-management create, change-management get, change-management update, change-management create-branch, change-management decisions Change request management with decisions and branching
Change Stories change-stories list Change events for a service (deployments, feature flags, config, k8s, watchdog) over a time window
Incident Services/Teams incidents services, incidents teams Service and team CRUD scoped to incident management
Live Debugger debugger probes list, debugger probes get, debugger probes create, debugger probes delete, debugger probes watch Remote log probe management for Live Debugger
Software Catalog software-catalog entities list, software-catalog entities upsert, software-catalog kinds list, software-catalog relations list Software Catalog entity and kind management (next-gen catalog)

🔧 CI/CD & Development

API Domain Status Pup Commands Notes
CI Visibility cicd pipelines list, cicd events list CI/CD pipeline visibility and events
Test Optimization cicd tests, cicd flaky-tests, test-optimization Test events, flaky test management, and Test Optimization API
DORA Metrics cicd dora DORA deployment patching
Code Coverage code-coverage branch-summary, code-coverage commit-summary Branch and commit-level coverage summaries
Deployment Gates deployment-gates gates, deployment-gates evaluations, deployment-gates rules Deployment gate CRUD, evaluation triggers, and rule management

👥 Organization & Access

API Domain Status Pup Commands Notes
Users users list, users get, users roles, users seats User and role management with seat assignment
Organizations organizations get, organizations list Organization settings management
API Keys api-keys list, api-keys get, api-keys create, api-keys delete Full API key CRUD
App Keys app-keys list, app-keys get, app-keys create, app-keys update, app-keys delete Full application key CRUD
Service Accounts - Managed via users commands
Roles - Only list via users
AuthN Mappings authn-mappings list, authn-mappings get, authn-mappings create, authn-mappings update, authn-mappings delete SAML/IdP attribute-to-role authentication mappings

⚙️ Platform & Configuration

API Domain Status Pup Commands Notes
Usage Metering usage summary, usage hourly Usage and billing metrics
Cost Management costs datadog projected, costs datadog attribution, costs datadog by-org, costs datadog aws-config, costs datadog azure-config, costs datadog gcp-config, costs ccm custom-costs, costs ccm tag-descriptions, costs ccm tag-metadata, costs ccm tags, costs ccm tag-keys, costs ccm budgets, costs ccm commitments Cost attribution, cloud cost configs (AWS/Azure/GCP), and Cloud Cost Management (custom costs, tag descriptions, budgets, commitment programs)
Product Analytics product-analytics events send, product-analytics query Server-side product analytics events and queries
Integrations integrations slack, integrations pagerduty, integrations webhooks, integrations jira, integrations servicenow, integrations google-chat, integrations ms-teams Third-party integrations including Jira, ServiceNow, Google Chat, and Microsoft Teams
Feature Flags feature-flags flags, feature-flags environments, feature-flags allocations, feature-flags exposure, feature-flags enable, feature-flags disable Feature flag management with environment, allocation, and exposure control
Data Streams (Kafka) kafka topic-configs, kafka broker-configs, kafka client-configs, kafka read-messages Experimental — Kafka cluster inspection via Datadog
Restricted Dataset

Extension points exported contracts — how you extend this code

Storage (Interface)
(no doc) [4 implementers]
src/auth/storage.rs
PupResult (Interface)
(no doc)
skills/extensions/dd-pup-pi/index.ts
RunOptions (Interface)
(no doc)
skills/extensions/dd-pup-pi/index.ts

Core symbols most depended-on inside this repo

output
called by 582
src/formatter.rs
read_json_file
called by 191
src/util.rs
collect
called by 163
src/commands/symdb.rs
validate_auth
called by 77
src/config.rs
parse_time_to_unix_millis
called by 68
src/util.rs
write_temp_json
called by 57
src/commands/monitors.rs
raw_get
called by 54
src/client.rs
path
called by 49
src/auth/storage.rs

Shape

Function 2,880
Enum 262
Method 112
Class 107
Interface 3

Languages

Rust99%
Python1%
TypeScript1%

Modules by API surface

src/main.rs301 symbols
src/extensions/install.rs193 symbols
src/config.rs156 symbols
src/commands/llm_obs.rs123 symbols
src/formatter.rs105 symbols
src/auth/storage.rs102 symbols
src/skills.rs92 symbols
src/util.rs88 symbols
src/commands/ddsql.rs76 symbols
src/commands/security.rs75 symbols
src/commands/apm.rs67 symbols
src/client.rs64 symbols

For agents

$ claude mcp add pup \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page