Skip to main content
Glama
power-automate-mcp

power-automate-mcp

by OwnOptic

list_flows

Read-only

Lists Power Automate flows in the environment, newest changes first, with an optional Started/Stopped filter. Returns flow IDs and details for use with other tools.

Instructions

List flows in the environment, newest change first.

state filters client-side on 'Started' or 'Stopped'; leave empty for all. Returns flow_id, display_name, state, modified. Use flow_id with every other tool.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_flows"
  }
}

Input Schema

NameRequiredDescriptionDefault
topNo
stateNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A4/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 real behavioral value on top by disclosing ordering (newest change first), that state filtering happens client-side, and which fields are returned. The notable omission is any statement about the default/limit behavior of 'top' or what happens when more flows exist than are returned.

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?

Three short lines, each doing distinct work: purpose and ordering first, filter semantics second, cross-tool contract last. No filler and nothing buried.

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

Completeness4/5

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

An output schema exists so return values need not be enumerated, though the description helpfully names the key fields anyway. For a two-parameter list tool it is nearly complete, with the single gap being the undocumented 'top' parameter and result-set truncation behavior.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the full burden, and it only half delivers: 'state' is well explained (accepted values 'Started'/'Stopped', empty meaning all, client-side evaluation). 'top' is never mentioned at all, so the agent gets no guidance on its meaning, default of 25, or whether it truncates results.

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

Purpose4/5

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

The description states a concrete verb and resource ('List flows in the environment') plus an ordering guarantee ('newest change first'), which is more than a restatement of the name. It does not explicitly contrast itself with the closest sibling get_flow, so an agent must infer that get_flow is the single-item counterpart.

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?

It gives concrete selection guidance for the one optional filter ('leave empty for all') and a strong routing hint that flow_id returned here is the input to every other tool, which effectively establishes this as the entry point of the workflow. It stops short of a full when-not statement, e.g. directing the agent to get_flow or list_runs instead when it already has a flow_id.

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