Skip to main content
Glama

Run an app's code on a stored event

anyhook_code_test
Destructive

Run the saved handler now and return its logs, return value and duration: on a stored event (the latest when event_id is omitted) or on a body you give. Counts as a run. Nothing is delivered, but whatever the code itself sends does happen.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoRun on this body instead of a stored event.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
appSlugYes
event_idNoRun on this stored event. Omit for the app's latest event.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag a mutating, open-world operation (readOnlyHint=false, destructiveHint=true, openWorldHint=true), and the description sharpens that profile: it consumes a run/quota, delivers nothing downstream, yet the handler's own outbound effects still execute. That nuance is exactly the kind of side-effect disclosure annotations cannot provide, and it also previews the response contents.

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

Conciseness5/5

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

A single tightly-packed sentence plus a colon-delimited clause list, front-loaded with the action. Every clause carries distinct information (inputs, modes, cost, side effects); nothing is redundant filler.

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 usefully names the return payload, and it covers quota cost and side effects for a mutating, open-world call. It stops short of describing failure behavior (e.g., unknown event_id or handler crash) or rate limits, which an agent invoking this repeatedly would want.

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 75%, so the schema partly documents itself, but the description supplies the semantics that matter: omitting event_id selects the app's latest event, and providing body runs against given data instead of a stored event. The precedence between body and event_id is implied rather than stated outright, leaving a small ambiguity.

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 concrete verb and resource ('Run the saved handler now') plus what comes back ('logs, return value and duration'). The delivery clause ('Nothing is delivered, but whatever the code itself sends does happen') semantically separates it from delivery-oriented siblings such as anyhook_replay and anyhook_replay_failed without needing to name them.

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

Usage Guidelines4/5

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

Gives clear selection logic between the two run modes ('on a stored event (the latest when event_id is omitted) or on a body you give') and warns that a run is consumed ('Counts as a run'). It does not explicitly exclude the adjacent alternatives (anyhook_mock, anyhook_replay, anyhook_inspect), so the agent must infer which tool fits when it wants a real delivery or a canned response.

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.