MCP Power Automate
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Power Automatelist my cloud flows"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Power Automate
Local-first MCP server and Chromium extension for AI-assisted Microsoft Power Automate work.
Use your existing logged-in browser session to let an MCP client inspect, validate, edit, run, review, and revert Power Automate cloud flows. No Microsoft Entra ID app registration, admin consent flow, or custom enterprise application setup is required to get started.
Early public signal: 15,000+ LinkedIn post views and 14 GitHub stars while the project is still small, practical, and moving fast.
Why It Exists
Power Automate is powerful, but AI agents need more than raw convenience before they should touch real flows. This project keeps the workflow visible and reversible:
The browser extension captures the active Power Automate context and compatible tokens from your own Chromium session.
The MCP server exposes a v1 command surface for targeting, reading, previewing, validating, saving, run inspection, and rollback.
The extension stays mostly passive: status, diagnostics, and review surfaces instead of mystery buttons that hide what changed.
Local state, snapshots, and backups stay on your machine.
Related MCP server: Chrome MCP Server
What It Can Do
Area | Capabilities |
Context | Detect browser-captured flows, list flows, and explicitly lock onto a target flow. |
Safe editing | Read the flow, preview the smallest candidate update, validate, save, review the diff, and revert. |
Debugging | Inspect recent runs, latest run details, and action-level failures. |
Testing | Invoke safe manual/request trigger flows and wait for the resulting run. |
Solutions | List unmanaged Dataverse solutions, inspect solution components and environment variables, add existing flows, and create blank flows inside solutions. |
Write operations are deliberately scoped. The MCP does not expose solution deletion, component deletion, managed-solution modification, environment-variable writes, or blind production edits as the default path.
Quickstart
Register the MCP in Codex:
codex mcp add power-automate-local -- npx -y @kaael1/mcp-power-automateFind the packaged extension path:
npx -y @kaael1/mcp-power-automate extension-pathLoad that folder in Chromium:
Open
chrome://extensionsoredge://extensions.Enable Developer Mode.
Choose
Load unpacked.Select the folder printed by
extension-path.
Then open or focus a Power Automate flow page. The extension captures the session and target context automatically.
Check readiness:
npx -y @kaael1/mcp-power-automate doctorRecommended Agent Loop
For a supervised edit, ask your MCP client to follow this loop:
doctorget_contextconnect_flowget_flowpreview_flow_updatevalidate_flowapply_flow_updateget_last_updatevalidate_flowagain when available
For run inspection and manual/request trigger tests, use list_runs, get_latest_run, get_run, get_run_actions, wait_for_run, get_trigger_callback_url, and invoke_trigger.
For Dataverse solution work, use list_solutions, list_solution_components, list_environment_variables, add_flow_to_solution, and create_flow_in_solution. Solution writes are intentionally limited to adding cloud flows to unmanaged solutions.
Public v1 Tools
get_context
doctor
connect_flow
list_flows
list_solutions
list_solution_components
list_environment_variables
add_flow_to_solution
get_flow
preview_flow_update
validate_flow
apply_flow_update
get_last_update
revert_last_update
list_runs
get_latest_run
get_run
get_run_actions
wait_for_run
get_trigger_callback_url
invoke_trigger
create_flow
create_flow_in_solution
clone_flowSafety Model
Inspect with
get_context,connect_flow, andget_flowbefore any write.Preview with
preview_flow_updatebefore saving.Validate before and after meaningful edits when Power Automate accepts validation.
Review
get_last_updateafter save so the diff is visible.Use
revert_last_updatewhen the saved result is wrong.Prefer test or staging flows before production flows.
If Power Automate rejects a save because of a connection permission problem, the MCP reports CONNECTION_AUTHORIZATION_FAILED and waits for the user to fix that connection in Power Automate. If the service rejects a field such as retryPolicy, the MCP reports SCHEMA_VALIDATION_FAILED with the rejected member so the agent can correct the candidate flow instead of guessing.
Browser-Backed Auth
The extension can capture Power Automate, Power Platform/BAP, and Dataverse-audience tokens from your logged-in browser session. When those tokens are present, get_context and /health expose readiness details such as canManageSolutions.
This means the MCP can work without a new Microsoft Entra app registration, but it also means the browser session remains the live authority. If a token expires or a permission is missing, reopen or focus the relevant Power Automate, Power Apps, or Dataverse page and retry after capture.
HTTP Bridge
The local bridge listens on 127.0.0.1:17373.
GET /healthis kept for simple probes.GET /v1/healthreturns bridge identity and readiness.GET /v1/contextreturns the same context used by the MCP.GET /v1/commandslists the public v1 command surface.POST /v1/commands/:nameruns any public v1 command with a JSON body.
Only the process that owns the bridge port executes stateful work. If another process already owns the port, new MCP instances refuse to reuse it; stop the existing bridge process or choose a different POWER_AUTOMATE_BRIDGE_PORT.
Development
npm install
npm run typecheck
npm run lint
npm run test
npm run build
npm run pack:dry-runFor a local clone, prefer registering Codex against the built server from this checkout:
npm run build
$nodePath = (Get-Command node).Source
$serverPath = Join-Path (Get-Location) "dist/server/index.js"
codex mcp add power-automate-local -- $nodePath $serverPathIf an older local entry exists, remove it first:
codex mcp remove power-automate-localLoad the browser extension from dist/extension after rebuilding. Runtime state lives in data/ and must not be committed.
Docs
Package Links
npm: https://www.npmjs.com/package/@kaael1/mcp-power-automate
MCP Registry: https://registry.modelcontextprotocol.io/v0/servers?search=io.github.kaael1/mcp-power-automate
License
MIT. See LICENSE.
Available Tools
24 toolsadd_flow_to_solutionC
Add an existing cloud flow to an unmanaged Dataverse solution.
| Name | Required | Description | Default |
|---|---|---|---|
| addRequiredComponents | No | ||
| doNotIncludeSubcomponents | No | ||
| envId | No | envId | |
| flowId | Yes | flowId | |
| solutionUniqueName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry full burden. It only says 'Add' without explaining side effects, permissions, or behavior (e.g., whether the flow is removed from a previous solution).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, but it lacks important details that could be added without much length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is insufficient. It does not indicate how to obtain the solutionUniqueName or flowId, nor the effect of optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 40% schema description coverage and no parameter explanation in the description, the agent gets minimal help understanding parameters like addRequiredComponents and doNotIncludeSubcomponents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add) and the resources (existing cloud flow to unmanaged Dataverse solution), distinguishing it from siblings like create_flow_in_solution which create new flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not include exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_flow_updateC
Apply a flow edit and return the saved flow plus the persisted review diff.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | No | ||
| flow | Yes | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It correctly indicates that the tool applies an edit (mutating state) and returns a diff, but omits important details like permissions, side effects, or any constraints beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and return value. It is concise, but may be too brief given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested object parameters and lack of output schema, the description is incomplete. It does not clarify required vs optional parameters, parameter roles, or return structure, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no meaning for any of the three parameters (displayName, flow, target). The agent receives no guidance on how to use the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('apply a flow edit') and what is returned ('saved flow plus the persisted review diff'). It is clear and specific, but does not differentiate from sibling tools like 'preview_flow_update' or 'revert_last_update'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies it is for applying edits, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_flowC
Clone an existing flow inside the current environment and optionally connect the clone.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | No | ||
| makeActive | No | ||
| sourceFlowId | Yes | flowId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It indicates cloning and optional connection, implying mutation. However, it does not explain side effects (e.g., impact on original flow), required permissions, or consequences of the 'makeActive' parameter. The transparency is adequate but superficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core action and an optional behavior. It is front-loaded with the primary verb and resource. While very concise, it could be slightly expanded without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters and no output schema, the description is incomplete. It does not mention the return value (likely a cloned flow identifier), error conditions, or behavior when the optional 'connect' is specified. This lacks sufficient context for an agent to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'sourceFlowId' has a minimal description 'flowId'). The tool description adds no parameter details beyond naming 'displayName' and 'makeActive'. With low schema coverage, the description fails to compensate by explaining parameters' purpose or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'clone an existing flow' and specifies the context 'inside the current environment' with an optional 'connect the clone'. This differentiates it from sibling tools like 'create_flow' (creates from scratch) and 'connect_flow' (connects existing flows). However, it lacks specificity on what 'connect' means, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'apply_flow_update' or 'create_flow_in_solution'. It does not mention prerequisites, exclusions, or conditions where cloning is appropriate, leaving the agent without explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_flowC
Connect the MCP to a flow using flowId, tabId, or nameQuery. Returns candidates if the request is ambiguous.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It notes that the tool returns candidates if the request is ambiguous, but does not disclose side effects, state changes, required permissions, or what happens on success/failure. The behavioral disclosure is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but it contains inaccurate information (parameters not in schema). Conciseness is undermined by incorrectness, making it counterproductive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description fails to fully compensate. It does not explain what 'connect' means, the nature of 'candidates', or how the tool integrates with the MCP. The contradiction with the schema leaves the tool's actual interface unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description mentions three parameters (flowId, tabId, nameQuery). This creates a direct contradiction between the schema and description, confusing the agent. The description adds misleading information beyond the schema, worsening understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool connects the MCP to a flow, using flowId, tabId, or nameQuery, and returns candidates if ambiguous. The verb 'connect' and resource 'flow' are clear, and the tool is distinct from siblings like 'create_flow' or 'get_flow'. However, what 'connect' specifically entails (e.g., establishing a session) is not fully defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It mentions using flowId, tabId, or nameQuery, but does not clarify when each identifier is appropriate or when to avoid this tool. The hint about returning candidates provides minimal context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_flowC
Create a new blank flow in the current environment and connect it as the active target.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | Yes | ||
| triggerType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must carry full burden. It states 'Create a new blank flow' but does not disclose whether this requires specific permissions, whether it replaces any existing active target, or what happens if parameters are invalid. It also omits mention of the two trigger types defined in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence of 13 words, making it concise. However, it is overly terse and omits critical information about parameters and usage. Conciseness should not come at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters (one required, one optional enum), no output schema, and no annotations, the description is insufficient. It fails to explain parameter semantics, usage context, or behavioral expectations, leaving the agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate for missing parameter documentation. However, the description does not mention either 'displayName' or 'triggerType' at all, leaving their purpose and acceptable values entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Create' and resource 'blank flow', and specifies additional action 'connect it as the active target'. This distinguishes it from sibling tools like 'create_flow_in_solution' (which creates in a solution) and 'connect_flow' (which likely only connects an existing flow).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool versus alternatives. For example, it does not mention that to create a flow in a specific solution one should use 'create_flow_in_solution', or that to clone an existing flow one should use 'clone_flow'. No when-not-to-use or prerequisites are indicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_flow_in_solutionB
Create a new blank flow in the current environment, add it to an unmanaged solution, and connect it as the active target.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | Yes | ||
| triggerType | No | ||
| addRequiredComponents | No | ||
| doNotIncludeSubcomponents | No | ||
| envId | No | envId | |
| solutionUniqueName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It reveals the tool performs a mutation (create, add, connect) but omits critical behavioral traits such as required permissions, whether the operation is atomic, what happens if the solution doesn't exist, or if connecting as active target overwrites an existing active target.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 20 words that concisely conveys the tool's core function. It is front-loaded with the main action. However, it could benefit from slight expansion to cover parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficient. It lacks information about the effect parameters have on the behavior, what the return value is, and prerequisites for the solution (e.g., must be unmanaged). The description is too minimal to fully prepare an agent for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (trivial for envId). The description adds no meaningful explanation for parameters like 'triggerType' (despite describing a 'blank flow'), 'addRequiredComponents', or 'doNotIncludeSubcomponents'. 'displayName' and 'solutionUniqueName' are required but not elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Create' and identifies the resources: 'new blank flow', 'add it to an unmanaged solution', and 'connect it as the active target'. This clearly distinguishes it from sibling tools like 'create_flow' (just creates) and 'add_flow_to_solution' (just adds).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the scenario where one needs a flow created, added to a solution, and set as active target, but does not explicitly state when this tool is preferred over using the individual sibling tools sequentially or if there are prerequisites like the solution must already exist and be unmanaged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
doctorA
Return bridge identity, diagnostics, public command names, and current Power Automate readiness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It describes what is returned but does not mention side effects, permissions, or safety (e.g., read-only). For a diagnostic tool, read-only is likely, but not stated. This is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action verb 'Return'. It is concise, contains no fluff, and every word is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers the return values adequately. It could mention the return format (e.g., JSON) or note that no input is required, but the current text is sufficient for an agent to understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100%. The baseline score of 4 applies as the description adds no parameter detail, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and lists clear outputs (bridge identity, diagnostics, public command names, Power Automate readiness). This clearly distinguishes it from sibling tools that manage flows (create, get, list, update), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use the tool: to retrieve diagnostic information. However, it does not explicitly contrast with alternatives or state when not to use it. Given the simplicity and lack of parameters, the guidance is adequate but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contextB
Return the current Power Automate context, capabilities, selection, and cached summaries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the tool is read-only, idempotent, requires authentication, or has any side effects. Since it is a get operation, it likely has no side effects, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the key verb and resource. It contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description partially explains what is returned (context, capabilities, selection, cached summaries) but lacks detail on structure or format. The tool has 0 parameters, so input is trivial, and the description is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is trivially 100%. The description adds no additional information about parameters beyond the schema, which is acceptable but does not exceed expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and clearly identifies the resource as 'Power Automate context', listing included items (capabilities, selection, cached summaries). It distinguishes itself from sibling tools which are primarily flow manipulation operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, typical use cases, or situations where another tool might be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flowC
Fetch the selected Power Automate flow target and return a normalized editable payload.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'normalized editable payload' implying transformation, but does not state if data is read-only, whether it triggers side effects, or if authentication/perms are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. Efficient but could benefit from a brief note on prerequisites or output format without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and complex nested input, description should explain what 'normalized editable payload' entails (e.g., structure, fields). Lacks guidance for a tool with many siblings, making it hard for agent to determine suitability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% as descriptions in schema are just field names. Description adds 'selected Power Automate flow target' but does not explain envId or flowId meaning, format, or how to obtain them. Leaves agent to infer from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Verb 'Fetch' and resource 'Power Automate flow target' are clear. Output described as 'normalized editable payload' adds specificity. However, no explicit differentiation from siblings like get_run or get_context, though the target flow is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_flows for enumeration, get_run for run details). No context on prerequisites or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_last_updateA
Return the last successful flow update recorded by the local bridge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must cover behavioral context. It implies a read-only operation but does not state side effects, idempotency, or authentication needs. However, the tool is simple with no parameters, making hidden behavior unlikely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no extraneous words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not specify the format or fields of the returned flow update. This may leave the agent uncertain about the return value, though the tool's simplicity mitigates the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so the description does not need to add parameter details. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return') and the specific resource ('last successful flow update') with a clear scope ('local bridge'). It effectively distinguishes from sibling tools like update_flow or apply_flow_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_flow or get_latest_run. The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_runC
Return the most recent run for the selected flow target.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the basic action without disclosing behavioral traits like idempotency, side effects, authorization needs, or error behavior for missing runs. The word 'return' implies a read operation, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without unnecessary words, front-loading the action. However, it is so brief that it sacrifices completeness, which prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description should cover return format, behavior when no runs exist, and explain the target parameter. It fails to do so, leaving significant gaps for an AI agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'selected flow target' but does not elaborate on the structure or required fields (envId, flowId). With 0% schema description coverage, the description should compensate, but it adds minimal meaning beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('return'), the object ('most recent run'), and the context ('for the selected flow target'). It effectively distinguishes from siblings like 'get_run' (returns a specific run) and 'list_runs' (lists runs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'get_run' or 'list_runs'. Without this, an AI agent cannot easily decide between similarly named tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_runA
Return details for a specific run of the selected flow target.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It describes a read operation ('Return details') without stating safety, side effects, or auth needs. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action and resource, no extraneous words. Efficient and direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 2 parameters (one nested), the description is brief. It does not specify what 'details' are returned or any constraints, but is functional for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explain the parameters. runId and target (with envId and flowId) are not described beyond their schema types. No additional meaning added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (return details) and the resource (a specific run of the selected flow target). It distinguishes from sibling tools like list_runs and get_latest_run by specifying 'specific run'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like list_runs or get_latest_run. The description implies use for a single run, but does not mention exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_run_actionsC
Return action-level statuses for a specific run of the selected flow target.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation by stating 'Return,' but without annotations, it fails to disclose side effects, authentication needs, rate limits, or error behavior. Minimal transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. While it could be more informative, it is appropriately concise for a simple read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too short for a tool with a nested input object and no output schema. It does not explain what 'action-level statuses' means or provide examples, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (parameters lack descriptions). The description does not explain how runId and target relate to the input, nor does it clarify the nested structure of target. It adds minimal value beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns 'action-level statuses' for a 'specific run of the selected flow target,' using a specific verb and resource. This distinguishes it from siblings like get_run (run-level) and list_runs (multiple runs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_run or get_latest_run. There is no mention of exclusions or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trigger_callback_urlC
Return the callback URL for the selected flow trigger when it supports manual invocation.
| Name | Required | Description | Default |
|---|---|---|---|
| triggerName | No | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states what it does but does not disclose error handling, permission requirements, or what happens if the trigger does not support manual invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key action and resource, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% parameter coverage, the description is too brief. It does not explain what the callback URL is used for, how to use it, or potential errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain any parameters. The parameters triggerName and target are not mentioned at all, leaving their meaning entirely to the names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a callback URL for a flow trigger, specifying the condition 'when it supports manual invocation'. This is a specific verb and resource, and it distinguishes the tool from sibling 'invoke_trigger'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like invoke_trigger. It does not mention prerequisites or conditions beyond the implicit manual invocation support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_triggerC
Invoke the selected flow trigger using its callback URL when it supports manual execution.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| target | No | ||
| triggerName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions using a callback URL and the manual execution condition, but does not disclose side effects, permissions needed, or return behavior. Critical behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations, output schema, or parameter descriptions, the description omits essential details like return values, errors, and prerequisites. It only covers purpose, leaving the agent underinformed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description adds no meaning to any parameter. Parameters like 'body' and 'triggerName' have no explanation, leaving the agent without guidance on how to populate them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Invoke') and the resource ('flow trigger'), with a condition ('when it supports manual execution'). It distinguishes from siblings like 'get_trigger_callback_url' by implying execution rather than retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a condition for use ('when it supports manual execution') but does not explicitly state when not to use or mention alternative tools. Usage context is implied but lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environment_variablesC
List Dataverse environment variable definitions and current values without changing them.
| Name | Required | Description | Default |
|---|---|---|---|
| envId | No | envId | |
| solutionUniqueName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the non-destructive nature but fails to mention other behavioral aspects like authentication, error handling, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, efficiently conveying the core purpose. However, it could be slightly more structured or include parameter hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with optional parameters and no output schema, the description is minimally adequate: it states the action and resource. But it lacks context on parameter usage and expected output, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about parameters. Schema coverage is 50% with tautological descriptions, and the description does not clarify what envId or solutionUniqueName represent or how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Dataverse environment variable definitions and current values, with the verb 'list' and a clear resource. However, it does not explicitly distinguish from sibling tools, though the name makes it unique among them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without changing them' implies read-only usage, but there is no explicit guidance on when to use or when not to use, nor any mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_flowsC
List flows from live catalog plus browser-captured flows in the current environment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits. It only states the scope (current environment) but omits whether the operation is read-only, whether it returns full flow details or summaries, pagination behavior, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose. It is concise and avoids fluff, though the brevity comes at the cost of missing important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters and no output schema, the description is insufficient. It does not explain the return format, pagination, or parameter semantics, which are essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the two parameters ('limit' and 'query'). There is no context on how 'query' filters flows or how 'limit' controls page size, leaving the agent without critical usage information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'flows', and specifies the sources 'live catalog plus browser-captured flows in the current environment'. It effectively distinguishes the tool from sibling tools like get_flow, create_flow, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list_runs, list_environment_variables, or other listing tools. The description does not mention any prerequisites, filtering context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_runsC
List recent runs for the selected flow target.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not clarify what 'recent' means (e.g., time range, sorting order), nor does it mention pagination or behavior when limit is not specified. Behavioral traits beyond listing are not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with one sentence, but it lacks structure and could include parameter details without significant bloat. It is not verbose but misses opportunities to be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a nested object parameter, no output schema, and no annotations, the description is too minimal. It fails to explain optionality of the target, the meaning of 'recent', or what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds no meaning beyond the parameter names; it does not explain the purpose of limit or the nested target object's fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as listing recent runs for a flow target, but it does not differentiate from sibling tools like get_latest_run or get_run, which would benefit from explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives such as get_run (single run) or get_latest_run (latest run). The description implies a target is needed but the schema makes target optional, causing ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_solution_componentsB
List Dataverse solution components for a solution unique name without changing them.
| Name | Required | Description | Default |
|---|---|---|---|
| enrich | No | ||
| envId | No | envId | |
| solutionUniqueName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only states the tool is read-only ('without changing them'), but fails to disclose other behavioral traits like performance, error handling, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core action and constraint without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about return values, pagination, error conditions, and parameter details, which is insufficient given the absence of output schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema_description_coverage is 33% and parameter descriptions are minimal (e.g., 'envId' repeated). The tool description does not explain the 'enrich' parameter or provide any additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists Dataverse solution components for a solution unique name, without mutation. It distinguishes from sibling tools like list_solutions and mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing components but does not provide explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_solutionsB
List visible Dataverse solutions in the current or provided environment without changing them.
| Name | Required | Description | Default |
|---|---|---|---|
| envId | No | envId | |
| includeManaged | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It only states the tool is non-destructive, but omits details on authentication, rate limits, pagination, or what 'visible' means (e.g., security filtering), leaving significant behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 14-word sentence, highly concise, front-loaded with the verb and resource, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having three parameters and no output schema or annotations, the description does not explain parameter behaviors, return format, pagination, or filtering semantics, making it insufficient for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33% with only envId having a trivial description, and the tool description provides no explanation for any parameter (envId, includeManaged, query). Given low schema coverage, the description should compensate but fails to clarify parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Dataverse solutions without modification, using a clear verb ('List') and resource ('solutions'), and distinguishes from sibling tools by emphasizing non-destructive read-only behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading solutions in the current or specified environment, but lacks explicit guidance on when to use this tool versus alternatives like list_flows or list_environment_variables, and does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_flow_updateA
Preview a flow edit without saving it, returning the proposed review diff and summary.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | No | ||
| flow | Yes | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It correctly states no saving occurs, which is key. However, it does not mention potential errors, permission requirements, or that the preview is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler, front-loaded with the essential action. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0% schema coverage and no output schema, the description should compensate with more detail. It omits the return format, prerequisites, and edge cases, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of parameters like displayName, flow, or target. The agent cannot infer parameter semantics from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (preview), the resource (flow edit), and the outcome (proposed review diff and summary). It distinguishes from sibling tools like apply_flow_update (which saves).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before apply_flow_update, but lacks explicit when-to-use or when-not-to-use guidance. The context of sibling tools helps, but the description itself does not clarify alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revert_last_updateC
Revert the selected flow target to the last recorded before-state.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose key behavioral traits such as whether the operation is destructive, whether it is reversible, what permissions are needed, or what constitutes a 'before-state'. The term 'revert' implies modification, but details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded. However, it could be slightly more structured (e.g., bullet points) without sacrificing brevity, but it remains informative for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and poor parameter descriptions, the tool definition is incomplete. An agent lacks critical information such as the definition of 'before-state', post-revert behavior, and error scenarios, which are essential for a revert operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no additional meaning beyond the input schema. Schema field descriptions are tautological (e.g., 'envId' and 'flowId'), and the description does not explain the purpose or origin of these identifiers, making parameter semantics insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Revert'), the resource ('selected flow target'), and the target state ('last recorded before-state'). This is specific and distinct from siblings like 'get_last_update' (retrieval) or 'apply_flow_update' (modification), so purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'preview_flow_update' or 'apply_flow_update'. There is no mention of prerequisites, context, or when not to use it, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_flowC
Validate a flow definition using the flow service validation API when available.
| Name | Required | Description | Default |
|---|---|---|---|
| flow | Yes | ||
| target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions conditional availability ('when available') but does not explain what happens if the API is unavailable, whether validation is read-only, or what side effects occur. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. It avoids redundancy, though it could add more detail without significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of nested objects (flow with two sub-objects) and lack of output schema, the description is too sparse. It does not explain what the validation result looks like, how to interpret outcomes, or what constraints apply. Essential context for a validation tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for top-level parameters. The description does not clarify the meaning of 'flow' or 'target', nor their nested properties. It adds no value beyond the schema, leaving the agent to infer parameter roles from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'validate' and the resource 'flow definition', with a condition 'when available'. It distinguishes from sibling tools like 'create_flow' or 'clone_flow' by focusing on validation. However, it could be more specific about what validation entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, such as when a flow should be validated (e.g., before creating or updating) or when it is unnecessary. The description does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_for_runB
Poll the latest run or a specific run until it reaches a terminal status or timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| pollIntervalSeconds | No | ||
| runId | No | ||
| target | No | ||
| timeoutSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions polling and timeout but lacks details on polling interval, terminal statuses, default behavior, error handling, and precedence between runId and target.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence (14 words) that is front-loaded with the purpose. However, it sacrifices necessary detail, making it somewhat under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, a nested object, and polling behavior, the description lacks critical details: how to specify run, default polling interval, terminal statuses, timeout behavior, and return value. It is insufficient for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds minimal meaning: it links 'latest run' to target and 'specific run' to runId, but does not explain pollIntervalSeconds, timeoutSeconds, or the target's envId and flowId fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls a run until terminal status or timeout, using specific verbs 'poll' and 'wait', and distinguishes from siblings like get_run (one-time fetch) and get_latest_run (single fetch).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for waiting on completion, but does not explicitly state when to use this tool versus alternatives like get_run or get_latest_run. No exclusion or comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
All tools have distinct purposes. Even similar tools like preview_flow_update and apply_flow_update are clearly differentiated by their descriptions (preview vs. apply). No ambiguity.
Every tool follows a consistent verb_noun pattern in snake_case (e.g., add_flow_to_solution, list_flows, invoke_trigger). No mixed conventions or vague naming.
With 24 tools, the server is on the heavy side of the acceptable range. While each tool serves a specific function, the count feels slightly high for a single domain, though still workable.
The tool set covers flow creation, editing, validation, runs, triggers, solutions, and environment variables. A notable gap is the absence of a delete or remove flow tool, which agents may need.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Live browser debugging for AI assistants — DOM, console, network via MCP.
Human-in-the-loop for AI agents over MCP: durable approvals with a hosted review page & audit trail
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation, and network monitoring directly within your daily Chrome environment.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceAn extension-based MCP server that enables AI assistants to control your existing Chrome browser, leveraging your active login states and settings for automation. It provides over 20 tools for tasks like semantic tab search, screen capture, network monitoring, and direct element interaction.
- AlicenseNot gradedqualityCmaintenanceA self-hosted MCP server that enables AI assistants to inspect and manage Microsoft Power Automate cloud flows and Dataverse records locally, using your own Azure identity.MIT
- AlicenseAqualityAmaintenanceMCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.251Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaael1/mcp-power-automate'
If you have feedback or need assistance with the MCP directory API, please join our Discord server