Skip to main content
Glama
Drumbeats MCP

Drumbeats MCP

Official
by drumbeats-io

List projects

list_projects
Read-only

Retrieve all accessible Drumbeats projects with IDs, names, plans, and metadata to find the target project before creating or querying monitors; optionally include channels and groups for alert wiring.

Instructions

List all Drumbeats projects the configured account API key can access. Returns each project id, name, plan, and basic metadata — use it to find the target project id before creating or querying monitors. Pass include=["channels","groups"] to also return each project's notification channels and groups, whose ids are needed to wire alerts when creating a monitor.

Input Schema

NameRequiredDescriptionDefault
includeNoOptionally also fetch, per project, its notification channels and/or groups. Their ids are needed to wire alerts when creating a monitor.

Output Schema

NameRequiredDescriptionDefault
projectsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changedv0.5.1
    • removedOutput schema / properties / projects / items / properties / created_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / created_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / notification_channels / items / properties / enabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / notification_channels / items / properties / enabled / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / notification_channels / items / properties / is_default / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / notification_channels / items / properties / is_default / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / notification_channels / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / notification_channels / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / notification_channels / items / properties / type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / notification_channels / items / properties / type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / notification_groups / items / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / notification_groups / items / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / owner_email / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / owner_email / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / projects / items / properties / plan / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / projects / items / properties / plan / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed1 schema field changedv0.3.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "projects": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "created_at": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "description": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "member_count": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "notification_channels": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "enabled": {
      +                  "anyOf": [
      +                    {
      +                      "type": "boolean"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "id": {
      +                  "type": "string"
      +                },
      +                "is_default": {
      +                  "anyOf": [
      +                    {
      +                      "type": "boolean"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "name": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "type": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "type",
      +                "enabled",
      +                "is_default"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "notification_groups": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "description": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "description"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "owner_email": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "plan": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "description",
      +          "plan",
      +          "created_at",
      +          "member_count",
      +          "owner_email"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "projects"
      +  ],
      +  "type": "object"
      +}
  3. Addedv0.1.1

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered; the description adds meaningful behavior beyond that — it says results are scoped to the API key's accessible projects and that include triggers an additional per-project fetch of channels and groups. It doesn't mention pagination or result-size limits, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what it returns, followed by the primary use case and the optional expansion. No filler and nothing redundant with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A simple, zero-required-parameter read tool with an output schema that already documents return shape. The description covers scope, return summary, purpose, and the one optional parameter's downstream value — everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description goes further by explaining why the expansion matters — channel and group ids are needed to wire alerts when creating a monitor. That is intent-level meaning the schema description only partially echoes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all Drumbeats projects') plus the access scope ('the configured account API key can access'), which no sibling tool covers. It also previews the returned fields (project id, name, plan, basic metadata), so an agent can tell it apart from list_monitors or get_uptime_summary without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear downstream use case: find the target project id before creating or querying monitors. That is real routing guidance, but there is no explicit 'when not to use' or named alternative sibling (e.g., when to prefer get_monitor instead), so it stops short of the 5 bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.