Skip to main content
Glama

Server Details

A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
gba3124/anyhook-mcp
GitHub Stars
0
Server Listing
anyhook-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 11 of 11 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: app CRUD, event listing/inspection, mocking, provider listing, quickstart bootstrap, replay operations, undelivered events, and signature verification. No two tools overlap, and their descriptions clearly separate their roles.

Naming Consistency4/5

All tools use the 'anyhook_' prefix. Most follow a verb_noun pattern (apps_create, apps_list, replay_failed) but some are single words (events, inspect, mock, verify). This minor inconsistency doesn't hinder clarity.

Tool Count5/5

With 11 tools, the server covers all essential webhook management tasks without being excessive. Each tool serves a necessary function, from app setup to event debugging and verification.

Completeness4/5

The tool set covers the full lifecycle: creating apps, listing/inspecting events, mocking, replaying (individual and bulk failed), undelivered events, and signature verification. Missing an app deletion or update tool, but these are less critical for typical workflows.

Available Tools

12 tools
anyhook_apps_createCreate a new AnyHook appAInspect

Create a new app with a name, provider source, and (optionally) destinations. Returns the inbound URL. Created WITHOUT destinations, the app starts inactive: its inbound URL answers provider handshakes (Meta hub.challenge etc.) but acknowledges and discards event POSTs (202, reason app_inactive) until a destination is added and is_active is set true (PATCH /api/v1/apps/{slug}).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable app name.
sourceYesProvider name (stripe, github, shopify, ...). Used for signature auto-detection.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
destinationsNoDestination URLs that should receive forwarded events.
Behavior5/5

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

The description goes beyond the schema by disclosing critical runtime behavior: if created without destinations, the app starts inactive, responds to handshakes, discards event POSTs with 202 and reason app_inactive, and requires a later PATCH to activate. This is essential for an agent to set correct expectations. With no annotations present, the description carries full burden and does so excellently.

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?

The description is composed of three distinct sentences, each providing necessary information: the core function, the return value, and an important behavioral caveat. It is front-loaded with the main action and contains no fluff or redundancy.

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?

With no output schema, the description properly states the key return value (inbound URL). It also covers the crucial inactive-state behavior, which is the main complexity of this creation tool. The description is sufficient for an agent to use the tool correctly without needing additional context.

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 the baseline is 3. The description does not add substantive parameter semantics beyond mentioning 'provider source' as a synonym for the source parameter and highlighting that destinations are optional, which the schema already indicates.

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?

The first sentence clearly states the tool creates a new app with specified parameters (name, provider source, optional destinations). It uses a specific verb+resource structure and is easily distinguished from sibling tools like anyhook_apps_list, which lists apps.

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?

The description provides clear context for when to use this tool (to create an app) and describes the behavioral implications of omitting destinations, which affects usage decisions. It does not explicitly mention alternatives or when-not-to-use cases, so it stops short of a 5.

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

anyhook_apps_listList your AnyHook appsAInspect

List apps in your AnyHook account with inbound URLs, sources, and destination URLs. Check isActive: an inactive app's inbound URL answers setup handshakes but acknowledges and discards event POSTs (202, reason app_inactive) instead of relaying them.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
Behavior4/5

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

With no annotations, the description rightly carries the behavioral burden. It discloses a non-obvious behavior: inactive apps' inbound URLs answer setup handshakes but discard event POSTs with a 202 reason app_inactive. This goes beyond just saying 'list apps' and adds meaningful context, though it does not cover all possible behaviors (e.g., pagination, 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.

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and followed by a valuable edge-case note. Every sentence earns its place with no redundancy or 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?

For a simple list tool with one optional parameter and no output schema, the description is fairly complete: it states the main function, the fields returned, and an important behavioral nuance about inactive apps. It lacks explicit mention of return format or pagination, but these are not critical given the tool's simplicity.

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 coverage is 100% for the single parameter api_key, which already includes details about when it's needed and that it is ignored over stdio. The tool description adds no additional parameter information, so the baseline score of 3 is appropriate.

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?

The description clearly states the tool's action: 'List apps in your AnyHook account' and specifies the included fields ('inbound URLs, sources, and destination URLs'). This is a specific verb+resource+scope, distinguishing it from siblings like anyhook_apps_create (create) and anyhook_events (events).

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?

The description provides clear context that this tool is for listing apps and includes a practical note to 'Check isActive', which guides interpretation of results. It does not explicitly name alternatives (e.g., when to use anyhook_apps_create instead), but the listing purpose is unmistakable and non-conflicting with sibling tools.

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

anyhook_eventsList recent webhook eventsAInspect

List webhook events (most recent first). Uses your AnyHook account when connected (via ANYHOOK_API_KEY or anyhook_quickstart), otherwise the local in-memory store.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sourceNoFilter by provider source (local mode).
statusNoFilter by status. Account mode: queued|success|retrying|failed. Local mode: received|forwarded|failed|retrying.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
appSlugNoFilter to a specific app slug (account mode).
Behavior3/5

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

Discloses ordering and dual-mode behavior, but no annotations exist. Does not mention read-only nature, pagination, or error handling, leaving some behavioral aspects implicit.

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?

Single sentence is concise and front-loaded with key info. Could be slightly more structured but efficient.

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?

Given no output schema and 5 parameters, description provides adequate context for a simple list tool. Return values and parameter details are covered by schema, but some behavioral aspects (e.g., pagination) are missing.

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 coverage is high (80%), so description adds minimal value beyond parameter names and constraints. The description itself does not elaborate on parameters.

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?

Description clearly states it lists webhook events, with ordering (most recent first) and dual-mode operation (account vs local). Distinguishes from siblings like anyhook_replay and anyhook_undelivered.

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?

Provides context on when to use (listing events) and mode differences, but lacks explicit exclusions or alternatives. Sibling tools are sufficiently different, so no confusion expected.

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

anyhook_inboxGet this app's email inbox addressAInspect

Every AnyHook app is also an email inbox: mail sent to {user}.{app}@anyhook.net becomes an event (type email.received) you can read with anyhook_events. Returns the address and webhook URL for one of your apps. No account yet? anyhook_quickstart returns an inbox_address directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoApp slug (from anyhook_apps_list). Defaults to your first app.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
Behavior2/5

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

No annotations are provided, so the description carries full burden. It explains the return values (address and webhook URL) and the email-to-event mechanism, but fails to disclose behavioral traits such as idempotency, rate limits, auth requirements, or error behavior when the app does not exist.

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?

The description is three sentences, front-loaded with key concept, then return values, then alternative. Every sentence is meaningful; no fluff.

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?

For a simple tool with 2 optional params and no output schema, the description is mostly complete. It covers purpose, usage, and a sibling alternative. Minor gaps in behavioral details are acceptable given simplicity.

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% with param descriptions, so baseline is 3. The description adds value by explaining the email address format and the event type, which is not in the schema.

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?

The description clearly states the tool retrieves the email inbox address and webhook URL for an AnyHook app, using the verb 'Returns' and specifying the resource. It distinguishes itself from siblings like anyhook_events (reads events) and anyhook_quickstart (returns address directly).

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?

The description provides context on when to use (to get app's email address) and mentions an alternative for new users (anyhook_quickstart). However, it lacks explicit exclusions or comparisons with other siblings like anyhook_inspect or anyhook_mock.

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

anyhook_inspectInspect a specific eventAInspect

Full detail for one event: source, type, status, delivery summary. Account or local store.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent ID returned by anyhook_events.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
Behavior2/5

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

No annotations provided, and the description only adds 'Account or local store' for context. No mention of permissions, side effects, rate limits, or safety profile beyond the implied read operation.

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?

One sentence covering all key aspects without redundancy. Highly efficient.

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?

Adequate for a simple tool with 2 parameters and no output schema. Could briefly note the return fields, but the description covers the core purpose and inputs.

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?

Enriches schema by explaining the id is from anyhook_events and the api_key is only needed over HTTP without Authorization header. Schema coverage is 100%, so additional context adds value.

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?

Clearly states the tool provides full detail for one event including source, type, status, and delivery summary. Distinguishes from siblings like anyhook_events (which lists events) and anyhook_undelivered.

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?

Implies usage when you need full detail for a single event, but does not explicitly state when to use this vs alternatives or provide exclusions.

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

anyhook_mockMock a webhookAInspect

Generate a webhook request with a valid signature for Stripe, GitHub, or Slack. If targetUrl is provided, the request is POSTed there and the response is returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoOptional fields to deep-merge into the fixture.
eventYesEvent name (e.g. 'payment_intent.succeeded' for Stripe).
secretNoSigning secret. Falls back to a deterministic default per provider.
providerYesWebhook provider to simulate.
targetUrlNoIf set, POST the generated request to this URL and return the response.
Behavior4/5

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

With no annotations provided, the description carries full burden. It explains that a valid signature is generated, secret falls back to a default, and the request is optionally POSTed. This outlines the core behavior clearly. However, it omits details like potential side effects, rate limits, or authentication requirements, which are not critical for a mock tool but could be elaborated.

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?

The description is two sentences long, front-loaded with the primary purpose, and contains no redundant information. Every sentence serves a purpose: the first defines the core action, the second adds the conditional POST behavior. It is highly efficient.

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

Completeness3/5

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

The description covers the main behavior but leaves ambiguity about the return format when no targetUrl is provided. It only describes the response for the targetUrl case. Given no output schema, this gap may confuse an agent about what is returned in the default case. Additional clarity on the return payload would improve completeness.

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 the baseline is 3. The description adds meaningful value beyond the schema: for 'data' it clarifies 'deep-merge into the fixture', for 'event' it gives a concrete example, for 'secret' it notes the fallback to a deterministic default, and for 'targetUrl' it explains the POST behavior. This enhances the schema's documentation.

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?

The description clearly states the tool generates a webhook request with a valid signature for three specific providers (Stripe, GitHub, Slack) and optionally POSTs it. The verb 'Generate' and the resource 'webhook request' are specific, and the sibling tools list confirms this is distinct from other anyhook operations.

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?

The description implies usage for simulating webhooks but does not explicitly state when to use this tool over alternatives or provide exclusion criteria. It mentions the conditional behavior with targetUrl but offers no guidance on when not to use it or how it compares to related tools like verify or replay.

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

anyhook_providersList supported providers and event typesAInspect

List webhook providers AnyHook can mock, along with the event types available for each.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It states it lists providers and events, but gives no details on response structure, authentication needs, rate limits, or whether the list is static or dynamic.

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?

One sentence, no fluff, front-loaded with purpose. Every word earns its place.

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?

For a parameter-less listing tool with no output schema, the description is adequately complete. It explains what the tool returns, though adding a note about response structure would improve completeness.

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?

No parameters exist, so baseline is 4. The description adds value by specifying what is listed (providers and event types), making the tool's output clear.

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?

The description clearly states the tool lists webhook providers and their event types, using a specific verb and resource. It distinguishes from siblings like anyhook_mock or anyhook_apps_create, which are action-oriented rather than informational.

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?

The description implies usage for discovering available providers before using mocking or other tools, but does not explicitly state when to use it over alternatives or when not to use it. No exclusions or context provided.

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

anyhook_quickstartCreate a free AnyHook endpoint (no account needed)AInspect

Zero-config bootstrap: creates a free ephemeral relay endpoint + API key with no signup. Returns inbound_url (receives webhooks immediately), api_key, and claim_url. This MCP session auto-connects to the new account; remote tools work right after. Endpoint expires in 7 days unless claimed.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoOptional provider hint (stripe, github, shopify, ...).
destination_urlNoOptional forwarding destination for the new endpoint.
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses ephemeral nature, 7-day expiry, session auto-connect, and returned fields. Does not cover rate limits or idempotency, but covers key behavioral traits.

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

Conciseness5/5

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

Three sentences: first summarizes action, second enumerates return values, third adds key context (auto-connect, expiry). No redundant words, well-structured.

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?

Given no output schema, description adequately explains return values. Parameters are optional and documented. Expiry and session linking are covered. Sufficient for agent to use correctly.

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 coverage is 100% with clear descriptions. The tool description does not add new parameter details beyond what the schema provides (source and destination_url). Acceptable but not additive.

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?

Name and title clearly indicate creating a free endpoint. Description specifies verb (creates), resource (ephemeral relay endpoint + API key), and distinct feature (no signup). Clearly distinguishes from siblings like anyhook_apps_create which likely requires an account.

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 'zero-config bootstrap' and 'no signup', implying use when quick setup is needed. Mentions session auto-connects and expiry. Does not explicitly exclude scenarios or mention sibling tools, but context is clear enough.

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

anyhook_replayReplay an eventAInspect

Re-send a stored event to its destinations. Replay does NOT consume monthly event quota, safe to call repeatedly while debugging.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent ID to replay. Replay does not consume event quota.
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
Behavior3/5

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

With no annotations, the description carries the full transparency burden. It usefully discloses that replay is quota-free and safe to repeat, but omits other behavioral facts such as whether it can cause duplicate deliveries, requires specific permissions, or behaves asynchronously. This is a minimum viable transparency level.

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?

The description is two concise sentences that front-load the core action and then add the most important caveat (no quota, safe to repeat). Every word contributes value, with no fluff or repetition.

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?

For a tool with only 2 parameters, no output schema, and no nested objects, the description adequately conveys the primary behavior and safety profile. However, it could be slightly more complete by noting the distinction from anyhook_replay_failed or the asynchronous nature of replays, keeping it from a perfect score.

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?

The input schema provides 100% coverage, fully documenting both 'id' (Event ID to replay, no quota) and 'api_key' (when needed over HTTP). The description adds no additional parameter semantics beyond what the schema already states, so the baseline of 3 is appropriate.

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?

The description precisely states the tool's function: 'Re-send a stored event to its destinations.' This clearly identifies the verb (re-send), resource (stored event), and target (destinations). It also distinguishes itself from the sibling anyhook_replay_failed by handling any stored event, not just failed ones.

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?

The description explicitly notes that replay 'does NOT consume monthly event quota' and is 'safe to call repeatedly while debugging,' providing clear usage guidance. However, it does not mention when to avoid this tool or point to alternatives like anyhook_replay_failed for failed events.

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

anyhook_replay_failedBulk-replay all failed events for an appAInspect

Re-send every failed event for the given app slug. Useful after fixing a downstream bug to recover queued work.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
appSlugYesBulk-replay every failed event for this app.
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains the action (re-send failed events) but does not disclose idempotency, success/failure behavior, rate limits, or authentication details beyond the api_key parameter. Partial transparency but gaps remain.

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?

Two sentences with zero wasted words. The description is front-loaded with the core action and immediately provides a use case. Highly efficient.

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?

For a simple tool with 2 parameters and no output schema, the description explains purpose and usage scenario. However, it lacks details on partial failures or side effects. Given the tool's simplicity and clear context, it is mostly complete.

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%. The description for appSlug repeats the schema's description. The api_key description adds useful context about when it is needed. Overall, minimal additional meaning beyond the schema, earning a baseline of 3.

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?

Title 'Bulk-replay all failed events for an app' and description 'Re-send every failed event for the given app slug' clearly state the action (re-send), resource (failed events), and scope (for an app). It distinguishes from siblings like anyhook_replay which likely handles individual events.

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?

Description explicitly says 'Useful after fixing a downstream bug to recover queued work', providing a concrete scenario. However, it does not mention when not to use it or compare with alternatives like anyhook_undelivered.

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

anyhook_undeliveredList undelivered events for an appBInspect

Show events for the given app that have not successfully reached any destination (failed or still retrying).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
api_keyNoAPI key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio.
appSlugYes
Behavior3/5

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

With no annotations provided, the description must carry the full behavioral burden. It explains the core behavior (listing undelivered events) but omits details on authentication, error handling, or what happens on empty results. The inclusion of retrying events adds some nuance, but overall behavioral coverage is moderate.

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, well-structured sentence conveys the tool's purpose without redundancy. Every word contributes meaning, making it highly efficient for an agent to parse quickly.

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

Completeness3/5

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

Given the lack of output schema and moderate parameter count, the description is minimally adequate. It covers the what and the filtering condition, but does not address pagination (limit) or return format, leaving some gaps for complex scenarios.

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

Parameters2/5

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

Only 33% of parameters have schema descriptions (api_key). The tool description does not add meaning to appSlug or limit; it merely restates they exist. For a tool with low schema coverage, the description should clarify these parameters but fails to do so, adding minimal value beyond the schema.

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?

Description clearly states the tool lists events that have not successfully reached any destination, specifying the condition 'failed or still retrying'. It distinguishes from sibling tools like anyhook_events (all events) and anyhook_replay_failed (likely only failed), making the purpose explicit and precise.

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

Usage Guidelines2/5

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. Among siblings like anyhook_events, anyhook_replay, and anyhook_replay_failed, the description does not clarify scenarios for choosing this tool, leaving the agent to infer usage without clear boundaries.

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

anyhook_verifyVerify a webhook signatureBInspect

Verify a webhook signature against a secret. Supports 19 providers including stripe, github, shopify, slack, discord, linear, vercel, paddle, hubspot, and paypal.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesRaw request body.
secretYesSigning secret to verify against.
headersYesRequest headers as a flat object.
providerYesProvider name (e.g. 'stripe', 'github', 'slack', 'generic').
requestUrlNoOriginal request URL (required for Twilio/HubSpot). Defaults to a placeholder.
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions supported providers but does not disclose behavioral traits such as expected outcomes, error behavior, authentication requirements, or rate limits. The description is minimal and leaves significant gaps for an agent.

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?

The description is concise: one sentence stating the purpose and a list of providers. It is front-loaded and avoids verbosity, though it could be slightly more structured (e.g., separating purpose from provider list).

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

Completeness2/5

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

With 5 parameters (1 nested), no output schema, and no annotations, the description is incomplete. It does not explain what the tool returns (e.g., boolean result, error details), how to handle failures, or provide any context about the verification process. This is a significant gap for a verification tool.

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 the schema already documents all parameters (body, secret, headers, provider, requestUrl). The description adds only a list of example providers, adding minimal value beyond the schema. Baseline score of 3 is appropriate.

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?

The description clearly states the verb 'Verify' and the resource 'webhook signature against a secret'. It lists 19 supported providers, distinguishing the tool from sibling tools that handle other webhook operations like creation, listing, and replay.

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?

The description implies usage for verifying webhook signatures from supported providers, but provides no explicit guidance on when to use this tool versus alternatives (e.g., when to use 'generic' provider or other tools). The context is clear but lacks exclusions or alternative recommendations.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.