Skip to main content
Glama

Trigger Framework Run

trigger_framework_run

Trigger a full framework test execution for a project. The framework must already exist (tests added via accept_pending_tests or add_to_framework). Supports every registered framework — playwright, pytest, cypress, rust_cargo (cargo test), go_test (go test -json), k6, etc. The runner is picked from the project's framework type; native (Rust/Go) runs execute via cargo/go and return normalized console_logs just like browser runs. Poll its run_id with get_framework_run, not get_execution. Read ready customer drafts with get_framework_handoff.

Input Schema

NameRequiredDescriptionDefault
contextNoExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
project_idYesProject ID to run framework tests for

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only give readOnlyHint=false, openWorldHint=true, destructiveHint=false; the description adds real behavioral context beyond them — the runner is selected from the project's framework type, native Rust/Go runs execute via cargo/go, and console_logs are normalized across run types. The implicit async model (poll the returned run_id) is also disclosed. It does not say whether concurrent runs on the same project are allowed or how long runs typically take.

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 action and prerequisite, then the framework enumeration and the polling/handoff routing. The framework list ('playwright, pytest, cypress, rust_cargo..., k6, etc.') is slightly padded since 'etc.' makes the enumeration non-exhaustive, but every other sentence carries routing or behavioral value.

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?

With no output schema, the description still tells the agent the key return contract — a run_id to poll — and clarifies native-run output parity (normalized console_logs). For a 2-parameter async trigger with a full-coverage schema and annotations present, this is nearly complete; only concurrency, expected duration, and failure-mode behavior are unaddressed.

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 100%, so both project_id and the mandatory context parameter are fully documented in the schema, and the baseline is 3. The description adds only the generic notion that the run is scoped to a project; it gives no extra semantics for project_id or for the context/analytics field.

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?

Opens with a specific verb+resource+scope: 'Trigger a full framework test execution for a project.' It also enumerates supported frameworks (playwright, pytest, cypress, rust_cargo, go_test, k6), so an agent knows the breadth. It does not, however, distinguish itself from nearby siblings like run_tests or run_native_test, so the differentiation is only partial.

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?

States a hard prerequisite ('The framework must already exist (tests added via accept_pending_tests or add_to_framework)') and routes the agent to accept_pending_tests / add_to_framework for setup. It also names the correct follow-up tool for polling (get_framework_run, explicitly not get_execution) and points to get_framework_handoff for reading drafts. Missing only an explicit statement of when to prefer run_tests or run_native_test instead.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources