Relin
Server Details
Inspect webhook health, investigate delivery failures, configure sources, and replay events.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 2.8/5 across 50 of 52 tools scored. Lowest: 1.6/5.
Each tool targets a distinct resource and action (e.g., list_* for different entities, create_* for new resources, get_* for single items). Overlaps like ensure_webhook_setup vs create_source/create_destination are intentional higher-level operations, not ambiguities. Tools are clearly differentiated by noun and verb.
All tools follow a consistent verb_noun pattern using snake_case (e.g., create_source, list_messages, rotate_endpoint_secret). Even less common verbs like describe, ensure, and upsert adhere to the same structure. No mixing of camelCase or inconsistent conventions.
With 52 tools, the server far exceeds the recommended 3–15 range and even the 25+ threshold considered too many. The large number feels overwhelming and suggests insufficient consolidation of related operations. This extreme count degrades coherence.
The tool surface covers a broad domain: source/destination/endpoint/event/message management, alerts, API keys, portal, retries, and anomalies. However, a few gaps exist (e.g., no update_source, update_destination, or delete_alert_channel). Overall, core workflows are well-supported.
Available Tools
52 toolsarchive_sourceDelete SourceADestructiveInspect
Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source records.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists concrete effects beyond the destructiveHint annotation: deleting source, disabling routing, cancelling retries, clearing coordinator state, and pruning records. This provides valuable behavioral context. However, it does not mention permission requirements or whether the operation is reversible.
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 sentence that front-loads the primary action. It is compact but somewhat dense, listing multiple side effects. It could be slightly restructured for readability, but overall it is efficient and to the point.
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 simplicity (1 param, no output schema) and destructiveHint annotation, the description covers the main action and side effects. However, it lacks safety warnings (e.g., permanence, cascading effects) and does not reference related sibling tools like 'create_source' or 'delete_endpoint'. Adequate but not thorough.
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 only parameter 'sourceId' has no schema description (0% coverage). The description does not elaborate on its meaning, format, or how to obtain it. It only mentions 'source' generically. The description should explain what sourceId represents, especially since coverage is low.
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 deletes a source and lists four specific actions (disabling routing, cancelling retries, clearing state, pruning records). This distinguishes it from siblings like list_sources or create_source. The verb 'deleting' matches the title 'Delete Source' despite the name 'archive_source'.
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 indicates the tool is 'authenticated' but does not specify when to use it vs alternatives like 'delete_endpoint' or 'cancel_queued_retries'. There is no explicit guidance on prerequisites, warnings, or when not to use. The context of destructive operations is implied but not framed as usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_queued_retriesCancel Queued RetriesCDestructiveInspect
Authenticated tool for cancelling queued retry jobs for a workspace or destination.
| Name | Required | Description | Default |
|---|---|---|---|
| destinationId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. The description adds 'Authenticated tool' which implies auth requirements, but does not clarify parameter behavior (e.g., what happens if destinationId is omitted). The description does not contradict 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 a single concise sentence with no wasted words. It is front-loaded and easy to parse.
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 tool with one optional parameter, the description is adequate but lacks details on parameter effects, return values, or side effects. Given the absence of an output schema and low complexity, it meets minimal completeness but has room for improvement.
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 mention the single parameter 'destinationId' at all. It fails to add any meaning beyond the raw schema.
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 the specific action 'cancelling queued retry jobs' and the scope 'for a workspace or destination'. It is clear and informative, though it does not explicitly distinguish from sibling tools like 'list_retry_jobs' or 'retry_failed_deliveries'.
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 guidance is provided on when to use this tool versus alternatives. Siblings such as 'list_retry_jobs' and 'retry_failed_deliveries' exist, but the description offers no decision context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_portal_hostCheck Portal HostCInspect
Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host.
| Name | Required | Description | Default |
|---|---|---|---|
| portalHostId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'refreshing' which implies a mutation, but annotations have readOnlyHint=false, consistent with a write operation. However, it does not explain what changes occur, whether the operation is reversible, or any authorization requirements. The lack of detail leaves the agent with significant ambiguity about side effects.
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, consisting of a single sentence. It front-loades the key action 'refresh' and the target resources. However, it is slightly under-specified; a bit more detail could be added without losing conciseness.
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 that this is a mutation tool with one required parameter and no output schema, the description is incomplete. It does not explain the return value, preconditions (e.g., portal host must exist), or postconditions. The agent lacks essential context to use the tool effectively.
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 description does not explain the sole parameter 'portalHostId' at all. With schema description coverage at 0%, the tool description must provide meaning for the parameter, but it fails to do so. The agent has no information on what a valid portalHostId is or how to obtain it.
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: refreshing hostname, certificate, and OIDC readiness for a portal host. It specifies the verb 'refreshing' and the resource, making it clear what the tool does. However, it does not differentiate from sibling tools like create_portal_host or list_portal_hosts, which could cause confusion.
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 no guidance on when to use this tool versus alternatives. It simply states it is an 'authenticated tool for refreshing...' without mentioning prerequisites, exclusions, or related tools. An agent would have no context to decide if check_portal_host is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_alert_channelCreate Alert ChannelCInspect
Authenticated tool to create alert channel.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | Yes | ||
| kinds | No | ||
| targetUrl | No | ||
| targetEmail | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states 'Authenticated tool,' which is redundant given annotations and typical tool context. It adds no new behavioral information beyond what annotations already provide (readOnlyHint=false, destructiveHint=false). No side effects, permissions, or lifecycle details are disclosed. Does not contradict annotations, but fails to add value.
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 short sentence, which is concise but at the expense of utility. It omits critical details about parameters, behavior, and usage, making it under-specification rather than effective conciseness. A few more sentences would dramatically improve value without excessive length.
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 (5 parameters, no output schema, no descriptions), the description is far from complete. It does not explain return behavior, error conditions, idempotency, or the relationship between parameters (e.g., which parameters apply to which 'type'). An agent would struggle to use this tool correctly without additional context.
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 full burden to explain parameters. It mentions none of the five parameters (name, type, kinds, targetUrl, targetEmail). While parameter names and types are self-explanatory to a human, an AI agent needs clarification on relationships (e.g., targetUrl for webhook type, kinds for Slack). The description fails entirely to compensate for the schema gap.
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 ('create') and the resource ('alert channel'), making the basic purpose evident. However, it does not differentiate this tool from other 'create_*' siblings beyond the resource name, and lacks elaboration on what an alert channel is used for.
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 no guidance on when to use this tool versus alternatives (e.g., list_alert_channels to see existing channels, or other create tools). No when-not-to-use conditions or prerequisites are mentioned, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_api_keyCreate API KeyCInspect
Authenticated tool to create API key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scopes | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes the tool is 'authenticated' and creates an API key, which aligns with annotations (readOnlyHint=false). However, it adds minimal behavioral context beyond the annotations, such as whether creation is idempotent or if it requires special permissions.
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?
Description is concise at one sentence, but it sacrifices completeness. It is front-loaded with purpose but omits critical information about parameters and usage.
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 simplicity of the tool (2 params, no output schema), the description is insufficient. It lacks details on parameter semantics, return behavior, and prerequisites, leaving gaps for effective use.
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 provides no explanation of parameters 'name' or 'scopes'. The schema only gives basic types, leaving the agent unclear about what values are valid or how scopes behave.
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?
Description clearly states verb 'create' and resource 'API key', making the tool's purpose immediately understandable. However, it does not differentiate from sibling tools like 'revoke_api_key' or 'list_api_keys'.
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 guidance on when to use this tool versus alternatives, such as when to create vs revoke an API key. Agent must infer usage context from tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_appCreate AppCInspect
Authenticated tool to create app.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| routingKeyHeader | No | ||
| routingKeyBodyPath | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool requires authentication, which is not covered by annotations. However, it does not mention side effects, return values, or other behavioral traits beyond this.
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 too brief, bordering on under-specification. It does not earn its single sentence as it adds negligible value.
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 tool with 3 parameters and no output schema, the description is severely incomplete. It fails to explain what 'creating an app' entails, what the parameters do, or what the response looks like.
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 should compensate by explaining parameters, but it provides no information about 'name', 'routingKeyHeader', or 'routingKeyBodyPath'.
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 'Authenticated tool to create app' merely restates the tool's name and title, adding no further specificity or differentiation from sibling tools like create_alert_channel or create_api_key.
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 guidance is provided on when to use this tool versus alternatives. There are no conditions, prerequisites, or scenario-based instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_destinationCreate DestinationCInspect
Authenticated tool for creating an outbound destination and connection with retry policy and optional filters.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| sourceId | Yes | ||
| endpointUrl | Yes | ||
| signingSecret | No | ||
| filterBodyPath | No | ||
| filterBodyValue | No | ||
| filterEntityKey | No | ||
| filterEventTypes | No | ||
| retryMaxAttempts | No | ||
| transformBodyPath | No | ||
| rateLimitPerMinute | No | ||
| retryBackoffSeconds | No | ||
| transformExpression | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only (readOnlyHint=false), not idempotent, and not destructive. The description adds that it is 'authenticated' and includes retry and filter parameters. This is consistent with annotations but adds no significant behavioral surprises beyond what schema parameters suggest.
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 sentence with no redundancy. It is front-loaded with 'Authenticated tool' and clearly states the core function. Could be expanded to list key parameters without losing conciseness, but as-is it is efficient.
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 has 13 parameters, no output schema, and no schema descriptions, the description lacks important context. It does not explain what an 'outbound destination' is, what a 'connection' entails, or what the tool returns. An agent would need to infer from parameter names.
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 mentions 'retry policy and optional filters', grouping some parameters, but there are 13 total parameters. Many (e.g., signingSecret, transformBodyPath) are not explained at all. The description is too vague to help an agent understand each parameter's meaning.
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 verb ('creating') and the resource ('outbound destination and connection'), with specifics like retry policy and optional filters. However, it does not differentiate from sibling tools like 'create_endpoint' or 'create_source', which might overlap in purpose.
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 usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention prerequisites, restrictions, or when not to use it. The only context is 'authenticated', which is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_endpointCreate EndpointCInspect
Authenticated tool to create endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | No | ||
| appId | Yes | ||
| recipient | Yes | ||
| eventTypes | No | ||
| recipientName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only and not destructive, but the description only adds 'Authenticated tool', which is standard and adds no behavioral insight beyond what annotations already provide. No side effects, idempotency, or error conditions are 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?
The description is a single sentence with no wasted words, but it is overly terse. It does not structure information (e.g., front-loading key constraints or usage notes). Conciseness is achieved at the expense of necessary detail.
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 complexity of 6 parameters (3 required) and no output schema, the description is completely inadequate. It lacks parameter semantics, usage context, and behavioral details. The agent cannot confidently use this tool based on the description alone.
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 input schema has 6 parameters with 0% description coverage, and the tool description provides no explanation for any parameters. The agent has no semantic information about what 'appId', 'recipient', 'url', etc. mean or how to format them. This is a critical gap.
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 'create endpoint' which is a verb+resource pair, but it lacks specificity on what an endpoint represents in this context. The sibling tools include various create actions like create_alert_channel and create_api_key, but no differentiation is provided. The purpose is clear at a surface level but vague for an agent needing to distinguish between similar 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?
No guidance is given on when to use this tool versus alternatives. Prerequisites like needing an app (implied by required appId) are not mentioned. There are no exclusions or when-not-to-use instructions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_portal_hostCreate Portal HostCInspect
Authenticated tool for creating a stable portal host with OIDC sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| hostname | Yes | ||
| nameClaim | No | ||
| emailClaim | No | ||
| oidcIssuer | Yes | ||
| oidcScopes | No | ||
| oidcClientId | Yes | ||
| recipientClaim | No | ||
| oidcClientSecret | Yes | ||
| allowedEmailDomain | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no positive behavioral indicators (all false). Description only mentions authentication, but does not disclose mutation, side effects, or reversibility beyond the implied creation.
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 sentence, concise but missing essential details. It is front-loaded with the key action and authentication constraint.
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 high complexity (10 parameters, 5 required) and no output schema, the description is too incomplete to guide an agent on correct usage. It lacks explanation of foundational concepts like 'portal host' and return expectations.
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 fails to explain any of the 10 parameters, their semantic meaning, or usage constraints.
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 creates a portal host with OIDC sign-in, using a specific verb and resource. It distinguishes from sibling tools like check_portal_host and list_portal_hosts.
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 guidance on when to use this tool versus alternatives, no prerequisites or context for usage, and no exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_portal_sessionCreate Portal SessionCInspect
Authenticated tool to create portal session.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| theme | No | ||
| recipient | Yes | ||
| returnUrl | No | ||
| capabilities | No | ||
| recipientName | No | ||
| expiresInSeconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the tool is 'authenticated', which is a behavioral trait not in annotations. However, it fails to mention side effects, idempotency, or what happens on duplicate calls. Annotations provide no safety hints, so more transparency is needed.
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 sentence, so it is concise. However, it earns its place only minimally by noting authentication. It could be restructured to include more useful information without adding length.
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 complexity (7 parameters, nested objects, no output schema), the description is severely lacking. It does not explain the tool's purpose in context, parameter roles, or return value, leaving the agent to guess.
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 description provides no information about any of the 7 parameters. With 0% schema description coverage, the description does nothing to help the agent understand what each parameter means, relying solely on self-explanatory parameter names.
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 the verb 'create' and the resource 'portal session', which gives a basic understanding. However, it does not explain what a portal session is or how it differs from sibling tools like 'create_portal_host', making it vague.
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 no guidance on when to use this tool versus alternatives. Sibling tools include many creation functions, but no criteria for choosing this one are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sourceCreate SourceCInspect
Authenticated tool to create source.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| vendor | No | ||
| signingSecret | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only adds 'authenticated,' which is minimally informative. Annotations already indicate it's not read-only, but no additional behavioral traits like side effects, permission requirements, or rate limits are 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?
The description is very short (one sentence), which is concise but lacks substance. It is front-loaded but does not provide enough information to be valuable.
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 3 parameters, no output schema, and no param descriptions, the description is incomplete. It does not explain what a source is or what happens upon creation.
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%, and the description adds no meaning to the parameters. The description does not explain what 'name', 'vendor', or 'signingSecret' represent or how they affect the source creation.
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 'create source,' which is a specific verb+resource. However, it doesn't differentiate from other 'create' tools among siblings, but the name itself is distinct enough.
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 guidance on when to use this tool versus alternatives. The description provides no context for when it is appropriate or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_endpointDelete EndpointCDestructiveInspect
Authenticated tool to disable endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| endpointId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true, so the description adds only that it requires authentication, which is expected. No disclosure of irreversibility, cascading effects, or confirmation 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 sentence, which is concise, but it sacrifices necessary detail. It is front-loaded but overly terse.
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 low complexity (2 required params, no output schema), the description should still mention what happens after deletion or if it returns anything. Essential context 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% in description. The two required parameters (appId, endpointId) are not explained at all. No hint about how to obtain these IDs.
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 'disable' while the tool name is 'delete', creating ambiguity about the action. It does specify a verb ('disable') and resource ('endpoint'), but the mismatch between name and description weakens clarity.
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 guidance on when to use this tool versus alternatives like update_endpoint or revoke. No conditions, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_event_typeDelete Event TypeCDestructiveInspect
Authenticated tool to archive event type.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| eventType | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Only mentions 'Authenticated tool', adding minimal beyond annotations. Does not describe effect of archiving (e.g., reversible vs permanent), what happens to associated data, or idempotency.
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?
Very concise but lacks necessary detail. One sentence is acceptable, but it should include more substance.
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?
Missing crucial details for a destructive tool: what 'archive' means, parameter explanations, output expectations. Not complete enough for safe use.
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% and description provides no information about the two required parameters (appId, eventType). Agent must infer meaning from names alone.
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?
Description states 'archive event type' which is ambiguous compared to tool name 'delete_event_type'. Does not clearly distinguish from sibling tools like delete_endpoint or archive_source.
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 guidance on when to use this tool, prerequisites, or alternatives. Lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_relinDescribe RelinARead-onlyIdempotentInspect
Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe read behavior. The description adds context about the topics covered (webhook intake, delivery, etc.) but does not reveal additional behavioral traits beyond what annotations provide. No contradiction.
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?
Single sentence that is front-loaded with the primary action ('Explain what Relin does'), no wasted words. Highly efficient.
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 no parameters, no output schema, and annotations covering safety, the description is complete for understanding the tool's purpose. It tells the agent exactly what the tool does and for what topics.
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 0 parameters and schema coverage is 100%. Per guidelines, baseline is 4. Description does not need to add parameter details.
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: 'Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review.' It specifies the resource (Relin) and the action (explain), and distinguishes it from sibling tools which are mostly action-oriented (e.g., create, list, update).
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 implies usage scenarios ('for webhook intake, delivery, replay, and anomaly review') but does not explicitly state when to use this tool versus alternatives or provide exclusions. As a descriptive tool, context is clear but not formally structured.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ensure_webhook_setupEnsure Webhook SetupCInspect
Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created.
| Name | Required | Description | Default |
|---|---|---|---|
| vendor | Yes | ||
| sourceId | No | ||
| sourceName | No | ||
| signingSecret | No | ||
| destinationUrl | Yes | ||
| filterBodyPath | No | ||
| destinationName | No | ||
| filterBodyValue | No | ||
| filterEntityKey | No | ||
| filterEventTypes | No | ||
| retryMaxAttempts | No | ||
| transformBodyPath | No | ||
| rateLimitPerMinute | No | ||
| retryBackoffSeconds | No | ||
| transformExpression | No | ||
| destinationSigningSecret | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the tool is idempotent, but the annotations set idempotentHint to false, creating a contradiction. Additionally, the description does not disclose other important behavioral traits such as authorization requirements, mutation details (what gets created/updated), or rate limits. The annotations provide no destructive or read-only hints, so the description should compensate but fails to do so meaningfully.
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 sentence that packs essential information (authentication, idempotency, combined setup, return value) efficiently. It is front-loaded and contains no extraneous text. However, it could be slightly more structured to improve readability.
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 complexity of the tool (16 parameters, no output schema, moderate annotations), the description is incomplete. It does not explain what happens when the source already exists, how the various parameters affect behavior, or what errors might occur. The description leaves critical gaps that an AI agent needs to use 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?
The schema has 16 parameters with 0% coverage in the description. The description does not mention any parameter, not even the two required ones (vendor, destinationUrl). For a tool with many parameters, the description must add meaning beyond the schema, but it adds none. This is a significant deficiency.
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: idempotently setting up a vendor source and destination and returning the ingest URL when a new source is created. It specifies the verb 'set up', the resources 'vendor source and destination', and the outcome. This distinguishes it from sibling tools like create_source or create_destination which handle only one resource.
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 no guidance on when to use this tool versus alternatives. While it mentions it's for setting up a new source, it doesn't clarify whether it should be used instead of calling create_source and create_destination separately, or what scenarios favor this combined approach. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_appGet AppCRead-onlyIdempotentInspect
Authenticated tool to get app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that the tool is authenticated, which is not in annotations. However, it doesn't disclose error behavior or return format, leaving gaps.
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 extremely short (4 words), but it is under-specified rather than concise. It lacks critical information and each word does not earn its place; 'Authenticated tool' is redundant given the context.
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 get tool with annotations, the description should at least indicate what is returned (e.g., app details) and any error conditions. It fails to provide this, making it incomplete for effective agent use.
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%, meaning the parameter 'appId' has no description in the schema. The tool description does not explain the parameter or its expected format, leaving the agent with no additional meaning beyond the parameter 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?
The description states 'get app' which is a verb+resource, but it doesn't specify what 'app' refers to or distinguish it from sibling tools like 'get_endpoint' or 'get_message'. The addition of 'Authenticated tool' provides some context but is minimal.
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 guidance is given on when to use this tool vs alternatives (e.g., list_apps). No exclusions or prerequisites mentioned, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_endpointGet EndpointCRead-onlyIdempotentInspect
Authenticated tool to get endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| endpointId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's a safe read. The description adds no further behavioral context, such as what happens if the endpoint does not exist, but does not contradict 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 very short (5 words), which is concise but at the expense of completeness. It front-loads the purpose but omits necessary 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?
Given no output schema, no parameter descriptions, and only a terse description, the tool is under-documented. Even for a simple retrieval, the agent lacks information about return format or error conditions.
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 input schema has two parameters (appId and endpointId) with no descriptions. The description does not explain what these parameters represent or how they should be used, so it adds no meaning beyond the schema.
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 'get endpoint', which clearly indicates a retrieval operation. Among siblings like create_endpoint, delete_endpoint, etc., the verb 'get' distinguishes it. However, it does not specify what an endpoint is in this context, lacking some specificity.
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 guidance on when to use this tool versus alternatives, such as list_endpoints or other retrieval tools. No prerequisites or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_detailGet Event DetailARead-onlyIdempotentInspect
Authenticated tool for reading one event with attempts, deliveries, and optional raw payload.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| includePayload | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that the tool requires authentication and includes related data (attempts, deliveries) and optional raw payload. There is no contradiction. It does not mention error handling or rate limits but provides useful behavioral 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (12 words) that front-loads the purpose. It is efficient but could be more structured with additional 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?
No output schema exists, and the description does not detail the return format or pagination behavior. It indicates what data is included but not its structure. For a simple retrieval tool with 2 params, it is partially complete but lacks explicit output details.
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 hints at 'includePayload' via 'optional raw payload' but does not explain 'eventId'. This adds partial value but is 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?
The description clearly states it is an authenticated tool for reading a single event, including attempts, deliveries, and optional raw payload. This distinguishes it from sibling tools like 'list_recent_events' (listing) and 'get_message' (different resource).
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 indicates authentication is required but does not provide explicit guidance on when to use this tool versus alternatives (e.g., 'list_recent_events' or 'get_message'). No exclusion or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_messageGet MessageCRead-onlyIdempotentInspect
Authenticated tool to get message.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| messageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Authenticated tool', which is a behavioral trait not covered by annotations. Annotations already indicate readOnlyHint=true and destructiveHint=false. The description does not reveal other behaviors like error handling or return format.
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 extremely short (4 words), but this brevity results in under-specification rather than effective conciseness. It does not front-load key 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?
Given the lack of output schema and siblings like 'list_messages', the description should clarify that this retrieves a single message. It does not explain what the return value is or how to interpret the result.
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% and the description does not describe any parameters. The two required parameters 'appId' and 'messageId' remain unexplained. This is a critical gap.
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 'get message', which is a clear verb+resource pair. However, it does not distinguish from sibling 'list_messages' or specify that it retrieves a single message by ID. It meets the minimum viable but lacks specificity.
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 guidance on when to use this tool versus alternatives like 'list_messages'. No conditions, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metrics_summaryGet Metrics SummaryCRead-onlyIdempotentInspect
Authenticated tool for delivery, failure, duplicate, and open-issue rollups.
| Name | Required | Description | Default |
|---|---|---|---|
| windowHours | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds limited value by specifying rollup types. However, it does not disclose default behavior for the windowHours parameter or the output format.
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 sentence with no redundant words. It is concise but sacrifices necessary detail.
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?
Without an output schema, the description should explain what the tool returns. It does not mention return values, windowHours semantics, or when to use this tool over siblings, making it incomplete for effective agent decision-making.
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 schema has 0% description coverage for the only parameter (windowHours), and the description does not mention it at all. The agent receives no explanation of the parameter's purpose or how it affects the rollups.
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 it is for 'delivery, failure, duplicate, and open-issue rollups,' which indicates it provides aggregate metrics. The verb 'get' in the name clarifies the action, but the description could be more explicit about returning summary statistics compared to list 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?
No guidance on when to use this tool versus sibling list tools (e.g., list_open_issues, list_delivery_attempts). The description does not mention that this is for rollups rather than detailed records, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portal_settingsGet Portal SettingsCRead-onlyIdempotentInspect
Authenticated tool for reading portal branding defaults and host setup for an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds 'Authenticated' and confirms 'reading', which is consistent but adds minimal extra 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 a single sentence of 12 words, front-loaded with the key action and subject. Every word earns its place; no 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 tool is simple (1 param, no output schema), but the description does not clarify the return format or how it differs from sibling tools like 'check_portal_host' or 'list_portal_hosts'. It hints at outputs ('branding defaults and host setup') but lacks detail, leaving some gaps for an agent.
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 schema has one parameter 'appId' with no description, and the description does not explain what 'appId' refers to or how to obtain it. With 0% schema description coverage, the description should compensate, but it fails to add any meaning beyond the parameter 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?
The description clearly states it is a read operation for 'portal branding defaults and host setup for an app.' It uses a specific verb 'reading' and resource. It distinguishes from siblings like 'save_portal_settings' (write) and 'list_portal_hosts' (list). However, 'host setup' is somewhat vague, lacking specificity.
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 mentions 'Authenticated tool' but provides no guidance on when to use this tool versus alternatives such as 'check_portal_host' or 'list_portal_hosts'. No explicit context for when-not-to-use or prerequisites beyond authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_setup_guideGet Setup GuideBRead-onlyIdempotentInspect
Return concise setup guidance for connecting a webhook source and destination.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false, so the description adds marginal value by specifying 'concise' guidance, but does not elaborate on format or side effects.
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?
Single sentence, front-loaded, no superfluous words; perfectly 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?
No output schema and no description of the return format or content structure; for a guidance tool, agents need to know what to expect.
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 fails to mention the 'provider' parameter or its optionality, missing an opportunity to clarify meaning beyond the enum list.
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 returns concise setup guidance for connecting a webhook source and destination, a specific verb+resource that distinguishes it from sibling CRUD 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?
No guidance on when to use this tool versus alternatives like ensure_webhook_setup or list_sources; the description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_slack_connect_urlGet Slack Connect URLARead-onlyIdempotentInspect
Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that it returns the URL and redirect URL, providing context beyond annotations. No contradictions.
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?
Single sentence, 16 words, front-loaded with 'Authenticated tool for returning'. Efficient and no waste.
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?
No output schema exists, so description should explain the return format. It mentions the return values but does not specify structure (e.g., JSON object or string). Lacks detail on potential errors or configuration requirements.
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?
No parameters exist, so baseline is 4. Description does not need to add parameter info.
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 returns the dashboard Slack OAuth connect URL and expected redirect URL, with a specific verb and resource. It distinguishes from sibling tools as none are related to Slack URLs.
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 guidance on when to use or when not to use this tool. Implied usage for retrieving Slack connect URL, but no prerequisites or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alert_channelsList Alert ChannelsBRead-onlyIdempotentInspect
Authenticated tool to list alert channels.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive. Description adds that authentication is required. However, no details on pagination, scoping, or what the response contains.
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?
Single sentence, very concise. Could be slightly expanded with return characteristics, but no wasted words.
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?
Lacks description of return value or behavior (e.g., lists all channels for authenticated user). Without output schema, the agent needs more context about what the list contains.
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?
No parameters exist, so schema coverage is 100%. The description adds no additional parameter info, which is acceptable as there are none.
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 'list alert channels', matching the tool name. It adds 'Authenticated' implying auth requirement, but does not differentiate from sibling list tools which list different resources.
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 guidance provided on when to use this tool versus the many other list_* siblings. The description lacks context about selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_api_keysList API KeysBRead-onlyIdempotentInspect
Authenticated tool to list API keys.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds 'Authenticated', but does not disclose other traits like whether the list is paginated or sorted.
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 concise sentence with no wasted words, but could be slightly expanded to add more value.
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?
No output schema is provided, and the description does not explain what the list contains (e.g., details of API keys) or any pagination, leaving the agent to guess the return format.
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?
There are no parameters, so the description does not need to add parameter details. Baseline is 4 for zero-parameter tools.
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 lists API keys, but does not differentiate from other list tools like list_apps or list_endpoints.
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 usage guidance is provided; it does not mention when to use this tool over alternatives or any prerequisites beyond authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appsList AppsARead-onlyIdempotentInspect
Authenticated tool to list apps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by stating the tool is authenticated, which is a behavioral trait not captured in annotations. However, it lacks details about side effects, return structure, or any runtime behavior, though annotations already cover readOnly and idempotent 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 a single, front-loaded sentence that contains no superfluous information. Every word contributes meaning.
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 zero-parameter tool with rich annotations, the description is adequate but could hint at what 'apps' refers to or the typical output format, especially given the many sibling list tools. It leaves some context unaddressed.
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?
There are no parameters and schema coverage is 100%, so the description need not add parameter-level meaning. A baseline score of 4 is appropriate.
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 verb 'list' and resource 'apps', making the purpose unambiguous. It also adds 'Authenticated tool', which distinguishes it as requiring authentication, and the name is sufficiently specific among the many 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 provides no guidance on when to use this tool vs alternatives, such as other list_* tools. It does not mention exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_delivery_attemptsList Delivery AttemptsCRead-onlyIdempotentInspect
Authenticated tool for listing fanout delivery attempts with filters.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| status | No | ||
| eventId | No | ||
| destinationId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's addition of 'authenticated' and 'with filters' adds minimal behavioral context. It does not contradict annotations, but fails to disclose details like pagination or result limits beyond what annotations imply.
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 concise sentence, but it is overly sparse. It lacks structure and does not front-load key details. While short, it sacrifices substance for brevity, resulting in a minimum viable but not well-crafted description.
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 5 parameters, no output schema, and no parameter descriptions, the description is far from complete. It does not explain return values, pagination, or how filters interact. The context is insufficient for an agent to effectively use the tool.
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?
There is no description coverage for the 5 schema parameters. The phrase 'with filters' gives a vague indication but does not explain any parameter's purpose, format, or allowed values. Since schema coverage is 0%, the description should compensate but does not.
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 lists fanout delivery attempts with filters. It specifies the verb 'list' and resource 'delivery attempts', distinguishing it from general listing tools. However, it does not explicitly differentiate from sibling tools like 'list_message_attempts', missing the chance to clarify its unique scope.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or specific contexts. The description only notes it is 'authenticated,' which is insufficient for guiding tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_destinationsList DestinationsCRead-onlyIdempotentInspect
Authenticated tool for listing outbound destinations and retry policy.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint, covering safety profile. The description adds 'Authenticated' but no additional behavioral traits (e.g., pagination, default scope, or impact of the sourceId parameter). With strong annotations, a 3 is appropriate as minimal extra value.
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 very short (one sentence) and front-loaded with the key verb. However, it sacrifices necessary detail, making it under-informative rather than efficiently 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?
Given low complexity (one optional parameter, no output schema) and rich annotations, the description still misses key context: what constitutes a 'destination,' what the retry policy covers, and whether the tool lists all destinations or filters by sourceId. This leaves the agent with incomplete guidance.
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 fails to mention the sole parameter 'sourceId' or its role. No meaning is added beyond the schema, leaving the parameter's purpose entirely opaque.
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 it lists 'outbound destinations and retry policy,' which is a specific verb+resource. It is distinguishable from sibling list tools like list_endpoints or list_sources due to the focus on destinations, but it does not explicitly differentiate itself from create_destination or list_retry_jobs.
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 no guidance on when to use this tool versus alternatives such as list_retry_jobs or other list tools. No usage context, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_endpointsList EndpointsBRead-onlyIdempotentInspect
Authenticated tool to list recipient endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| recipient | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds the context of authentication ('Authenticated tool'), which is not in annotations. This is a useful behavioral disclosure beyond the structured metadata.
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, short sentence with no wasted words. It is front-loaded and efficient.
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 simplicity of the tool (2 parameters, no output schema, clear annotations), the description is still incomplete. It lacks parameter descriptions, usage context, and scope details, which are important for correct invocation among many siblings.
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%, meaning no parameter info in the description. The two parameters ('appId' and 'recipient') are only defined by name and type, leaving ambiguity about 'recipient' (e.g., is it a filter or a value to include?). The description offers no clarification.
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 verb 'list' and resource 'recipient endpoints'. It distinguishes from 'get_endpoint' and 'list_recipients' by focusing on endpoints. However, it does not explicitly mention that listing is scoped to an app via the required 'appId' parameter.
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 guidance on when to use this tool versus alternatives. With 58 sibling tools including 'get_endpoint', 'list_recipients', etc., the agent receives no hints about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_event_typesList Event TypesCRead-onlyIdempotentInspect
Authenticated tool to list event types.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds that it is authenticated, which is useful but not critical. No contradictions.
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, short sentence, which is efficient. However, it could include more detail without being verbose.
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 low complexity (1 parameter, no output schema, clear annotations), the description is minimally adequate. But it misses the opportunity to explain the parameter and provide context for the tool's role.
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 input schema has one required parameter (appId) with no description, and the description provides no information about it. Schema description coverage is 0%, so the description fails to clarify what appId is or how to use it.
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 ('list') and the resource ('event types'), making the purpose unambiguous. However, it does not differentiate from sibling tools like list_recent_events or list_messages, which also list entities.
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 offers no guidance on when to use this tool vs alternatives. It only notes the tool is authenticated, but provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_message_attemptsList Message AttemptsCRead-onlyIdempotentInspect
Authenticated tool to list message attempts.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| limit | No | ||
| messageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds that the tool is 'Authenticated', which is useful beyond annotations. No further behavioral details are given.
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?
Extremely short and front-loaded, but lacks sufficient detail. Some additional context would be valuable without harming conciseness.
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 three parameters, no output schema, and similar sibling tools, the description is too sparse. It does not explain the purpose of parameters like 'limit', or the relationship to messages.
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 any parameters. The agent must rely solely on the schema for parameter meaning, which is insufficient.
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 lists message attempts, which is a specific verb-resource combination. However, it does not differentiate from siblings like 'list_delivery_attempts', so it lacks sibling distinction.
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 guidance on when to use this tool versus alternatives (e.g., list_delivery_attempts). The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_messagesList MessagesCRead-onlyIdempotentInspect
Authenticated tool to list messages.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| appId | Yes | ||
| limit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds that the tool is 'authenticated', which is extra context but still minimal. No mention of pagination, sorting, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is concise but could be slightly more structured with additional useful context.
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 three parameters with no schema descriptions, no output schema, and many sibling tools, the description is far too minimal. An agent lacks information about return values, required scopes, and parameter behavior.
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%, meaning the input schema provides no descriptions for any of the three parameters. The description does not compensate by explaining what `q`, `appId`, or `limit` mean or how they affect results.
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 the tool lists messages, which is a clear verb+resource. However, among many sibling list tools (e.g., list_message_attempts, list_apps), it does not differentiate what kind of messages are listed.
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 guidance is provided on when to use this tool versus alternatives like list_message_attempts or list_recipients. No context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_open_issuesList Open IssuesARead-onlyIdempotentInspect
Authenticated tool for listing open anomaly and delivery issues. Use q for smart lookup by anom_, dst_, evt_, or src_ IDs, or plain text like a status code or error message.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Smart query. Recognizes anom_, dst_, evt_, and src_ IDs as exact filters; otherwise matches issue text, kind, status, destination name, IDs, and response status. | |
| limit | No | Maximum number of issues to return. | |
| sourceId | No | Only include issues for this source ID. | |
| destinationId | No | Only include failed delivery issues for this destination ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, signaling a safe read operation. The description adds the requirement for authentication but otherwise does not disclose behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two highly focused sentences. The first states the core purpose, and the second details the smart query capability. No wasted words; front-loaded with essential 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?
Given no output schema, the description could explain return values, but it's a simple list tool. It covers authentication and query behavior. The limit parameter is in the schema. Overall, it provides sufficient context for a read-only list tool with good annotations.
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 baseline is 3. The description adds meaningful detail for the 'q' parameter, explaining that it recognizes specific ID patterns as exact filters and matches other text fields, which enhances understanding beyond the schema description.
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 lists open anomaly and delivery issues, specifying the verb 'list' and resource. It distinguishes itself from siblings like list_messages by focusing on issues and mentions a smart lookup feature.
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 explains when to use the 'q' parameter for smart lookups by specific IDs or plain text, but does not explicitly advise when to use this tool over alternative list tools among siblings. Context is provided for the query parameter, but exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_portal_hostsList Portal HostsCRead-onlyIdempotentInspect
Authenticated tool for listing stable portal hosts for an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds 'authenticated' but provides no further behavioral context, such as error behavior if the appId is invalid or if the list can be empty.
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 concise sentence that is front-loaded. It contains no extraneous information, though it is arguably too brief.
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 has no output schema and one parameter, the description does not explain the nature of the returned list (e.g., format, pagination, default behavior). It lacks sufficient detail for an agent to fully understand the tool's behavior.
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 input schema has one required parameter (appId) with no description coverage (0%). The tool description does not explain the meaning of appId or its expected format/constraints beyond stating it's 'for an app'. The description fails to compensate for the lack of schema documentation.
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 lists stable portal hosts for an app, distinguishing it from sibling tools like create_portal_host and check_portal_host. However, 'stable portal hosts' is somewhat vague and could be more specific.
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 guidance is provided on when to use this tool versus alternatives, such as check_portal_host or list_apps. There is no mention of prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_eventsList Recent EventsCRead-onlyIdempotentInspect
Authenticated tool for inspecting recent received events, duplicates, and signature status.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| sourceId | No | ||
| signatureStatus | No | ||
| failedDeliveryOnly | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description need not repeat safety. It adds value by noting the tool is authenticated and focuses on recent events, duplicates, and signature status, but lacks details on pagination, ordering, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and to the point. However, it could be restructured to include parameter hints or usage context without becoming verbose.
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 five undocumented parameters, no output schema, and moderate complexity, the description fails to explain what 'recent' means, how duplicates are indicated, or what the response format is. The rich annotations partially compensate, but significant gaps remain.
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?
Five parameters (q, limit, sourceId, signatureStatus, failedDeliveryOnly) have zero schema descriptions and the tool description provides no explanation of their meaning or allowed values. The agent cannot infer how to use parameters correctly.
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?
Description clearly states the resource (recent received events) and actions (inspecting duplicates and signature status). It is specific enough to distinguish from sibling list tools like list_apps or list_endpoints, though not explicitly contrasting with similar event-list tools like list_messages.
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 guidance on when to use this tool versus alternatives. The description does not mention prerequisites, filtering criteria, or contexts where other tools would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recipientsList RecipientsCRead-onlyIdempotentInspect
Authenticated tool to list recipients.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds 'Authenticated tool,' which is not in annotations, providing a bit more context about access requirements.
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 short sentence, making it concise and front-loaded. However, it may be too brief for a complete understanding.
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 simplicity (1 parameter, no output schema), the description is incomplete. It lacks details about the return format and the meaning of 'appId'. Annotations help but do not fully compensate.
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 'appId' parameter's role or constraints. It adds no value beyond the schema.
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 it lists recipients, specifying the verb and resource. However, it does not differentiate from sibling list tools beyond the resource name.
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 guidance on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_retry_jobsList Retry JobsCRead-onlyIdempotentInspect
Authenticated tool to list retry jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating it is a safe, read-only operation. The description adds 'Authenticated', which is a behavioral trait not covered by annotations, but it is minimal and does not contradict 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 very short (one sentence), which is concise, but it lacks essential details such as parameter guidance or context. It is not structured to front-load the most critical information beyond the basic purpose.
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 has no output schema and minimal parameters, the description is incomplete. It does not explain what 'retry jobs' are, how they relate to sibling tools like 'cancel_queued_retries' or 'retry_failed_deliveries', or how to effectively use the parameters (limit, status).
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 input schema has two parameters (limit, status) with constraints and an enum, but the description provides no explanation of their meaning or usage. With 0% schema description coverage, the description fails to add any value beyond the schema, leaving the agent to infer semantics from names alone.
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 'Authenticated tool to list retry jobs' clearly states the verb 'list' and resource 'retry jobs', making the purpose obvious. However, it does not differentiate from sibling tools like 'list_messages' or 'list_endpoints', which list other resources.
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 implicitly states the tool is authenticated, providing a usage prerequisite, but it offers no explicit guidance on when to use this tool versus alternatives, such as when to filter by status or limit, or compared to 'cancel_queued_retries' or 'retry_failed_deliveries'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesList SourcesARead-onlyIdempotentInspect
Authenticated tool to list sources.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds the authentication requirement, which is not captured in annotations, adding value. However, no mention of pagination or order of results.
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?
Single sentence, perfectly concise. Every word earns its place. Front-loaded with key action and resource.
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 zero parameters and no output schema, the description is minimal. It covers the basic purpose but lacks details on what a 'source' is, whether results are paginated, or ordering. For a simple list tool, it is adequate but not comprehensive.
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?
No parameters in schema, so schema coverage is 100%. Description does not need to explain parameters. Baseline for 0 params is 4.
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?
Description clearly states the verb 'list' and resource 'sources', distinguishing it from many sibling list tools that target other resources. It is not a tautology but could be more specific (e.g., 'lists all sources').
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 guidance on when to use this tool versus alternatives. The only hint is 'Authenticated', which is implicit for most tools. Missing context like 'use this to view all sources; for details on a specific source, use get_source'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_webhook_shapesList Supported Webhook ShapesARead-onlyIdempotentInspect
List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the tool's safety is clear. The description adds context that the shapes are used for event identity, ordering, and gap checks, which provides behavioral insight beyond annotations. No contradictions.
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 sentence that conveys the essential purpose concisely without unnecessary words. It is front-loaded with the action and resource.
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 no parameters and no output schema, the description provides sufficient context to understand what the tool does and why it would be used. It explains the types of shapes and their relevance to event processing.
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?
There are no parameters, so schema coverage is effectively 100%. The description adds no parameter details, but none are needed. The baseline of 3 is adjusted upward because the description focuses on the purpose rather than repeating schema information.
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 action: listing vendor webhook shapes that Relin understands. It specifies the purpose for event identity, ordering, and gap checks. Among sibling tools, no other list_* tool mentions webhook shapes, so it is distinct.
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 implies the tool is for retrieving supported webhook shapes for event handling, but it does not explicitly state when to use it or when to choose an alternative. No comparisons to other tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_eventReplay EventCInspect
Authenticated tool for queueing a replay of a single received event.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints; description mentions 'queueing' implying async behavior but does not explain side effects, permissions, or what happens after queueing. Significant behavioral gaps.
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?
Very concise single sentence that is clear and front-loaded. However, there is room to add brief usage or parameter context without losing conciseness.
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 tool with one parameter and no annotations, the description omits important context: what queueing means, return value, success conditions, and how it differs from sibling tools. Incomplete for effective agent use.
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%. Description does not mention eventId or its purpose, leaving agents to rely solely on the schema for minimal info (required string with minLength:1).
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?
Description clearly states it queues a replay of a single event. The word 'single' hints at differentiation from sibling tools like replay_events (plural) and replay_message (message-level), though not explicit.
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 guidance on when to use this tool versus alternatives like replay_events or replay_message. Agents must infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_eventsReplay EventsBInspect
Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| sourceId | No | ||
| windowHours | No | ||
| signatureStatus | No | ||
| failedDeliveryOnly | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints. The description mentions 'queueing' but does not disclose whether the operation is asynchronous, what side effects occur (e.g., event re-delivery), or if it is safe. With no annotation support, the description fails to provide crucial 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?
The description is a single sentence of 12 words, tightly focusing on the tool's purpose. No waste 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?
With six parameters, no output schema, and sparse annotations, the description is insufficient. It does not explain the replay mechanism, results handling, prerequisites, or how it differs from single-event replay. A more detailed description is needed for effective use.
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 lists five of six parameters implicitly (source, query, signature status, failed-delivery state, time window) but fails to mention the 'limit' parameter. It adds no extra semantics beyond parameter names.
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 indicates the tool is for queueing replays based on criteria like source, query, and time window. However, it does not explicitly differentiate from sibling tools like 'replay_event' or 'replay_message', though the plural name and batch nature are implied.
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 implies usage for batch replay operations by listing filters, but provides no when-not guidance or alternatives. No explicit context for when to choose this over similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_messageReplay MessageDInspect
Authenticated tool to replay message.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| messageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds only the word 'Authenticated' beyond the annotations. It does not disclose side effects, whether it modifies state, or any other behavioral details. Annotations already provide non-readonly and non-idempotent 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 extremely short (4 words) but lacks necessary detail. It is not efficiently informative; it sacrifices completeness for brevity.
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 two required parameters, no output schema, and the need to understand the 'replay' action, the description is severely incomplete. It does not mention return values, effects, or prerequisites.
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?
No description of parameters beyond the schema. Schema coverage is 0%, and the description fails to explain what appId and messageId represent (e.g., where to find them, format expectations).
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 'Authenticated tool to replay message' uses a verb and resource but is vague. It does not specify what 'replay' entails or distinguish from sibling tools like 'replay_event' and 'replay_events'.
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 guidance on when to use this tool versus alternatives. No context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_anomaliesResolve AnomaliesBDestructiveInspect
Authenticated tool for marking one or more open anomalies resolved by anomaly_id.
| Name | Required | Description | Default |
|---|---|---|---|
| anomalyIds | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, so the mutation is expected. The description adds the 'Authenticated' label, which is not in annotations, but does not elaborate on effects like irreversibility or side effects.
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, concise sentence with no redundancy. It front-loads the key information without extra verbage.
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 simple tool (one parameter, no output schema, annotations present), the description covers the basic action but lacks details on consequences or confirmation. It is minimally adequate.
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 schema has 0% description coverage, so the description compensates by stating the parameter is anomaly IDs. However, it does not provide format or sourcing details, leaving some ambiguity.
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 resolves one or more open anomalies by anomaly_id. It uses a specific verb-resource combination but does not explicitly differentiate from sibling tools like list_open_issues that might also deal with anomalies.
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 no guidance on when to use this tool versus alternatives. It only notes that it is authenticated, but does not mention prerequisites, when not to use it, or how it relates to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retry_failed_deliveriesRetry Failed DeliveriesCInspect
Authenticated tool for queueing immediate retries for failed fanout deliveries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| windowHours | No | ||
| destinationId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavior beyond annotations: it says 'queueing immediate retries' but omits details like whether existing retry jobs are affected, rate limits, or authentication requirements. Annotations show readOnlyHint false and destructiveHint false, but the description doesn't clarify potential side effects.
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 short sentence with no waste, but it sacrifices essential information for brevity. It front-loads the core action but omits parameter details and usage context.
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 3 unnamed parameters, no output schema, and no behavioral details, the description is insufficient. It does not address the tool's impact, return value, or how to use it correctly in the broader system.
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%; the description does not explain any of the three parameters (limit, windowHours, destinationId). Their purpose and constraints are left entirely to the schema, which is insufficient for an agent to select correct 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 clearly states it retries failed fanout deliveries, using a specific verb ('queueing immediate retries') and resource. It distinguishes from siblings like 'cancel_queued_retries' and 'replay_event', which operate on different states.
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 guidance on when to use this tool versus alternatives like 'replay_message' or 'cancel_queued_retries'. Does not mention prerequisites, constraints, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_api_keyRevoke API KeyCDestructiveInspect
Authenticated tool to revoke API key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKeyId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the destructive nature is known. The description adds only 'Authenticated tool', which is generally redundant. It does not disclose additional behavioral traits such as the permanent irreversibility of revocation or permission requirements.
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 extremely concise at five words, which is efficient but sacrifices critical information. While brevity is valued, the lack of detail reduces its overall utility.
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 simplicity of the tool (1 parameter, no output schema), the description should be able to provide complete context, but it falls short. It omits explanation of the parameter and does not set expectations about the revoke action's effects, making it insufficient for correct agent 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?
The input schema has one required parameter (apiKeyId) with no description, and the tool description does not explain what apiKeyId represents (e.g., the key's unique identifier). With schema coverage at 0%, the description fails to compensate, leaving the agent uninformed about parameter semantics.
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 ('revoke') and the resource ('API key'), making the purpose immediately understandable. However, it lacks specificity about the scope or effect (e.g., permanent invalidation), and does not differentiate from potential siblings like 'disable_api_key' (though not present).
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 revoke versus alternative actions like rotating or deleting keys. No prerequisites or consequences (e.g., key becomes invalid immediately) are mentioned, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_endpoint_secretRotate Endpoint SecretCInspect
Authenticated tool for rotating the signing secret for one endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| endpointId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions it is 'Authenticated', but does not disclose behavioral traits beyond that, such as whether rotating the secret immediately invalidates the old one or requires specific permissions. Annotations indicate it is not read-only or destructive, but the description adds no further 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?
The description is a single sentence, which is concise, but lacks structure such as bullet points or separate sections. It is minimally adequate but not well-organized for quick agent comprehension.
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 has 2 required string parameters and no output schema, the description is incomplete. It does not explain how to obtain the new secret, what happens after rotation, or any return value. The description leaves significant gaps for a simple tool.
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 input schema has 2 parameters with 0% description coverage, and the description does not mention or clarify the role of appId or endpointId. The schema provides no descriptions, and the description fails to compensate.
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 rotates the signing secret for an endpoint, using a specific verb and resource. However, it does not distinguish this from sibling tools like update_endpoint, which might also modify endpoint settings.
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 guidance on when to use this tool versus alternatives, such as update_endpoint or delete_endpoint. No prerequisites or context on when not to rotate the secret.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_source_tokenRotate Source TokenCInspect
Authenticated tool for rotating an ingest token and returning the replacement URL once.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only basic hints (readOnlyHint false, destructiveHint false). The description adds 'once' but does not disclose whether the old token becomes invalid, whether the operation is safe to retry (idempotentHint false), or any authentication requirements beyond the generic 'Authenticated tool'.
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 short sentence, which is concise but omits critical information such as parameter semantics and behavioral side effects. It is under-specified for its purpose.
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 lack of output schema and low schema coverage, the description should explain what the replacement URL looks like and any constraints (e.g., rate limiting, source existence). It does not address these, leaving the agent with incomplete information.
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 mention the 'sourceId' parameter at all. The agent must infer that the token belongs to the source identified by sourceId, but no guidance on format or constraints.
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 (rotating an ingest token) and the output (returning replacement URL once). It distinguishes from sibling rotate_endpoint_secret by specifying 'ingest token'.
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 implies usage for rotating source ingest tokens but does not provide explicit guidance on when to use vs alternatives like rotate_endpoint_secret. No context on prerequisites or suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_portal_settingsSave Portal SettingsCInspect
Authenticated tool for saving portal branding defaults for an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| logoUrl | No | ||
| brandName | No | ||
| accentColor | No | ||
| primaryColor | No | ||
| surfaceColor | No | ||
| backgroundColor | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations exist but are sparse: readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds that the tool requires authentication, which is not in annotations. However, it does not disclose behavior like whether calls are idempotent (likely not, but no hint) or whether partial updates are supported. Credited for adding auth context, but incomplete.
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 sentence, which is concise but severely under-specified. It front-loads the main action but omits critical details, making it insufficient for an agent to use the tool correctly. It read more like a title than a descriptive guide.
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 7 parameters, no output schema, and minimal annotations, the description is woefully incomplete. It does not explain return behavior, error scenarios, or how parameters interact. For a mutation tool of this complexity, much more context is needed.
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 for 7 parameters, the description must compensate but fails entirely. It only mentions 'portal branding defaults' without explaining any individual parameter (e.g., accentColor vs primaryColor, format of logoUrl). The agent gets no added meaning beyond parameter names and types.
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 verb 'saving' and the resource 'portal branding defaults for an app', which distinguishes it from sibling tools like get_portal_settings (retrieval) and portal host tools (different resource). However, it could be more specific about the scope, e.g., that it updates branding defaults and requires an appId.
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 no guidance on when to use this tool versus alternatives. It does not mention get_portal_settings for reading, nor does it suggest prerequisites or context for use. The agent is left to infer usage from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageSend MessageCInspect
Authenticated tool to send message.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| type | Yes | ||
| appId | Yes | ||
| messageId | No | ||
| recipient | Yes | ||
| idempotencyKey | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive; description adds only 'authenticated', which is minimal context. No disclosure of error handling, rate limits, or side effects.
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?
Extremely concise but at the cost of under-specification. It fails to convey essential operational 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?
With 6 parameters (3 required) and no output schema, the description is grossly incomplete. It does not explain required fields, behavior, or return values.
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 information about the 6 parameters (data, type, appId, messageId, recipient, idempotencyKey).
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?
Description states 'send message' which is a clear verb+resource, but is essentially a tautology of the tool name. It lacks differentiation from sibling tools like replay_message or list_messages.
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 guidance on when to use this tool vs alternatives. No mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_endpointUpdate EndpointCInspect
Authenticated tool to update endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| name | No | ||
| appId | Yes | ||
| enabled | No | ||
| endpointId | Yes | ||
| retryMaxAttempts | No | ||
| rateLimitPerMinute | No | ||
| retryBackoffSeconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Authenticated tool', which is not in annotations, providing some behavioral context. However, annotations already indicate non-read-only and non-destructive nature. Additional traits like idempotency or error behavior are missing.
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 very concise but lacks structure and essential details. It is a single sentence that could be expanded without losing conciseness.
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 has 8 parameters, no output schema, and a complex domain, the description is far from complete. It fails to cover what the tool updates or how to use it properly.
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%, yet the description provides no information about any of the 8 parameters. This is a critical gap for tool invocation.
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 'update endpoint', which is a specific verb and resource. It distinguishes from sibling tools like create_endpoint and delete_endpoint, but doesn't elaborate on what aspects can be updated.
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 guidance on when to use this tool vs alternatives, no prerequisites or context provided. The description is too brief to offer any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upsert_event_typeUpsert Event TypeDInspect
Authenticated tool to upsert event type.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| schema | No | ||
| eventType | Yes | ||
| description | No | ||
| examplePayload | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds 'Authenticated' which is already implied. No disclosure of side effects (e.g., overwriting existing event types) or behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but at the cost of missing critical information. It is not concise in a helpful way; rather, it is under-specified.
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 5 parameters and no output schema, the description is severely incomplete. It does not explain return values, error states, or how the upsert behaves (e.g., on conflict). The tool requires more context for safe use.
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%. The description does not mention any parameters, such as appId, eventType, schema, description, or examplePayload. The schema is self-documenting but the description adds no value.
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 repeats the tool name without adding specificity. It says 'upsert event type' but doesn't explain what an event type is or how this tool differs from other management tools like create_source or delete_event_type. The sibling list shows similar tools, but the description fails to distinguish.
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 guidance on when to use this tool. It doesn't mention prerequisites (e.g., must have an app ID) or context for use. There is no comparison to alternatives like create_event_type or update_event_type, which might be relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upsert_recipientUpsert RecipientCInspect
Authenticated tool for creating or updating a recipient.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| appId | Yes | ||
| recipient | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'Authenticated tool' implying auth requirements, but does not disclose other behavioral traits like idempotency (annotations say false), side effects of updating vs creating, or error scenarios. Annotations already indicate not read-only, so the description adds little beyond that.
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 extremely short (6 words) but lacks necessary detail. Conciseness is not beneficial when it omits essential context. It reads more as an incomplete placeholder than a helpful description.
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 performs an upsert (create or update) with three parameters and no output schema, the description fails to provide adequate context about return values, parameter relationships, or operational constraints. It is insufficient for an agent to use 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?
The schema has 0% description coverage for parameters. The description does not explain what 'name', 'appId', or 'recipient' represent. For example, whether 'recipient' is an ID, email, or other identifier is unclear. This is a critical gap for proper tool invocation.
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 creates or updates a recipient, matching the name and title. However, it does not differentiate from sibling tools like 'create_source' or 'list_recipients', which are distinct resources but could be confused without context.
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 guidance is provided on when to use this tool versus alternatives, such as when to use 'create_recipient' (if it existed) or 'update_recipient' separately. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!