Skip to main content
Glama

AI SENSE Free Public Tools

Server Details

Ten public workflow tools with durable Agent Wake tasks and a read-only Verifyum product resource.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
aisenseapi/aisense-free-public-rest-apis
GitHub Stars
0

Available Tools

20 tools
acquire_leaseAcquire leaseAInspect

Claim one unit of work so concurrent agents do not perform it twice. The first writer receives an owner token and a monotonic fencing token. A later caller receives held, conflict or a reusable completed result. Contention is a normal result. Use a private namespace, or supply a high-entropy unscoped key. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesWork identity. With a namespace it may be a short URL-safe name. Without one it must be a caller-generated high-entropy secret of at least 32 characters.
namespaceNoOptional 256-bit namespace from create_lease_namespace. Keep it secret.
fingerprintNoOptional stable description or digest that binds this key to the same work.
ttl_secondsNoOwnership period, capped by the absolute 24 hour lifetime.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNo
resultNo
statusYes
owner_tokenNo
ttl_secondsNo
completed_atNo
fencing_tokenNo
lease_expires_atNo
absolute_expires_atNo
retry_after_secondsNo
completed_at_timestampNo
lease_expires_at_timestampNo
absolute_expires_at_timestampNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only indicate the tool is not read-only, not idempotent, and not destructive, so the description carries the burden and meets it well. It discloses first-writer token outcomes, later-caller conflict/completed outcomes, contention as a normal result, and the fact that no authentication is required.

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?

Four short sentences, each carrying distinct useful information: purpose, result variants, contention handling, and key/auth guidance. The main claim is front-loaded with no 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?

The essentials for selecting and invoking the tool are present: what it does, expected outcomes, contention guidance, and key strategy. Output schema covers return shape. It omits explicit handoff to renew/complete/release and TTL-expiry behavior, but these are secondary for a correct initial call.

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% and the parameter descriptions are already rich, including key length constraints, namespace pattern, and TTL bounds. The description reinforces the private-namespace/high-entropy-key strategy but adds little beyond what the schema already documents.

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-resource pair — 'Claim one unit of work' — and explains the goal: preventing concurrent agents from performing the same work twice. The acquired-vs-completed/released lifecycle clearly distinguishes it from siblings like complete_lease and release_lease even without naming 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?

Provides clear invocation context: claim exclusive work in a concurrent environment, expect contention as normal, and choose a private namespace or high-entropy unscoped key. It doesn't explicitly contrast with renew/complete/release siblings, but the usage context is unmistakable.

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

complete_leaseComplete leaseAInspect

Finish owned work and save a reusable JSON result for later callers with the same identity and fingerprint. The result is limited to 32 KB and secret-shaped fields are redacted. Do not store secrets or personal data. The owner token is required. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesWork identity. With a namespace it may be a short URL-safe name. Without one it must be a caller-generated high-entropy secret of at least 32 characters.
resultYesReusable JSON value. Maximum encoded size is 32 KB. Do not include secrets.
namespaceNoOptional 256-bit namespace from create_lease_namespace. Keep it secret.
owner_tokenYesSecret owner token returned by acquire_lease.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNo
resultNo
statusYes
owner_tokenNo
ttl_secondsNo
completed_atNo
fencing_tokenNo
lease_expires_atNo
absolute_expires_atNo
retry_after_secondsNo
completed_at_timestampNo
lease_expires_at_timestampNo
absolute_expires_at_timestampNo

TDQS

A3.7/5.0
Behavior4/5

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

The description discloses important behaviors beyond the false annotations: a 32 KB size limit, redaction of secret-shaped fields, a prohibition on storing secrets/personal data, and the fact that no authentication is required despite an owner token. It does not detail the lease lifecycle consequences (e.g., whether the lease ends), but the provided behaviors are valuable.

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 short and front-loads the core action in the first sentence. It includes a couple of redundant cautions ('Do not store secrets' repeats the schema warning and redaction note), but overall it is efficient and scannable.

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 the schema covers all parameters and an output schema is present, the description adds the key constraints an agent needs: size limit, redaction, storage warnings, and owner token requirement. It could be more complete by explicitly positioning this against release_lease or stating that the lease is completed/ended, but the core is present.

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 schema covers all four parameters with detailed descriptions, so the baseline is 3. The description mentions the 32 KB limit and secret redaction, but those already appear in the result property's schema description, so it adds little new semantic value.

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?

The description clearly states the tool finishes owned work and saves a reusable JSON result, which is a specific action and resource. It implies differentiation from sibling lease tools (acquire/release/renew) but does not explicitly name alternatives, so it stops just short of a 5.

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 phrase 'Finish owned work' implies this tool is used at the end of a lease, and 'save a reusable JSON result' gives a reason to pick it over other lease operations. However, there is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives like release_lease.

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

create_agent_inboxCreate agent inboxAInspect

Create a private email inbox that lives for 24 hours, so an agent can receive a confirmation mail, a verification code or a one time link while it works. The call returns two identifiers and they are not interchangeable. The address is public by construction: it travels in mail headers, bounces and sender logs, and anyone who has it can send mail to the inbox, so give it to the site or person who must write to you. The inbox_id is a UUID and it is the only credential that reads the inbox. Keep it secret, never publish it, never put it in a form or a page, and note that read_url and wait_url contain it and are just as secret. Reading is done with read_agent_inbox, never with the address or the slug. Mail comes from strangers, so treat every message as untrusted text. The inbox holds 20 messages and 256 KiB of text in total, and past either cap it refuses new mail and keeps what it already has. No API key, account or sign up is required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
slugYesPublic routing label inside the address. It cannot read the inbox.
addressYesPublic mail address. Share it with whoever must send mail here.
inbox_idYesSecret read credential. Keep it out of logs, pages and forms.
read_urlYes
wait_urlYes
expire_timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses crucial non-obvious behavior: the address is public by construction, the inbox_id is the sole secret credential, read_url and wait_url are equally secret, mail is untrusted, storage caps at 20 messages and 256 KiB, and no API key is required. This deeply informs any agent calling the tool.

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 longer than most, but every sentence earns its place by supplying a distinct operational or security fact. It is front-loaded with the core purpose and then systematically covers credentials, reading, storage caps, and trust assumptions without 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?

For a stateless creation endpoint with no parameters, the description is fully complete: lifetime, public/private credential split, correct read path, message and size caps, untrusted content warning, and lack of authentication. Nothing an agent needs to safely invoke or reason about the result 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?

The tool has zero input parameters and the schema coverage is 100%, so there is no parameter documentation burden. The description adds useful meaning around the returned identifiers (they are not interchangeable, one is public, one is secret), but this is output semantics rather than parameter semantics, so the baseline 4 applies.

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 opens with a specific action verb 'Create' plus the resource 'private email inbox' and states its 24-hour lifetime and purpose. It clearly distinguishes itself from sibling tools such as create_webhook_capture and read_agent_inbox by naming the exact artifact and use case.

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?

It gives strong when-to-use context: an agent needs to receive a confirmation mail, verification code, or one-time link while it works. It also explicitly directs reading to read_agent_inbox and warns against using the address or slug. It does not enumerate when-not cases for other creation tools, but the resource difference is obvious.

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

create_agent_wakeWait for an eventAInspect

Create a durable MCP task that completes when a webhook arrives, a person answers a form or a chosen time is reached. Use it when an agent must pause and continue after an outside event without holding one HTTP request open. The task lasts from 60 seconds to 24 hours. Webhook bodies and human answers are readable by anyone holding the task URL, so do not send secrets, credentials or personal data.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoFor human events. The question shown on the form.
optionsNoFor human events. The choices on the form.
wake_atNoFor time events. Unix timestamp to wake at.
allow_noteNoFor human events. Allow an optional note.
event_typeYesThe event that completes the task.
descriptionNoFor human events. Supporting detail shown below the title.
delay_secondsNoFor time events. Wake this many seconds from now.
timeout_secondsNoMaximum task lifetime in seconds.

Output Schema

ParametersJSON Schema
NameRequiredDescription
task_idYes
event_typeYes
completed_at_datetimeYes
completed_at_timestampYes

TDQS

A4/5.0
Behavior4/5

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

Annotations only indicate readOnly=false, openWorldHint=true, idempotent=false, and destructive=false. The description adds valuable behavioral context beyond those: bodies and human answers are readable by anyone with the task URL, secrets should not be sent, and task lifetime ranges from 60 seconds to 24 hours. Nothing in the description contradicts the annotations.

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 compact and front-loaded: it defines what the tool does, specifies when to use it, states the duration limit, and includes an important security caveat. Every sentence contributes useful information 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?

The input schema and output schema already cover parameter and return details, so the description can focus on lifecycle, security, and intent, which it does. It adequately covers the usage scenario and important caveats, though it could have named sibling tools like create_human_approval or create_webhook_capture to further guide selection.

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%, and each parameter already has a clear description in the schema. The tool description adds no additional parameter-level meaning beyond grouping the event types, but with full schema coverage the baseline of 3 is appropriate.

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?

The description clearly states the tool's action: creating a durable MCP task that completes on a webhook, form answer, or time event. It is specific about the resource and behavior, and the three event types make it easy to distinguish from the read-focused sibling tools. It does not explicitly name the overlapping create_human_approval or create_webhook_capture tools, so it slightly misses the chance to differentiate itself from 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?

The description provides explicit guidance: "Use it when an agent must pause and continue after an outside event without holding one HTTP request open." This gives a clear usage context. It does not describe when not to use it or refer directly to sibling alternatives, but the stated condition is actionable.

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

create_heartbeatCreate heartbeatAInspect

Create a deadline monitor for a job, device or agent that should keep checking in. Call ping_heartbeat before the expected interval plus grace period ends. One missed deadline calls a public HTTPS webhook or wakes an active Agent Wake webhook task. The monitor lasts at most 24 hours from creation, and pings cannot extend that limit. The returned heartbeat ID and URLs are bearer secrets. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
on_missYesExactly one miss target. Use url for a public HTTPS webhook, or wake_task_id for an active Agent Wake webhook task.
grace_secondsYesExtra time after the expected check-in before the miss action fires.
expect_every_secondsYesExpected time between check-ins, from 60 seconds to 24 hours.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
lateYes
missesYes
statusYes
on_missYes
deliveryNo
ping_urlYes
ping_countYes
status_urlYes
heartbeat_idYes
grace_secondsYes
missed_at_datetimeNo
created_at_datetimeYes
expires_at_datetimeYes
missed_at_timestampNo
created_at_timestampYes
expect_every_secondsYes
expires_at_timestampYes
miss_due_at_datetimeYes
terminal_at_datetimeNo
last_ping_at_datetimeYes
miss_due_at_timestampYes
terminal_at_timestampNo
last_ping_at_timestampYes
next_expected_at_datetimeYes
next_expected_at_timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint=false, etc.), it discloses the 24-hour lifetime cap, that pings cannot extend it, that returned IDs/URLs are bearer secrets, and that no auth is required. These are operationally important behaviors not visible in schema.

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?

Five concise sentences, each adding material information: purpose, usage, miss action, lifetime limit, and security posture. No filler or repetition of schema details.

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?

For a creation tool with output schema, annotations, and a rich parameter schema, the description covers lifecycle, failure behavior, secrets handling, and authentication requirements. Nothing essential is missing for an agent to invoke it correctly.

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 covers 100% of parameters with clear descriptions, so baseline is 3. The description adds useful cross-parameter context by explaining the expected interval plus grace period relationship and the on_miss firing behavior, nudging it above baseline.

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 opens with a specific verb and resource: 'Create a deadline monitor' for a job, device or agent. It differentiates itself from siblings by naming ping_heartbeat as the companion check-in tool and describing the miss behavior.

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?

It clearly states when to create the monitor ('for a job, device or agent that should keep checking in') and instructs to call ping_heartbeat before the deadline. It lacks explicit exclusions or alternative tool routing, but the intended workflow is unambiguous.

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

create_human_approvalRequest human approvalAInspect

Put a decision in front of one to twenty people. Use one respondent for a normal approval, or several when every invited person should answer through a separate bearer form link. Group results contain counts, a tally and anonymous numbered responses. Optional notify_url receives one small signal after the final answer. It does not contain the answers. Forms expire after 24 hours. No API key, account or login is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesRequired. The question shown to the person, in their language. Make it answerable on its own, since they see no conversation history.
optionsNoOptional. The buttons offered, 2 to 10 of them. Defaults to Approve and Reject. Use your own labels when the choice is not a yes or no, for example Ship today, Ship Monday, Cancel.
allow_noteNoOptional. Whether the person may add a free text comment alongside their choice. Defaults to true.
notify_urlNoOptional public HTTP or HTTPS callback after the final answer.
descriptionNoOptional supporting detail below the question: what changes, what it costs, what happens if they decline.
respondentsNoNumber of separate form links. Each link can answer once.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
tallyNo
statusYes
answeredNo
form_urlNo
wait_urlYes
action_idYes
form_urlsNo
responsesNo
result_urlYes
respondentsNo
expire_datetimeYes
expire_timestampYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and destructiveHint=false. The description goes well beyond that by disclosing key behaviors: forms expire after 24 hours, no auth is required, notify_url fires only after the final answer and does not include answers, group results contain counts/tally/anonymous responses, and each form link can answer once. This is exactly the behavioral context an agent needs to set expectations correctly.

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 a single paragraph with no wasted words, and it front-loads the most important fact: who the decision goes to and the one-vs-many distinction. It is compact but dense; it could earn a 5 if it added one explicit 'Use this when...' clause, but it is still efficiently 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 that an output schema exists, a 6-parameter input schema is fully documented, and annotations cover safety profile, the description covers all the behavioral gaps an agent might worry about: auth, expiry, callback content, anonymous group responses, and response limits. Nothing essential is 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 description coverage is 100%, so the schema already documents every parameter. The description adds a bit of context around notify_url (one small signal, no answers) and around respondents (separate form links), but most parameter meaning is already in the schema. Baseline 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 opens with a specific, concrete verb phrase ('Put a decision in front of one to twenty people') and differentiates the tool from the sibling read_human_approval and other create_* tools by explaining exactly what it produces: human approval forms. It clearly names the resource (human approval) and the action (create/request), so an agent can distinguish it from create_webhook_capture or create_heartbeat.

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

Usage Guidelines5/5

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

The description explicitly states when to use one respondent vs several ('Use one respondent for a normal approval, or several when every invited person should answer through a separate bearer form link') and mentions the forms' 24-hour expiry and the no-API-key requirement. It doesn't explicitly name sibling alternatives to avoid, but the usage context is clear enough for an agent to know when this is the right tool.

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

create_lease_namespaceCreate lease namespaceA
Read-only
Inspect

Create a random private namespace before several agents coordinate work using short readable keys. The namespace is a bearer secret and is returned once. Share it only with the cooperating agents. This operation stores no lease and needs no authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
namespaceYes
entropy_bitsYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description reveals important behavioral traits: the namespace is a bearer secret, is returned only once, and must be shared only with cooperating agents. It also clarifies that no authentication is required and that the operation stores no lease, giving the agent useful safety and side-effect context well beyond the structured annotations.

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 compact and front-loaded with the core purpose, then adds secret-handling and side-effect information in short, purposeful sentences. Every sentence adds meaningful guidance without redundancy or filler.

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?

For a zero-parameter tool with an output schema, the description fully covers what the tool does, when to use it, how to handle the returned secret, authentication needs, and side-effect behavior. Nothing important is missing for an agent to invoke it correctly.

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?

The tool has zero parameters and the schema description coverage is 100%, so there are no parameter details needing clarification. The description adds context by noting no authentication is required, which is relevant to why no credential parameters exist. The baseline for zero-parameter tools 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 'Create' and the specific resource, a random private namespace, and explains its purpose: allowing several agents to coordinate work using short readable keys. It also distinguishes itself from lease-related siblings by noting it stores no lease, so an agent can tell it apart from acquire_lease and similar tools.

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 gives a clear context for when to use the tool: before multi-agent coordination that relies on short readable keys. It does not explicitly name alternatives, but the distinction from lease tools is implied by 'stores no lease,' and the guidance to share the namespace only with cooperating agents makes appropriate usage clear.

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

create_webhook_captureCreate webhook captureAInspect

Create a throwaway URL that records the next HTTP request anyone sends to it, headers and body included. Use it to see what a webhook provider, a form or a third party service actually transmits, instead of trusting their documentation, and to prove that an integration fired at all. No API key, no account and no sign up: call it directly. The pending capture is stored before this call returns. Optional notify_url receives one small completion signal with a result URL after the first request arrives. The callback does not contain the captured request. Whatever is sent to update_url becomes publicly readable, so do not use it for secrets, credentials or personal data.

ParametersJSON Schema
NameRequiredDescriptionDefault
notify_urlNoOptional public HTTP or HTTPS callback. It receives one small signal after capture.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
statusYes
read_urlYes
wait_urlYes
capture_idYes
update_urlYes
expire_datetimeYes
expire_timestampYes

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behaviors: the pending capture is stored before the call returns, the optional notify_url receives a completion signal only after the first request, that callback does not contain the captured request, and that anything sent to the generated URL becomes publicly readable. This is unusually transparent about timing, callback payload, and security/privacy implications.

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 dense but not bloated: it front-loads the main purpose, then gives usage rationale, setup simplicity, timing, callback semantics, and a privacy warning. Each sentence contributes, though the final sentence's 'update_url' wording could be tightened to avoid ambiguity with notify_url.

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 a single optional parameter, an output schema, and annotations, the description covers the essential behaviors needed to call the tool correctly: what it creates, what the capture captures, when it is persisted, how the callback behaves, and privacy limitations. Minor gaps like explicit expiration or a clearer name for the generated URL are not critical for correct invocation.

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% for notify_url, and the description adds meaning by explaining that it receives 'one small completion signal with a result URL after the first request arrives' and that it does not contain the captured request. The mention of 'update_url' is slightly confusing since that is not a declared parameter, but the single param is otherwise well explained.

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 opens with a specific verb and resource: 'Create a throwaway URL that records the next HTTP request anyone sends to it, headers and body included.' It also gives concrete use cases (inspecting webhook/form/third-party traffic, proving an integration fired), which clearly distinguishes it from read_webhook_capture and the other sibling tools.

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 states explicit usage context: 'Use it to see what a webhook provider, a form or a third party service actually transmits, instead of trusting their documentation, and to prove that an integration fired at all.' It does not name alternatives or state when not to use it, but the intended scenario is clear enough that an agent can route correctly.

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

generate_uuidGenerate UUIDA
Read-only
Inspect

Generate one random RFC 4122 version 4 UUID. Use it when you need an identifier that will not collide with anything else - an idempotency key, a correlation id across systems, a filename - rather than inventing a string yourself, which is not random and tends to repeat across runs. Takes no parameters and returns a single lowercase hyphenated UUID. No API key, no account and no sign up: call it directly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
uuidYes

TDQS

A4.6/5.0
Behavior4/5

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

The description discloses that it returns a single lowercase hyphenated UUID and is random, and mentions the lack of authentication requirements. While the readOnlyHint annotation already indicates safety, the description adds useful behavioral details without contradicting the annotation.

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 slightly verbose but every sentence adds value—purpose, usage, output, and access details are all covered. It is well-structured with hyphens and dashes, making it readable without being overly long.

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 the tool's simplicity (no parameters, straightforward output), the description covers all necessary aspects: what it does, when to use it, what it returns, and authentication requirements. It is complete and self-contained.

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?

The tool takes no parameters, and the description explicitly states 'Takes no parameters,' which aligns with the empty schema. Since there are no parameters to explain, the description sufficiently covers this aspect.

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 random RFC 4122 version 4 UUID, with explicit use cases like idempotency keys and correlation IDs. It also distinguishes itself from inventing strings, making the purpose unambiguous.

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

Usage Guidelines5/5

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

It provides specific guidance on when to use (when a collision-free identifier is needed) and when not to (when inventing strings). The note about no API key or signup further clarifies its accessibility, though it doesn't explicitly contrast with sibling tools.

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

get_current_timeGet current timeA
Read-onlyIdempotent
Inspect

Get the true current date and time, as an ISO 8601 string and a Unix timestamp, for any timezone. Use this whenever the actual present moment matters - stamping a record, computing an age or a deadline, deciding whether something has expired - because a language model has no clock and will otherwise guess a date from its training data. No API key, no account and no sign up: call it directly. The timezone parameter accepts an IANA name or a fixed UTC offset and defaults to UTC.

ParametersJSON Schema
NameRequiredDescriptionDefault
timezoneNoIANA timezone or UTC offset, such as Europe/Oslo or +02:00.UTC

Output Schema

ParametersJSON Schema
NameRequiredDescription
datetimeYes
timezoneYes
timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the tool as read-only and idempotent; the description adds valuable behavioral context on top: it is a true external-clock call, requires no API key or account, returns both ISO 8601 and Unix timestamp, and accepts IANA/offset timezones. It does not contradict the annotations.

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?

Every sentence earns its place: purpose/output, usage guidance, auth/directness, and parameter semantics are each covered in a compact four-sentence structure with no filler. The key action is front-loaded in the first sentence.

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?

For a simple single-optional-parameter tool with an output schema and safe annotations, the description is complete: it covers what, when, why, auth, and parameter behavior. The output schema handles return-value details, so the description need not repeat them.

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 schema already fully documents the timezone parameter with a default and example formats at 100% coverage. The description paraphrases that same meaning ('IANA name or a fixed UTC offset and defaults to UTC'), adding little 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?

The description opens with a specific verb and resource ('Get the true current date and time') and names the concrete return forms (ISO 8601 string and Unix timestamp). It also scopes the tool to any timezone, clearly distinguishing it from unrelated sibling tools such as generate_uuid.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance ('whenever the actual present moment matters') with concrete examples like stamping records, computing ages/deadlines, and expiration checks. It also explains why an LLM should not guess the time, making the guidance actionable and unambiguous.

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

ping_heartbeatPing heartbeatAInspect

Record a check-in for an armed heartbeat and move its next expected deadline. Use it after successful work or from a liveness loop. A ping does not extend the absolute 24 hour lifetime. The heartbeat ID is a bearer secret. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
heartbeat_idYesThe secret heartbeat ID returned by create_heartbeat.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
lateYes
missesYes
statusYes
on_missYes
deliveryNo
ping_urlYes
ping_countYes
status_urlYes
heartbeat_idYes
grace_secondsYes
missed_at_datetimeNo
created_at_datetimeYes
expires_at_datetimeYes
missed_at_timestampNo
created_at_timestampYes
expect_every_secondsYes
expires_at_timestampYes
miss_due_at_datetimeYes
terminal_at_datetimeNo
last_ping_at_datetimeYes
miss_due_at_timestampYes
terminal_at_timestampNo
last_ping_at_timestampYes
next_expected_at_datetimeYes
next_expected_at_timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations are all false and provide no behavioral protection, so the description carries the full burden. It discloses the side effect (moving the next expected deadline), a non-obvious limitation (does not extend absolute lifetime), and security context (heartbeat ID is a bearer secret; no authentication required). This is rich, accurate, and goes 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.

Conciseness5/5

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

Four short sentences with no filler. The core action is first, usage follows, then critical caveats, then authentication. Every sentence earns its place.

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 a single parameter, an existing output schema, and annotations that are all false, the description covers the essential operational facts: what the tool does, when to use it, the non-renewal caveat, and security handling. No crucial information appears to be missing for an agent to invoke it correctly.

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 description coverage is 100%, so the baseline is 3. The description adds value by emphasizing the heartbeat_id is a 'bearer secret,' which strengthens the schema's 'secret heartbeat ID' by implying it must be protected like a credential. It does not add format details, but the schema already includes pattern.

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 opens with a specific verb and resource: 'Record a check-in for an armed heartbeat and move its next expected deadline.' It clearly distinguishes this from sibling tools like read_heartbeat (read-only) and create_heartbeat (creation), and the effect is concrete.

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?

It gives explicit when-to-use guidance: 'Use it after successful work or from a liveness loop.' It also states a key when-not-to-use caveat: 'A ping does not extend the absolute 24 hour lifetime.' However, it does not name alternative sibling tools for comparison, so it stops short of a perfect 5.

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

read_agent_inboxRead agent inboxA
Read-onlyIdempotent
Inspect

Read the mail that has arrived in an inbox from create_agent_inbox. Each message carries the sender, the subject, the arrival time in UTC, the cleaned text, any standalone 4 to 8 digit codes found in that text and any public http or https links. Attachments and raw headers are not stored. Set wait_seconds from 1 to 25 to wait for the next message, or zero to read immediately. An empty inbox is the ordinary answer before mail arrives and is not a failure. When truncated is true, at least one whole message was refused because the inbox had reached its 20 message cap or its 256 KiB total text cap. A code you are waiting for may then have been turned away rather than delayed. The reply names the public slug and never repeats the secret inbox_id. An unknown inbox_id and a wrong one fail in the same way, so neither can be told from the other, while an expired inbox says that it expired. No API key, account or sign up is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
inbox_idYesThe secret UUID that create_agent_inbox returned as inbox_id. Not the slug and not the address.
wait_secondsNoWait up to this many seconds for new mail. Zero returns immediately.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
slugYes
addressYes
messagesYes
receivedYes
truncatedYesTrue once at least one whole message has been refused, by the 20 message cap or by the 256 KiB total text cap. Messages already stored are kept.
wait_reasonYes
waited_secondsYes
expire_timestampYes
created_at_timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly and idempotent, and the description adds substantial behavioral detail: attachments and raw headers are not stored, 20-message and 256 KiB caps with truncation semantics, the reply uses a public slug and never repeats the secret inbox_id, unknown and wrong inbox_id fail identically while expired inboxes differ, and no API key or account is required. This covers safety, failure modes, and response nuances.

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?

Longer than average, but every sentence carries distinct operational information: content shape, omitted attachments/headers, wait behavior, normal empties, truncation consequences, identifier secrecy, failure indistinguishability, and lack of auth. It is front-loaded with purpose and contains no filler.

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?

For a read tool with readOnly and idempotent annotations, an output schema, and full parameter schema coverage, the description supplies all missing behavioral context an agent needs: caps, truncation, empty semantics, failure modes, and identifier handling. Nothing essential is left unexplained.

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 description coverage is 100%, so the schema already defines both parameters. The description adds value by clarifying wait_seconds behavior, the meaning of an empty result, truncation consequences, and inbox_id secrecy/failure behavior, going beyond the schema without needing to repeat field-level format details.

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 opens with 'Read the mail that has arrived in an inbox from create_agent_inbox', naming a specific verb and resource and referencing the creating sibling. It is clearly the agent-inbox reader, distinct from read_heartbeat, read_human_approval, read_webhook_capture, and read_temporary_data.

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 gives clear operational guidance: wait_seconds 0 returns immediately, 1 to 25 waits, an empty inbox is a normal pre-delivery result, and truncation means a message may have been refused. It doesn't explicitly contrast with sibling read tools, but the tool name and context make the domain unmistakable.

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

read_heartbeatRead heartbeatA
Read-onlyIdempotent
Inspect

Read one heartbeat immediately. Use it to inspect whether the monitor is armed, late, fired or expired and to see its next deadline. This does not wait for a state change. The heartbeat ID is a 256-bit bearer secret. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
heartbeat_idYesThe secret heartbeat ID returned by create_heartbeat.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
lateYes
missesYes
statusYes
on_missYes
deliveryNo
ping_urlYes
ping_countYes
status_urlYes
heartbeat_idYes
grace_secondsYes
missed_at_datetimeNo
created_at_datetimeYes
expires_at_datetimeYes
missed_at_timestampNo
created_at_timestampYes
expect_every_secondsYes
expires_at_timestampYes
miss_due_at_datetimeYes
terminal_at_datetimeNo
last_ping_at_datetimeYes
miss_due_at_timestampYes
terminal_at_timestampNo
last_ping_at_timestampYes
next_expected_at_datetimeYes
next_expected_at_timestampYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly, idempotent, and openWorld hints, the description adds valuable behavioral context: the call is immediate and non-blocking, the heartbeat ID is a 256-bit bearer secret, and no authentication is required. This gives the agent important security and execution expectations not present in annotations.

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?

Four short sentences, each carrying distinct value: the action, the purpose, the non-blocking behavior, and the security characteristics. The description is front-loaded and free of filler.

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?

For a single-parameter read tool with an output schema, the description fully covers what the tool does, when to use it, how it behaves, and what security context applies. Nothing essential for selecting or invoking the tool 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 the parameter is well documented structurally. The description adds meaningful semantic context by calling the ID a 256-bit bearer secret and stating no authentication is required, which helps the agent understand the sensitivity and usage of the single parameter.

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?

The description clearly states the tool reads one heartbeat immediately and enumerates what it can inspect (armed, late, fired, expired, next deadline). It is specific about the resource and action, but it does not explicitly differentiate from the sibling ping_heartbeat, so it stops short of full sibling distinction.

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 a clear use case: inspect a heartbeat's state and next deadline without waiting. It does not mention when to prefer ping_heartbeat or when not to use this tool, so it lacks explicit exclusions and alternative routing, but the context is clear enough for correct use.

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

read_human_approvalRead human approvalA
Read-onlyIdempotent
Inspect

Check whether the person has answered a form from create_human_approval, and read the answer. For a group, partial means at least one person has answered and answered means all form links are complete. The group view contains counts, a tally and anonymous respondent numbers, never form tokens or notification settings. Set wait_seconds from 1 to 25 to wait for a change, or zero to read immediately. No API key, account or sign up is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesThe UUID that create_human_approval returned.
wait_secondsNoWait up to this many seconds for a new answer. Zero returns immediately.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
tallyNo
statusYes
answeredNo
responseYes
action_idYes
responsesNo
respondentsNo
wait_reasonYes
waited_secondsYes
expire_datetimeYes
expire_timestampYes
created_at_datetimeYes
answered_at_datetimeYes
created_at_timestampYes
answered_at_timestampYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds meaningful behavioral detail: group semantics, what the group view contains and never contains, the effect of wait_seconds, and the lack of authentication requirements. No annotation contradiction exists.

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 purpose is front-loaded, and the remaining sentences each carry essential information: group behavior, group-view privacy constraints, wait behavior, and authentication requirements. There is no filler.

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?

For a simple read tool with a known output schema and safety annotations, the description covers everything an agent needs: what action to read, polling semantics, group interpretation, privacy boundaries, and auth requirements. Nothing essential is 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 description coverage is 100%, and both parameters already have descriptive text. The description reinforces action_id as the UUID from create_human_approval and frames wait_seconds as waiting 'for a change,' but it does not add substantial parameter meaning 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?

The description opens with a specific verb and resource: 'Check whether the person has answered a form from create_human_approval, and read the answer.' It clearly ties the tool to its create-sibling and distinguishes it from the other read tools available.

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?

It gives strong contextual guidance: it tells when to use it (after create_human_approval), explains partial vs. answered for groups, and prescribes wait_seconds behavior from 1 to 25 or 0 for immediate reads. It does not explicitly name alternatives or exclusions, but the usage context is clear.

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

read_temporary_dataRead temporary dataA
Read-onlyIdempotent
Inspect

Fetch back a JSON value that store_temporary_data saved earlier, in this session or in another one. Returns the value exactly as it was stored. Fails if the id is unknown or if the 24 hour lifetime has already passed, so treat a failure as expired or never written rather than as a temporary fault worth retrying. No API key, no account and no sign up: call it directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
storage_idYesThe UUID that store_temporary_data returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
storage_idYes
expire_timestampYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true and idempotentHint=true, but the description adds critical behavioral context: the 24-hour lifetime, failure semantics (expired or never written), and that no authentication is needed. This goes beyond the hints, albeit not significantly; score reflects strong transparency but not perfect depth.

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 and front-loaded with the core purpose in the first sentence. Subsequent sentences add essential error handling and authentication context. Every sentence contributes value, though slightly longer than necessary.

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 there is an output schema, the description need not explain return values, and it doesn't. It covers key context: provenance (previous store call), lifetime (24h), and failure mode. It could mention what the value looks like (but output schema does) and any rate limits, but overall adequate for a simple 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?

The schema fully describes storage_id with a description ('The UUID that store_temporary_data returned.'), so parameter semantics are already covered. The description adds no extra parameter-level detail, but since coverage is 100%, a 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 clearly states the tool retrieves a JSON value stored by store_temporary_data, specifying the resource (temporary data) and the action (read/fetch). It distinguishes from siblings like read_webhook_capture and read_human_approval by focusing on temporary data and referencing its companion store tool.

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

Usage Guidelines5/5

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

The description explicitly explains when to use the tool: to retrieve previously stored temporary data, and when not to retry on failure (since failures indicate expired or never-written IDs). This guides the agent to avoid unnecessary retries, which is crucial behavioral guidance, even though it does not name alternatives directly.

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

read_webhook_captureRead webhook captureA
Read-onlyIdempotent
Inspect

Check whether anything has been sent to a capture URL yet, and read it. The status field is pending or captured. Pending is the ordinary answer before the sender fires and is not a failure. Set wait_seconds from 1 to 25 to wait efficiently for the first request. The call returns early when the capture changes. Zero reads the current state immediately. Unknown and expired IDs fail. No API key, no account and no sign up: call it directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
capture_idYesThe UUID that create_webhook_capture returned.
wait_secondsNoWait up to this many seconds for a request. Zero returns immediately.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
statusYes
requestYes
capture_idYes
wait_reasonYes
waited_secondsYes
expire_datetimeYes
expire_timestampYes
created_at_datetimeYes
captured_at_datetimeYes
created_at_timestampYes
captured_at_timestampYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds significant behavioral detail beyond that: status semantics, pending not being a failure, early return when capture changes, zero meaning immediate read, unknown/expired IDs failing, and no-auth direct invocation. There is no contradiction with the annotations.

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?

Four compact, front-loaded sentences cover purpose, status semantics, waiting behavior, edge cases, and authentication. Every sentence earns its place; there is no filler 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?

Given the output schema, full parameter documentation, and read-only/idempotent annotations, the description covers all necessary operational details: status interpretation, waiting strategy, early return, failure cases, and invocation prerequisites. Nothing essential for correct use is missing.

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

Parameters5/5

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

Schema description coverage is 100%, and the description adds further meaning: it explains the effective use of wait_seconds (1-25 for efficient waiting), the early-return behavior, and that zero reads the current state immediately. This goes beyond the schema's basic parameter constraints and enriches agent understanding.

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 opens with a specific verb and resource: 'Check whether anything has been sent to a capture URL yet, and read it.' It clearly distinguishes the tool as a read/status operation and defines the status values (pending/captured), preventing confusion with capture creation or other sibling tools.

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 gives practical usage guidance: pending is a normal state, wait_seconds can be used to wait efficiently with early return on change, and zero returns immediately. It also explains that no API key, account, or signup is needed. It stops short of explicitly naming create_webhook_capture as the complementary tool, but the create/read relationship is clear from the sibling context.

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

release_leaseRelease leaseAInspect

Give up a lease before its TTL ends so another agent can acquire the work. Use it when abandoning work without a reusable result. The secret owner token is required. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesWork identity. With a namespace it may be a short URL-safe name. Without one it must be a caller-generated high-entropy secret of at least 32 characters.
namespaceNoOptional 256-bit namespace from create_lease_namespace. Keep it secret.
owner_tokenYesSecret owner token returned by acquire_lease.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNo
resultNo
statusYes
owner_tokenNo
ttl_secondsNo
completed_atNo
fencing_tokenNo
lease_expires_atNo
absolute_expires_atNo
retry_after_secondsNo
completed_at_timestampNo
lease_expires_at_timestampNo
absolute_expires_at_timestampNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide only negative hints, so the description supplies useful behavioral context: it changes lease state before TTL expiry, requires the secret owner token, and requires no external authentication. It stops short of explaining failure behavior or side effects on the owner token, but adds meaningful context beyond the annotations.

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 short sentences carry exactly the needed information: the operation, the usage condition, and the token/auth context. The main purpose is front-loaded and no sentence is redundant.

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?

For a simple lease-release mutation with full schema coverage and an output schema, the description covers what the tool does, when to use it, and the required credentials. No additional context is necessary for selecting and invoking it 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 description coverage is 100%, so the description does not need to compensate for undocumented parameters. The description only reinforces that owner_token is a required secret, adding no field-level meaning beyond the schema's detailed parameter descriptions.

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 opens with a specific action, 'Give up a lease before its TTL ends', identifies the resource, and states the intended outcome ('so another agent can acquire the work'). This clearly separates release_lease from sibling operations like complete_lease or renew_lease.

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?

It explicitly specifies the triggering condition: 'Use it when abandoning work without a reusable result.' This communicates the primary use case, though it does not name a particular alternative tool (e.g., complete_lease) as an explicit contrast, so the guidance is slightly less direct than a full when/when-not statement.

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

renew_leaseRenew leaseAInspect

Extend a lease that this caller still owns. Use it before the current TTL ends when work is still running. The owner token is required and must stay secret. Renewal cannot move the absolute 24 hour limit. No authentication is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesWork identity. With a namespace it may be a short URL-safe name. Without one it must be a caller-generated high-entropy secret of at least 32 characters.
namespaceNoOptional 256-bit namespace from create_lease_namespace. Keep it secret.
owner_tokenYesSecret owner token returned by acquire_lease.
ttl_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNo
resultNo
statusYes
owner_tokenNo
ttl_secondsNo
completed_atNo
fencing_tokenNo
lease_expires_atNo
absolute_expires_atNo
retry_after_secondsNo
completed_at_timestampNo
lease_expires_at_timestampNo
absolute_expires_at_timestampNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only indicate non-read-only, non-idempotent, and non-destructive behavior. The description adds the ownership condition, owner-token secrecy, the absolute 24-hour cap, and the fact that no authentication is required, all beyond what annotations provide.

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?

Five short sentences, each carrying distinct information, with purpose and usage front-loaded. There is no fluff, though some clauses could be combined.

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?

Covers the timing, ownership condition, owner-token requirement, absolute limit, and auth expectation for a simple lease-renewal operation. Since an output schema exists, return-value details are not required from the description.

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 schema already documents key, namespace, and owner_token well; the description reinforces owner_token secrecy and adds the 24-hour limit that constrains ttl_seconds. However, ttl_seconds itself is not explicitly explained in the description, and key/namespace receive no additional semantic guidance.

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, 'Extend a lease that this caller still owns,' which clearly differentiates it from lifecycle siblings like complete_lease and release_lease. The title 'Renew lease' is expanded meaningfully rather than merely repeated.

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 a clear trigger: 'Use it before the current TTL ends when work is still running.' It does not explicitly name alternatives such as complete_lease or release_lease, so it stops short of full when-not guidance.

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

shorten_urlShorten URLAInspect

Turn a long URL into a short 307.fi link that redirects to it. Use it when a URL has to be typed, read aloud, pasted into a message with a length limit, or put in front of a person. No API key, no account and no sign up: call it directly. The link stops working 24 hours after creation, so do not use it for anything that must survive longer than a day; it is for handoffs inside a task, not for publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
long_urlYesHTTP or HTTPS URL to shorten.

Output Schema

ParametersJSON Schema
NameRequiredDescription
short_urlYes
expire_timestampYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations list all hints as false, indicating no special flags, but the description adds key behavioral details: no authentication required, the 24-hour expiration, and the redirect mechanism. This goes beyond the annotations to clearly set expectations.

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 concise sentences: states the core function, gives usage context, and warns about the 24-hour limit. Every sentence adds value, with no fluff.

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?

For a single-parameter tool with an output schema and annotations, the description covers purpose, usage, and constraints comprehensively. No gaps remain for expected behavior.

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 schema covers 100% of the parameter (long_url) with a clear description and format. The tool description does not add extra parameter-level detail, but the schema already provides sufficient meaning. Baseline of 3 is appropriate given full schema coverage.

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 function: turning a long URL into a short 307.fi link that redirects. It uses a specific verb-resource combination and differentiates itself from siblings by highlighting the temporary nature and direct usage.

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

Usage Guidelines5/5

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

Explicitly states when to use the tool (e.g., when a URL needs to be typed or pasted in constrained contexts) and when not to use it (for anything lasting over 24 hours). It also provides a clear alternative guidance by labeling it for handoffs within tasks, distinguishing it from other tools.

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

store_temporary_dataStore temporary dataAInspect

Put any JSON value somewhere another process can fetch it, and get back a storage_id plus a public read_url. Use it to hand a result to a different agent, a script, a webhook receiver or a later run, when there is no shared filesystem and no database between you. No API key, no account and no sign up: call it directly. Anyone holding the URL can read it, so never store secrets, credentials or personal data. The value disappears 24 hours after it is written. Read it back with read_temporary_data, passing the storage_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesThe JSON value to store. Any type: object, array, string, number, boolean or null. Readable by anyone with the URL, so no secrets.

Output Schema

ParametersJSON Schema
NameRequiredDescription
read_urlYes
storage_idYes
expire_timestampYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations are all false, but the description discloses key behaviors: no authentication required ('No API key, no account and no sign up'), public readability ('Anyone holding the URL can read it'), and data expiration ('disappears 24 hours after it is written'). It doesn't mention rate limits or failure modes, but these are not critical for a simple store operation. The description adds substantial context beyond annotations.

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 a single paragraph with clear, front-loaded purpose and practical guidance. It is appropriately sized for the tool's complexity, covering usage, alternatives, security, and expiration in about 100 words. Slightly redundant with schema ('Readable by anyone with the URL, so no secrets' is repeated), but overall 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?

The tool has one simple parameter, an output schema (implied by storage_id and read_url), and no nested objects. The description covers what the tool does, when to use it, security constraints, and expiration. It does not detail the output structure, but the output schema likely does. Sibling tools are addressed via the read_temporary_data reference. This is nearly complete for its complexity.

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?

The input schema already describes the `data` parameter with 100% coverage, including type and security warning. The description reinforces the parameter's flexibility ('Any type: object, array, string, number, boolean or null') and reiterates the no-secrets warning, which adds a safety emphasis. With high schema coverage, a baseline of 3 is given, but the description's reinforcement of security and type flexibility earns a 4.

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 purpose: 'Put any JSON value somewhere another process can fetch it' and returns a storage_id plus a public read_url. It distinguishes from siblings by explicitly mentioning use for inter-process handoff when no shared filesystem or database exists, and it names the read counterpart (read_temporary_data).

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

Usage Guidelines5/5

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

Provides explicit when-to-use context: 'Use it to hand a result to a different agent, a script, a webhook receiver or a later run, when there is no shared filesystem and no database between you.' It also gives a clear alternative: 'Read it back with read_temporary_data,' and warns against storing secrets, which guides appropriate usage.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedread_agent_inbox2 fields changed
      • addedOutput schema / properties / messages / items / properties / date / description
        Added value: +"Arrival time in UTC, for example 2026-01-31T09:15:00Z. It records when the mail reached the mailbox, and falls back to the Date header written by the sender only when that arrival time is missing."
      • changedOutput schema / properties / truncated / description
        Previous value: -"True when the inbox was full and refused newer mail."New value: +"True once at least one whole message has been refused, by the 20 message cap or by the 256 KiB total text cap. Messages already stored are kept."
  2. 2 tool updates
    • Addedcreate_agent_inbox
    • Addedread_agent_inbox
  3. 12 tool updates
    • Addedacquire_lease
    • Addedcomplete_lease
    • Addedcreate_heartbeat
    • Changedcreate_human_approval12 fields changed
      • addedInput schema / properties / notify_url
        Added value: +{
        +  "description": "Optional public HTTP or HTTPS callback after the final answer.",
        +  "format": "uri",
        +  "maxLength": 2048,
        +  "type": "string"
        +}
      • addedInput schema / properties / respondents
        Added value: +{
        +  "default": 1,
        +  "description": "Number of separate form links. Each link can answer once.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / answered
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / form_urls
        Added value: +{
        +  "items": {
        +    "format": "uri",
        +    "type": "string"
        +  },
        +  "maxItems": 20,
        +  "minItems": 2,
        +  "type": "array"
        +}
      • addedOutput schema / properties / ok
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / respondents
        Added value: +{
        +  "maximum": 20,
        +  "minimum": 2,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / responses
        Added value: +{
        +  "type": "array"
        +}
      • addedOutput schema / properties / status
        Added value: +{
        +  "const": "pending",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tally
        Added value: +{
        +  "type": "object"
        +}
      • addedOutput schema / properties / wait_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "action_id",
        -  "form_url",
        -  "result_url",
        -  "expire_timestamp",
        -  "expire_datetime"
        -]New value: +[
        +  "ok",
        +  "action_id",
        +  "status",
        +  "result_url",
        +  "wait_url",
        +  "expire_timestamp",
        +  "expire_datetime"
        +]
    • Addedcreate_lease_namespace
    • Changedcreate_webhook_capture7 fields changed
      • addedInput schema / properties / notify_url
        Added value: +{
        +  "description": "Optional public HTTP or HTTPS callback. It receives one small signal after capture.",
        +  "format": "uri",
        +  "maxLength": 2048,
        +  "type": "string"
        +}
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / expire_datetime
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / ok
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / status
        Added value: +{
        +  "const": "pending",
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "capture_id",
        -  "update_url",
        -  "read_url",
        -  "expire_timestamp"
        -]New value: +[
        +  "ok",
        +  "capture_id",
        +  "status",
        +  "update_url",
        +  "read_url",
        +  "wait_url",
        +  "expire_timestamp",
        +  "expire_datetime"
        +]
    • Addedping_heartbeat
    • Addedread_heartbeat
    • Changedread_human_approval13 fields changed
      • addedInput schema / properties / wait_seconds
        Added value: +{
        +  "default": 0,
        +  "description": "Wait up to this many seconds for a new answer. Zero returns immediately.",
        +  "maximum": 25,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / answered
        Added value: +{
        +  "maximum": 20,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / created_at_datetime
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / created_at_timestamp
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / ok
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / respondents
        Added value: +{
        +  "maximum": 20,
        +  "minimum": 2,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / responses
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answered_at_datetime": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "answered_at_timestamp": {
        +        "type": "integer"
        +      },
        +      "respondent": {
        +        "maximum": 20,
        +        "minimum": 1,
        +        "type": "integer"
        +      },
        +      "response": {
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "respondent",
        +      "answered_at_timestamp",
        +      "answered_at_datetime",
        +      "response"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "answered"
        -]New value: +[
        +  "pending",
        +  "partial",
        +  "answered"
        +]
      • addedOutput schema / properties / tally
        Added value: +{
        +  "type": "object"
        +}
      • addedOutput schema / properties / wait_reason
        Added value: +{
        +  "enum": [
        +    "terminal",
        +    "changed",
        +    "timeout",
        +    "immediate",
        +    "unavailable",
        +    "stalled"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / waited_seconds
        Added value: +{
        +  "minimum": 0,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "action_id",
        -  "status",
        -  "expire_timestamp",
        -  "expire_datetime",
        -  "answered_at_timestamp",
        -  "answered_at_datetime",
        -  "response"
        -]New value: +[
        +  "ok",
        +  "action_id",
        +  "status",
        +  "created_at_timestamp",
        +  "created_at_datetime",
        +  "expire_timestamp",
        +  "expire_datetime",
        +  "answered_at_timestamp",
        +  "answered_at_datetime",
        +  "response",
        +  "waited_seconds",
        +  "wait_reason"
        +]
    • Changedread_webhook_capture10 fields changed
      • addedInput schema / properties / wait_seconds
        Added value: +{
        +  "default": 0,
        +  "description": "Wait up to this many seconds for a request. Zero returns immediately.",
        +  "maximum": 25,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / created_at_datetime
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / created_at_timestamp
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / expire_datetime
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / expire_timestamp
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / ok
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / wait_reason
        Added value: +{
        +  "enum": [
        +    "terminal",
        +    "changed",
        +    "timeout",
        +    "immediate",
        +    "unavailable",
        +    "stalled"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / waited_seconds
        Added value: +{
        +  "minimum": 0,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "capture_id",
        -  "status",
        -  "captured_at_timestamp",
        -  "captured_at_datetime",
        -  "request"
        -]New value: +[
        +  "ok",
        +  "capture_id",
        +  "status",
        +  "created_at_timestamp",
        +  "created_at_datetime",
        +  "captured_at_timestamp",
        +  "captured_at_datetime",
        +  "expire_timestamp",
        +  "expire_datetime",
        +  "request",
        +  "waited_seconds",
        +  "wait_reason"
        +]
    • Addedrelease_lease
    • Addedrenew_lease
  4. 1 tool update
    • Addedcreate_agent_wake
  5. 3 tool updates
    • Removedverifyum_anchor_commitment
    • Removedverifyum_get_proof
    • Removedverifyum_verify_public_proof
  6. 3 tool updates
    • Addedverifyum_anchor_commitment
    • Addedverifyum_get_proof
    • Addedverifyum_verify_public_proof
  7. 5 tool updates
    • Changedcreate_human_approval4 fields changed
      • addedInput schema / properties / allow_note / description
        Added value: +"Optional. Whether the person may add a free text comment alongside their choice. Defaults to true."
      • addedInput schema / properties / description / description
        Added value: +"Optional supporting detail below the question: what changes, what it costs, what happens if they decline."
      • addedInput schema / properties / options / description
        Added value: +"Optional. The buttons offered, 2 to 10 of them. Defaults to Approve and Reject. Use your own labels when the choice is not a yes or no, for example Ship today, Ship Monday, Cancel."
      • addedInput schema / properties / title / description
        Added value: +"Required. The question shown to the person, in their language. Make it answerable on its own, since they see no conversation history."
    • Changedread_human_approval1 field changed
      • addedInput schema / properties / action_id / description
        Added value: +"The UUID that create_human_approval returned."
    • Changedread_temporary_data1 field changed
      • addedInput schema / properties / storage_id / description
        Added value: +"The UUID that store_temporary_data returned."
    • Changedread_webhook_capture6 fields changed
      • addedInput schema / properties / capture_id / description
        Added value: +"The UUID that create_webhook_capture returned."
      • changedOutput schema / properties / captured_at_datetime / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / captured_at_timestamp / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedOutput schema / properties / request / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • addedOutput schema / properties / status
        Added value: +{
        +  "enum": [
        +    "pending",
        +    "captured"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "capture_id",
        -  "captured_at_timestamp",
        -  "captured_at_datetime",
        -  "request"
        -]New value: +[
        +  "capture_id",
        +  "status",
        +  "captured_at_timestamp",
        +  "captured_at_datetime",
        +  "request"
        +]
    • Changedstore_temporary_data1 field changed
      • changedInput schema / properties / data / description
        Previous value: -"Any JSON value to store."New value: +"The JSON value to store. Any type: object, array, string, number, boolean or null. Readable by anyone with the URL, so no secrets."
  8. 9 tool updates
    • First observedcreate_human_approval
    • First observedcreate_webhook_capture
    • First observedgenerate_uuid
    • First observedget_current_time
    • First observedread_human_approval
    • First observedread_temporary_data
    • First observedread_webhook_capture
    • First observedshorten_url
    • First observedstore_temporary_data

Frequently Asked Questions

Discussions

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    A
    maintenance
    Exactly-once execution for irreversible agent actions: an agent claims the right to run an effect, and a retry after a lost response returns the sealed result instead of charging again. 12 tools over stdio, including a gateway mode where the agent holds a single-use ticket and never the provider key.
    9
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool belongs to a clearly separated resource family: leases, heartbeats, human approvals, webhook captures, temporary data, and small utilities. Even similar-sounding tools like create_agent_wake and create_heartbeat are differentiated by their descriptions: durable task completion versus deadline monitoring.

Naming Consistency5/5

Tool names consistently use a snake_case verb_noun pattern, such as acquire_lease, create_heartbeat, read_webhook_capture, and store_temporary_data. Paired operations read naturally, with only a minor and acceptable variation between get_current_time and the read_* tools.

Tool Count4/5

At 18 tools, this is slightly above the ideal 3-15 range, but the server intentionally bundles several independent public utilities rather than one narrow domain. Each tool has a distinct purpose, so the count feels full but not bloated.

Completeness4/5

Core workflows are well covered: leases support acquire, renew, release, and complete; heartbeats support create, ping, and read; captures, approvals, and temporary data have create/read or store/read pairs. There are no explicit delete, cancel, or update tools, but the 24-hour expiration design makes those gaps manageable.