actionlayer
Server Details
Concierge for AI agents: takes action in the physical world — book, order, register, resolve.
- Status
- Healthy
- Uptime
- 66.4% over 47 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 14 tools
Several tools are clearly separated (cancel vs cancel_job, invoke_action vs start_task), but get_task vs get_action_ticket both poll ticket state and create_job vs start_task both create multi-step work from a natural-language goal. The descriptions help, but an agent could easily pick the wrong entry point without careful reading.
The actionlayer_ prefix and verb-first style are consistent, but naming is not systematic: get_action_ticket vs get_task, cancel vs cancel_job, and reply vs resume_job use different object and verb patterns. The task/ticket/job vocabulary is mixed across the set.
14 tools is well within the well-scoped range for a real-world task execution platform. The count covers ticket lifecycle, job lifecycle, action discovery, credentials, and feedback without feeling padded.
The core lifecycle is covered: create/invoke, poll/get state, cancel, reply, provide credentials, resume, and leave feedback. Minor gaps exist—no list of active tickets/jobs and no way to modify a job plan—but these are workable around rather than dead ends.
Available Tools
14 toolsactionlayer_cancelADestructiveInspect
Cancel a non-terminal ticket (single-action task; tkt_*).
Idempotent on terminal states. For multi-step plans
(job_*), use actionlayer_cancel_job instead.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveness, and the description adds a meaningful behavioral trait: idempotency on terminal states. This tells the agent that cancelling an already-terminal ticket is safe/no-op, which is valuable context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the core action and scope, the idempotency caveat, and the sibling-tool alternative. The most important information is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter cancellation tool with an output schema and destructive annotations, the description covers the scope, edge-case behavior, and correct sibling routing. Nothing essential is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the burden of explaining `ticket_id`. It implicitly defines the parameter as a single-action ticket identifier (`tkt_*`) and indicates that terminal tickets should not be cancelled, adding real semantic meaning beyond the bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Cancel') and resource ('non-terminal ticket') and distinguishes this tool from the sibling for multi-step jobs. It also clarifies the ticket naming convention (`tkt_*`), making the tool's scope immediately identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool (non-terminal single-action tickets) and when not to, routing `job_*` multi-step plans to actionlayer_cancel_job instead. This direct alternative guidance leaves no ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_cancel_jobADestructiveInspect
Cancel an in-flight job (multi-step plan; job_*).
Idempotent on terminal states. For single-action tasks
(tkt_*), use actionlayer_cancel instead.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds idempotency on terminal states, which is valuable behavioral context beyond the annotations. The destructiveHint annotation is consistent with cancellation; no contradiction. Could mention more about partial effects or asynchronous behavior, but the key trait is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the core purpose, idempotency, and alternative are all front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, an output schema, and destructive annotations, the description covers the important routing and idempotency details. It is slightly light on edge cases like queued jobs or side effects, but is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It identifies `job_id` as the job to cancel via the `job_*` namespace, but does not explain how to obtain or format it. Some meaning is added, but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (cancel) and resource (in-flight job, multi-step plan) with the `job_*` namespace, clearly distinguishing it from the single-action `actionlayer_cancel`. The description tells an agent exactly what the tool operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this for multi-step `job_*` plans and to use `actionlayer_cancel` instead for single-action `tkt_*` tasks. This is direct routing guidance between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_create_jobBDestructiveInspect
Create a multi-step job from a natural-language goal. The planner decomposes it into ordered actions with output piping.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| deadline | No | ||
| budget_usd | No | ||
| webhook_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, and destructiveHint=true, so the safety profile is provided. The description adds the planner decomposition behavior and output piping, which is useful context beyond the annotations. However, it doesn't disclose what destructive side effects may occur, whether the job is immediately executed, or if any prerequisites (like credentials) are needed. It adds some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with zero filler. The primary purpose is front-loaded, and the planner behavior is explained in the second sentence. No redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and the planner behavior, and an output schema exists (so return values may be documented). However, the optional parameters are undocumented, and there is no mention of constraints, required credentials, or how the planner handles failures. For a tool with four parameters and a potentially destructive operation, this is not fully complete, but it's adequate for the main action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only implicitly explains the 'goal' parameter ('natural-language goal'), but leaves deadline, budget_usd, and webhook_url completely unexplained. The agent must rely on naming conventions alone, which is insufficient for parameters like budget_usd (units? currency?) and webhook_url (format? events?). Only one of four parameters is semantically addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear and specific: 'Create a multi-step job from a natural-language goal' states the exact verb and resource, and the added detail about the planner decomposing the goal into ordered actions distinguishes it from sibling lifecycle tools like cancel_job or resume_job. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus its siblings (e.g., start_task, invoke_action). The description implies it is for creating a job, but doesn't state exclusions like 'use resume_job instead if you want to continue an existing job.' An agent cannot determine the best tool choice from this description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_get_action_ticketARead-onlyInspect
Poll an action ticket's current state. Stop polling when is_terminal=true.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive, so the description doesn't need to restate that. It adds useful behavioral context by framing the tool as a poll and revealing the terminal-state stop condition, which goes beyond what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler, restatement of schema, or redundancy. The core purpose is front-loaded and the single most important polling behavior is stated immediately afterward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only poll with one parameter and an output schema, the description covers the essential action and stopping condition. It does not explain polling intervals or lifecycle background, but those are not needed for correct invocation, especially since an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not directly document ticket_id. However, with only one parameter whose name is self-explanatory and the description's reference to 'an action ticket', the meaning is reasonably inferable without heavy compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Poll') and resource ('an action ticket's current state'), so an agent can tell this is a status/read tool. It does not explicitly differentiate from actionlayer_get_job or actionlayer_get_task, but the 'action ticket' wording distinguishes it enough to be clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one concrete usage directive: stop polling when is_terminal=true. However, it never states when to prefer this tool over sibling status/polling tools or when not to use it, so the guidance is minimally adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_get_jobARead-onlyInspect
Read a job's current state + per-step items.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description ('Read') is consistent with that safety profile. It adds some context about the scope — current state plus per-step items — but does not disclose pagination, staleness, or how job_id should be obtained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, information-dense sentence with no filler. The action and resource are front-loaded, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one required parameter, an output schema, and readOnly annotations, the description covers the essential semantics. It could add guidance on job_id provenance or relationship to sibling job tools, but these gaps are minor given the output schema fills in response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It partially does by tying job_id to the job resource, but it gives no format, provenance, or guidance on where the job_id comes from. For a single self-explanatory required parameter, this is adequate but not detailed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Read'), a resource ('a job'), and the payload ('current state + per-step items'). This clearly distinguishes it from siblings like actionlayer_get_task and actionlayer_invoke_action, which target different resources or actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. It does not mention alternatives such as actionlayer_get_task or actionlayer_get_action_ticket, so the agent must infer usage from the read verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_get_taskADestructiveInspect
Read the current state of a ticket. Poll until state is one of: completed, failed, cancelled, blocked_on_user.
This call can reconcile pending payments, reserve a house-funded balance, and resume execution. It is not a read-only operation.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly warns that this is not a read-only operation and discloses concrete side effects: reconciling payments, reserving balance, and resuming execution. This adds meaningful behavioral context beyond the annotations, which only indicate non-read-only and destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with three sentences that each earn their place: what it does, when to poll, and the important side-effect warning. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description covers the core purpose, polling behavior, terminal states, and non-read-only side effects. It is slightly vague about when the side effects occur, but enough context is present for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the ticket_id parameter beyond the schema's property name. The description never mentions how to obtain or format the ID, so it fails to compensate for the missing schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Read the current state of a ticket' and adds polling intent with terminal states. It does not explicitly distinguish itself from sibling actionlayer_get_action_ticket, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: poll until the state reaches one of four listed outcomes. It does not name alternatives or exclusions, but the polling guidance is a strong usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_invoke_actionADestructiveInspect
Invoke a single action with typed inputs.
inputs must match the action's input_schema EXACTLY
(additionalProperties is rejected). Task-level orchestration
metadata — idempotency_key, max_budget_usd, webhook_url,
deadline — does NOT belong in inputs; that envelope lives
on actionlayer_start_task. If you need those, call
actionlayer_start_task instead.
API actions run synchronously; everything else returns
outcome='queued' with payload.ticket_id and the caller polls
actionlayer_get_action_ticket until is_terminal=true. While
the ticket is pending there is no sub-status — keep polling.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| executor | No | ||
| action_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description goes further, revealing the synchronous vs. queued behavior, the return of a ticket_id, and the need to poll via actionlayer_get_action_ticket until is_terminal=true. It also clarifies that while pending there is no sub-status, which prevents misleading polling logic. This adds substantial behavioral 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise despite its technical depth. Each sentence delivers essential information: the action invocation, the input constraints, the distinction from start_task, and the polling behavior. It is front-loaded with the core purpose and avoids filler. The structure with paragraphs aids readability without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers all necessary calling details: how to form inputs, when to use the sibling, and how to handle both synchronous and async outcomes. Even though an output schema exists, the description precisely explains the `outcome='queued'` and `ticket_id` fields, removing ambiguity. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It thoroughly explains the `inputs` parameter, including the exact-match requirement and the exclusion of orchestration metadata, which is crucial. However, it does not mention the `executor` parameter at all, leaving it to the schema to convey its meaning and default. This partial coverage earns a 4 rather than a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's core function: 'Invoke a single action with typed inputs.' This is a specific verb and resource, and it immediately differentiates from siblings by specifying that orchestration metadata belongs to actionlayer_start_task, not here. It also references actionlayer_get_action_ticket for polling, establishing a distinct role among the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when NOT to use this tool: if you need idempotency_key, max_budget_usd, webhook_url, or deadline, call actionlayer_start_task instead. It also explains that API actions run synchronously while others return queued, guiding the caller on how to handle each case. This is clear, actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_list_actionsARead-onlyInspect
What ActionLayer can do, as prose. Read this when you're deciding whether ActionLayer fits the user's request, or when you're picking which entry point to call. The response is a single 'description' field — there is no catalog of typed actions to enumerate, by design.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive. The description adds useful behavioral context by stating the response is a single 'description' field and that no action catalog exists, which goes 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences cover purpose, usage timing, and response shape with no filler. The core statement is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only meta-description tool with annotations and an output schema, the description fully covers what the tool does, when to use it, and what it returns. No essential information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully empty with 100% coverage, so the baseline of 4 applies. There are no parameter semantics for the description to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: return a prose description of ActionLayer's capabilities for deciding fit and choosing an entry point. It explicitly disambiguates from the literal 'list_actions' meaning by stating there is no catalog of typed actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit situations to use the tool: when deciding whether ActionLayer fits the request or when picking an entry point. It does not name exclusions or alternatives, but the sibling set makes the distinction between this meta tool and action-executing tools inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_list_skillsCRead-onlyInspect
List skills registered for this user.
| Name | Required | Description | Default |
|---|---|---|---|
| flow | No | ||
| limit | No | ||
| lifecycle | No | ||
| source_format | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe read-only operation (readOnlyHint true, destructiveHint false), so the bar for additional disclosure is lower. The description adds the user-scoped, 'registered' nature of the result set, but it does not mention pagination, defaults, or how the optional filters affect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words and is front-loaded with the action. However, it is under-specified given the four undocumented optional parameters, so conciseness comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations cover some context, and no parameters are required, so a basic call is possible. But the complete absence of parameter semantics, filtering guidance, and sibling differentiation leaves the definition inadequate for confident invocation with non-default options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no meaning for any of the four parameters (flow, limit, lifecycle, source_format). Since the schema itself only gives types and defaults, the agent has no semantic basis for choosing parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('skills') and adds the scope 'registered for this user', making the tool's purpose clear. It is distinguishable from the sibling actionlayer_list_actions by naming 'skills' rather than 'actions', though it does not explicitly contrast itself with that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as actionlayer_list_actions or when filters like flow, lifecycle, or source_format should be supplied. The phrase 'registered for this user' gives some context but no exclusions or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_provide_credentialsADestructiveInspect
Submit credentials for an action ticket blocked with creds_required. Stored ephemerally in Redis (15-min TTL, single-use GETDEL), never written to Postgres or logs. remember_for_session is accepted for compat and ignored — the session-reuse bucket was removed.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | ||
| ticket_id | Yes | ||
| remember_for_session | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds specific behavioral context beyond annotations: ephemeral Redis storage with a 15-min TTL, single-use GETDEL, no persistence to Postgres or logs, and an ignored compatibility parameter. This is more than the bare destructive/read-only hints provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: front-loaded purpose, then storage/security behavior, then parameter compatibility note. Each sentence adds necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what, when, and important lifecycle/security behavior, and an output schema exists to cover return values. It is slightly incomplete on the exact credentials format expected in fields, preventing a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies remember_for_session is accepted for compat and ignored, but does not explain the expected structure of fields or how ticket_id relates to the action ticket beyond the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Submit'), resource ('credentials for an action ticket'), and the triggering condition ('blocked with creds_required'). This clearly distinguishes it from siblings like actionlayer_reply or actionlayer_resume_job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage condition: submit when an action ticket is blocked with creds_required. It does not explicitly name alternatives or when-not-to-use, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_replyADestructiveInspect
Resume a ticket waiting on the user. If the next_action prompt is sensitive (2FA, password), pass sensitive=true and DO NOT echo the value to any other tool.
Info asks (ticket carries info_request): pass field_values
matching requested_fields ∪ question keys exactly.
Payment asks are approved at a secure card-entry link, never
in chat. When info_request.payment_status is "pending_card",
give the user the link in info_request.card_form_url — they
type their card there (it is encrypted in their browser;
never ask for card details in chat). payment_approved=false
declines the charge (task fails); payment_approved=true
re-sends the approval push after it expired
(payment_status="approval_expired").
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | ||
| value | No | ||
| message | No | ||
| sensitive | No | ||
| ticket_id | Yes | ||
| field_values | No | ||
| payment_approved | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond annotations. It explains handling of sensitive data (do not echo), the secure payment flow via card_form_url, and the semantics of payment_approved values. These are operational behaviors not captured in the annotations, which only indicate readOnly=false and destructiveHint=true. No 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening line followed by scoped paragraphs for each use case. It is information-dense without being verbose, and the most critical safety guidance (sensitive handling) appears early. Slightly long for the average tool, but justified by the complexity of the behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, multiple workflows including sensitive data and payments), the description covers the major scenarios and parameter semantics. It does not explicitly mention the 'message' parameter, but the output schema exists (as indicated) which might clarify return values. The description is largely complete for the agent to call the tool correctly, though a few minor gaps remain (e.g., field/value legacy parameters).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry the burden of explaining parameters. It clearly explains sensitive, field_values, and payment_approved, and mentions 'value' in the context of not echoing. However, it does not explicitly define 'field' and 'value' parameters, though their names are relatively self-explanatory. Overall, the description compensates well for the schema gap but leaves a few parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear, specific verb and resource: 'Resume a ticket waiting on the user.' This immediately distinguishes it from siblings like cancel, get_action_ticket, or invoke_action. The purpose is unambiguous and contextually unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use conditions for various scenarios (sensitive prompts, info requests, payment approvals). However, it does not explicitly name alternative tools or state when not to use this tool. The usage context is clear enough that an agent can infer appropriate invocation, but exclusionary guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_resume_jobADestructiveInspect
Resume a job that's in 'blocked' state. Use after the user has resolved the blocker (e.g. replied to a prompt or provided credentials).
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation. The description adds the context that it resumes a blocked job but does not detail what happens (e.g., whether it re-runs from the beginning, whether it requires additional inputs). With annotations covering the mutation risk, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core purpose, and adds the usage context without wasted words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter), the description is nearly complete. It explains the 'blocked' state and the condition to use. However, it doesn't describe what happens after resuming (e.g., whether it returns a new status or result), but an output schema exists, so the return format is covered there. The major missing piece is that it doesn't mention that the job must exist or be in a valid state, but that is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there is only one parameter (job_id) with no description. The description mentions the job being blocked but doesn't explain what job_id refers to or its format. Since the parameter is straightforward (an ID), the 0% coverage is not a major issue, but the description could have added a hint about what type of ID (e.g., from a previous response). Baseline 3 is fair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Resume a job') and the target resource (job in 'blocked' state). It distinguishes from siblings by specifying the 'blocked' state prerequisite, which is more specific than a generic 'resume' tool. However, it doesn't explicitly name a sibling to differentiate from, but the context makes it clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use it: after the user has resolved a blocker. It implicitly says 'do not use this until the blocker is resolved'. It does not explicitly mention alternatives, but the when-to-use guidance is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_start_taskADestructiveInspect
Get a real-world goal done — book, order, register, resolve, cancel, dispute, file. Use this when the user wants something DONE (a table held, an order placed, an account registered, a refund chased), not when they want analysis or text.
The concierge works the ticket end-to-end — talking to the person on the other side, signing up or logging in, paying at checkout within max_budget_usd, following up — and adapts to whatever it finds. Tickets that would normally fail on a hard step just keep progressing. You don't need to design around the unhappy path.
Prefer actionlayer_invoke_action with a typed action id when one fits — it's faster and more deterministic. Reach for actionlayer_start_task when no typed action covers the job, or when the goal mixes multiple steps.
Be SPECIFIC. The goal must include: which site/place, when, how many, exact product URL if buying. Vague goals ("book me dinner", "order something") block on the user and waste planning budget — ask the user for the missing pieces FIRST, then call this with everything nailed down.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Specific natural-language description. Good: "Book a table for 2 at Bar Crenn (SF) on 2026-12-06, 7-8:30pm via Resy" Bad: "find me a flight" (too vague — will block) | |
| webhook_url | No | Optional. Best-effort POST (single attempt, no retries) when the ticket blocks on user input or reaches a terminal state. Thin payload {kind, ticket_id, state, occurred_at} — treat it as a poke and call actionlayer_get_task for the details. Polling works with or without it. | |
| max_budget_usd | No | Required for anything that spends money. The planner soft-caps spend and escalates instead of overspending. | |
| idempotency_key | No | Optional caller-supplied retry key — same key within 24h returns the same ticket. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true and openWorldHint=true, and the description aligns with these while adding context: it discloses that the concierge works end-to-end, adapts, may sign up/log in, pay within max_budget_usd, and that hard-step failures keep progressing. It also warns that vague goals block and waste planning budget. This goes beyond the annotations to describe the autonomous and potentially side-effecting nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but each section earns its place: a concise purpose statement, explicit usage routing, and a focused specificity checklist. The structure is front-loaded with the core purpose and then gives actionable guidance. Slightly verbose but well-organized and not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (autonomous agent with spending, external interactions, and possible irreversible actions), the description covers when to use, how to specify the goal, the async webhook behavior, and budget handling. An output schema exists, so return values are covered. Minor gaps like credential handling are left to sibling tools, but overall it is thorough enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 each parameter. The description adds value by explicitly listing what a specific goal must include (site/place, when, how many, exact URL) and by referencing max_budget_usd as the spending cap. It also clarifies the webhook_url is a best-effort poke and that polling works without it, which aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear list of action verbs ('book, order, register, resolve, cancel, dispute, file') and explicitly states it is for getting real-world goals done, not analysis or text. It differentiates from the sibling actionlayer_invoke_action by explaining the tradeoff, so an agent can distinguish them without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool ('when the user wants something DONE') and when to prefer the sibling actionlayer_invoke_action ('when no typed action covers the job, or when the goal mixes multiple steps'). It also provides concrete pre-call guidance (ask for missing pieces, be specific) and names the exact alternative, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actionlayer_submit_feedbackADestructiveInspect
Leave feedback on a finished task. rating is "good" or
"bad"; comment is an optional free-text note. Only valid once
the ticket is completed or failed. One per task — calling again
overwrites the previous rating/note.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | Yes | ||
| comment | No | ||
| ticket_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, and the description adds meaningful behavioral detail by disclosing the overwrite behavior and the state precondition. This goes beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, with the main purpose first and every sentence adding a meaningful constraint or parameter detail. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameter semantics, valid timing, and destructive overwrite behavior. An output schema exists, so return values do not need to be explained. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by defining rating's allowed values ('good' or 'bad') and comment's optional free-text nature. ticket_id is only implied through the phrase 'ticket is completed or failed', leaving a small gap, but the most error-prone parameters are clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action — leaving feedback on a finished task — and distinguishes it from siblings by tying it to ticket completion/failure and overwrite semantics. No other sibling is about feedback, so there is no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly restricts usage to tickets that are completed or failed and warns that calling again overwrites the previous rating/note. It does not name alternatives, but none of the siblings is a feedback tool, so the timing and idempotency guidance is sufficient.
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.
14 tool updates
- First observed
actionlayer_cancel - First observed
actionlayer_cancel_job - First observed
actionlayer_create_job - First observed
actionlayer_get_action_ticket - First observed
actionlayer_get_job - First observed
actionlayer_get_task - First observed
actionlayer_invoke_action - First observed
actionlayer_list_actions - First observed
actionlayer_list_skills - First observed
actionlayer_provide_credentials - First observed
actionlayer_reply - First observed
actionlayer_resume_job - First observed
actionlayer_start_task - First observed
actionlayer_submit_feedback
Related MCP Connectors
Hire humans for physical-world tasks from your AI agent: missions, claims, proof, KYC status.
Booking gateway for AI agents — discover events, movies & hotels, hand off to partner checkout.
Discover and book businesses via AI agents.
AI agents hire a human to observe, log or film on site. Typed results, feasibility before payment.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to call, text, and email businesses on your behalf, read back transcripts, recordings, and replies.41 npmMIT- AlicenseAqualityAmaintenanceBook a table, an appointment or a place in a class at a real local business. Live availability, instant confirmation, no account and no API key. Eight tools: search, fetch, get_business, check_availability, create_booking, check_booking, cancel_booking and request_listing. Guest emails in eight languages. Hosted at https://g-guest.app/api/mcp814 npmMIT
- FlicenseNot gradedqualityCmaintenanceAgentBureau provides the legal and physical infrastructure for AI agents to operate within the German jurisdiction. We bridge the gap between digital intelligence and real-world action by providing "Embodiment-as-a-Service." Through our API, agents can perform legally binding actions—like sending faxes, mailing physical letters, issuing invoices, forming entire companies (GmbH/UG), ...1-
- AlicenseAqualityCmaintenanceEnables AI agents to dispatch human verifiers for physical world tasks like product authentication, property inspection, and document verification, returning timestamped evidence reports.347 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.