Skip to main content
Glama
hnonot
by hnonot

Get Axure page interactions and interactive elements

axure_get_interactions
Read-onlyIdempotent

Reports which Axure widgets respond to user input and what each does: navigation, URL opening, panel state changes, visibility, text updates, and more, with evidence levels and gaps.

Instructions

Report which widgets on an Axure page respond to user input, and what each one does: page navigation, opening a URL, switching a dynamic panel state, showing or hiding elements, setting text or values, expanding, waiting, and so on. Triggers (click, hover, focus, text change, selection, load) come from the project model rather than from appearance.

Every record states its own evidence level in confidence, and this is the point of the tool:

  • "declared" — the project model states the interaction. A fact, with its action list.

  • "observed" — the interaction was actually triggered and this is what changed. A fact, but covering only the one branch that ran. This build does not trigger interactions, so this level is normally absent.

  • "inferred" — the widget merely looks interactive (pointer cursor, form element, focusable). A GUESS. It never carries actions, because the action is not known.

If a source could not be read, the result says so in gaps. An empty declared list together with a gap means "could not read", which is different from "this page declares no interactions"; the response states which one applies rather than leaving it to inference.

Set includeInferred=false for a facts-only view. This tool is read-only and does not click, type or change page state.

Input Schema

NameRequiredDescriptionDefault
pageNoPage to open. Accepts, in this order: a page id from axure_list_pages (e.g. "6k5oyo"), an exact page name (e.g. "订单管理"), a path relative to the project (e.g. "订单管理.html"), or a URL inside the configured Axure deployment. Omit for the prototype entry page. Any URL outside the deployment is refused.
formatNoOutput shape. "interactions" (default) lists the interaction records described above. "standard" returns the versioned axure.page/v1 document — the same shape axure_get_page_map produces with format="standard" — so the interactions arrive together with the elements and relations they refer to.
viewportNoBrowser viewport to render with. Defaults to AXURE_VIEWPORT_WIDTH/HEIGHT (normally 1440x900).
maxWidgetsNoCap on model entries read (default 400). Lower it to bound a very large response.
includeInferredNoInclude "inferred" guesses (default true). They are always labelled, so leave this on unless you specifically want model-declared facts only.

Output Schema

NameRequiredDescriptionDefault
okNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, yet the description adds substantial context beyond them: it does not trigger interactions, so "observed" is normally absent, and `gaps` distinguishes "could not read" from "declares no interactions." That last point is exactly the kind of failure-mode disclosure annotations cannot carry.

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

Conciseness4/5

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

Front-loaded with the purpose, then the confidence taxonomy, then the gap semantics, then the one actionable toggle — the ordering is deliberate. Slight redundancy in restating the facts-only view, but every section carries information an agent needs before trusting the output.

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?

Output schema exists, so return shapes need not be explained, yet the description covers the interpretive burden the schema cannot: what each confidence level means and how to read an empty result with a gap. Nothing needed to call it correctly or interpret it is missing.

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 adds real meaning to includeInferred by tying it to the confidence taxonomy and explicitly recommending it stay on. The `page` and `format` parameters are left entirely to their schema text, keeping it below a 5.

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: "Report which widgets on an Axure page respond to user input, and what each one does," then enumerates the action and trigger vocabulary. The evidence-level framing makes the scope distinct from a page map or a visual capture, so an agent can tell it apart from axure_get_page_map or axure_get_visual without reading schemas.

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

Usage Guidelines3/5

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

Gives one concrete usage instruction ("Set includeInferred=false for a facts-only view") and a safety statement ("does not click, type or change page state"). However it never names an alternative sibling such as axure_get_page_map or axure_get_visual, nor states when-not to use it, so the routing decision is left partly to inference.

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