neuron
Server Details
AI-powered WhatsApp chatbot platform with 196 tools for bots, campaigns, and contacts.
- 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 3.9/5 across 189 of 196 tools scored. Lowest: 2.9/5.
Each tool targets a distinct resource and action, with clear verb_noun patterns. Even tools with similar verbs like send_message, send_whatsapp, send_broadcast are differentiated by their descriptions. No ambiguity.
All tools follow a consistent 'neuron_verb_noun' snake_case pattern. No mixing of conventions like camelCase or inconsistent verb styles.
At 196 tools, the count is far beyond the typical well-scoped range (3-15). While the domain is broad, this volume is excessive for an MCP server and likely to overwhelm agents.
The tool set provides comprehensive CRUD and lifecycle operations for all major resources (bots, channels, contacts, campaigns, knowledge bases, etc.). No obvious gaps in functionality.
Available Tools
273 toolsneuron_add_bot_channelAdd Bot ChannelAInspect
Connect an additional WhatsApp channel to a bot as a secondary number. The bot will respond to messages on this channel.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot | |
| channelId | Yes | Unique identifier (UUID) of the WhatsApp channel to connect |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds that the bot will respond to messages, which clarifies behavior beyond annotations. However, it does not disclose side effects (e.g., whether it disconnects existing channels) or error conditions. Annotations are present but not contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action. No extra words, every sentence adds 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 2-parameter tool with no output schema, the description covers the basic purpose and a behavioral trait (bot responds), but omits details like return format or error handling. Could be more complete.
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 covers 100% of parameters with descriptions. Description does not add any further semantic detail beyond what the schema already provides.
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 tool connects an additional WhatsApp channel to a bot as a secondary number. It specifies the resource (bot and channel) and the action (connect), and distinguishes from siblings like 'assign_bot_to_channel' by emphasizing 'additional' and 'secondary number'.
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?
Description implies the tool is for adding a secondary channel (not the first), but does not explicitly state when to use this vs. siblings like 'assign_bot_to_channel'. No prerequisites or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_add_to_contact_listAdd to Contact ListAInspect
Add one or more contacts to a list by contact ID or phone number. Phone numbers without existing contacts are auto-created as minimal contact records.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes | Array of contacts to add, each identified by contactId or phone number | |
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the target contact list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no hints (all false), so the description carries the burden. It discloses the key behavior that phone numbers without matching contacts are auto-created as minimal records, which adds value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loading the main action and then adding a critical behavioral detail. No redundant 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?
With no output schema, the description could mention return values or error conditions (e.g., what happens if the list doesn't exist). However, it covers the essential behavior adequately for a simple add operation.
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 100%, but the description adds context by explaining that phone numbers may trigger contact creation, clarifying the purpose of the entries parameter beyond the schema's 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 action (add one or more contacts) and the resource (a list), with specific identifiers (contact ID or phone number). The auto-creation detail distinguishes it from similar tools like neuron_create_contact.
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 adding contacts to an existing list, but does not explicitly mention when not to use or provide alternatives such as neuron_remove_from_contact_list or neuron_create_contact_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_add_tool_secretAdd Tool SecretAIdempotentInspect
Store or update a secret credential (API key, token, etc.) for a custom tool integration. Secrets are encrypted at rest.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the tool to add the secret to | |
| key | Yes | Secret key name used in templates (e.g., 'API_KEY', 'AUTH_TOKEN') | |
| value | Yes | Secret value to store securely (will be encrypted) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by noting that secrets are 'encrypted at rest,' which is a behavioral detail not captured in annotations. It aligns with the idempotentHint and destructiveHint annotations (non-destructive, safe to repeat).
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: two sentences that cover purpose, security, and context. It is front-loaded with the key action and resource, wasting no 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?
For a simple credential management tool with full schema coverage, the description is complete. It communicates the essential purpose and security feature. However, it could optionally mention that it works with existing tool IDs, but this is already implied by the 'id' parameter.
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 covers all three parameters with descriptions, achieving 100% coverage. The description does not add parameter-specific meaning beyond the schema, but the schema itself is adequate. Hence a baseline score of 3 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 ('Store or update'), the object ('secret credential'), and the context ('for a custom tool integration'). It distinguishes the tool from its sibling 'neuron_remove_tool_secret' by focusing on storage/update rather than removal.
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 context ('for a custom tool integration') but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. The distinction from 'neuron_remove_tool_secret' is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_apply_persona_to_botApply Persona Voice to BotAInspect
Give a bot this persona's voice: merges a delimited voice block into the bot's system prompt (idempotent — re-applying or swapping personas replaces it cleanly) and tags the bot's metadata with the persona id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persona UUID | |
| botId | Yes | Bot UUID to apply the voice to. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description contradicts the annotations. It claims 'idempotent — re-applying or swapping personas replaces it cleanly', while annotations set idempotentHint to false. This is a direct contradiction, so the score is 1 as per the rules.
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 purpose ('Give a bot this persona's voice') followed by concise behavioral details. No filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's behavior for a simple operation with only two parameters and no output schema. It explains the mutation, idempotency, and metadata tagging. However, it could have explicitly warned about the modifying effect, but that is implied by 'merges' and 'tags'.
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%, with both 'id' and 'botId' clearly described as 'Persona UUID' and 'Bot UUID to apply the voice to'. The description adds minimal extra meaning beyond the schema, not significantly enhancing parameter understanding.
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 function: 'Give a bot this persona's voice' and explains the mechanism ('merges a delimited voice block into the bot's system prompt' and 'tags the bot's metadata with the persona id'). This is specific and distinguishes it from related tools like build_persona or update_bot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use (applying a persona's voice to a bot) and the idempotency note ('re-applying or swapping personas replaces it cleanly') guides usage for repeated or swapping scenarios. However, it does not explicitly mention alternative tools or when not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_approve_reflectionApprove ReflectionAIdempotentInspect
Approve a bot-generated reflection to incorporate the learned insight into the bot's future behavior and responses.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the reflection to approve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the effect of approval (incorporating insight), which adds behavioral context beyond annotations. Annotations indicate idempotent and non-destructive; description is consistent and provides meaningful insight about state changes.
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, front-loaded sentence that conveys the purpose and effect without any wasted words. It is efficient 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 parameter, good annotations, and no output schema, the description is sufficient. It could optionally mention that the reflection must exist or that approval is permanent, but it is not necessary.
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 100%, and the parameter 'id' is already well-described in the schema. The description adds no extra semantics beyond what the schema provides, leading to a baseline score of 3.
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 (approve), the object (bot-generated reflection), and the outcome (incorporate insight into future behavior). It distinguishes from sibling tools like 'reject_reflection' and 'list_reflections'.
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 tells the main use case but does not explicitly mention when not to use it or suggest alternatives (e.g., 'neuron_reject_reflection' for rejecting). A clearer 'when to use vs. alternatives' statement would improve it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_assign_bot_to_channelAssign Bot to ChannelAIdempotentInspect
Assign a bot to handle incoming messages on a specific WhatsApp channel. Replaces any previously assigned bot.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel | |
| botId | Yes | Unique identifier (UUID) of the bot to assign |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by stating it 'replaces any previously assigned bot', which complements the idempotentHint=true and destructiveHint=false. It does not contradict annotations and provides useful behavioral context, though it could mention prerequisites like channel existence.
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: two sentences, 16 words total. It is front-loaded with the verb and action, and every sentence contributes meaningful information. 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?
Given the simplicity (two params, no output schema), the description covers the key operation and replacement behavior. It is mostly complete, but could mention that the action is idempotent (though annotations cover that) or what happens after assignment (e.g., confirmation). Still, it provides adequate context for an agent to 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?
Schema coverage is 100%, so the baseline is 3. The description rephrases the parameters but does not add semantic details beyond what the schema already provides (e.g., UUID format). It supplies context for the overall operation, but not parameter-specific depth.
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 ('Assign'), the resource ('bot to handle incoming messages on a specific WhatsApp channel'), and includes a critical behavioral note ('Replaces any previously assigned bot'). This distinguishes it from related siblings like 'unassign_bot_from_channel' and 'assign_bot_to_social_channel'.
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 when to use (for assigning a bot to a WhatsApp channel) and notes the replacement behavior, but does not explicitly list alternatives or when not to use it. The context is clear, but lacking direct exclusions or comparisons to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_assign_bot_to_social_channelAssign Bot to Social ChannelAIdempotentInspect
Assign a bot to handle interactions on a specific social media channel. The bot will be able to use the channel's credentials for social media actions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel | |
| botId | Yes | Unique identifier (UUID) of the bot to assign |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false. The description adds value by explaining that the bot gains credential access, which is beyond the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, no unnecessary words. Every sentence adds 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?
Given no output schema, the description adequately explains the purpose and effect. However, it could elaborate on what 'handle interactions' entails (e.g., read/send messages), but the current level is sufficient.
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 100% and each parameter has a clear description (UUID of social channel, UUID of bot). The description adds no additional meaning, so baseline 3 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 action ('Assign a bot') and the resource ('social channel'), and explains the effect (bot uses channel's credentials). It distinguishes from siblings like 'neuron_assign_bot_to_channel' by specifying 'social' channel.
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 assigning bots to social channels, but it does not provide explicit guidance on when to use this vs alternatives (e.g., when the channel is not social), nor does it mention prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_attach_knowledge_baseAttach Knowledge BaseAInspect
Attach a knowledge base to a bot to enhance its responses with domain-specific knowledge. Optional priority determines retrieval order when multiple knowledge bases are attached.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot | |
| priority | No | Priority level for knowledge base retrieval (higher values are checked first) | |
| knowledgeBaseId | Yes | Unique identifier (UUID) of the knowledge base to attach |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) but no destructive or idempotent hints. The description does not disclose behavioral traits beyond the action; it omits information about required permissions, idempotency (e.g., re-attaching), 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?
Two concise sentences: first defines the action and purpose, second explains the optional parameter. Front-loaded and no unnecessary 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?
Given 3 parameters and no output schema, the description covers the core action and parameter, but lacks information about return values, error conditions, or effects of re-attachment. Adequate but not complete.
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 100% with descriptions for all parameters. The description adds context that priority determines retrieval order when multiple knowledge bases are attached, but this is a minor addition to the schema's own description of priority.
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 'attach a knowledge base to a bot' and its purpose 'enhance its responses with domain-specific knowledge'. It also mentions the optional priority parameter, distinguishing it from sibling tools like detach.
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 when to use (when you want to attach a knowledge base) but does not explicitly state conditions for use, alternatives, or when not to use. Sibling detach tool exists but no comparison is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_audio_contactExtract Contact from AudioAInspect
Transcribe an audio recording and extract contact information (name, phone, email, notes, tags). Automatically saves the extracted contact to the organization's address book.
| Name | Required | Description | Default |
|---|---|---|---|
| audioBase64 | Yes | Base64-encoded audio data containing spoken contact information | |
| audioFormat | No | Audio format hint for decoding (default: 'webm') | webm |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds that the tool 'automatically saves' the contact, which is consistent with a non-destructive write. No contradictions, but missing details on duplicate handling or error behavior. Annotations lower the bar, so 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 22 words. Extremely concise with no waste. Front-loads the main actions (transcribe, extract, save).
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, but the description fails to explain what the tool returns. It mentions saving the contact but not the response format. Also missing audio size limits or error handling. Gaps in completeness for a tool with no output schema.
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 100%, so baseline is 3. The description doesn't add meaning beyond what the schema provides: audioBase64 is base64 audio, audioFormat is format hint. No examples or additional 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 transcribes audio and extracts contact information (name, phone, email, notes, tags), then automatically saves it. The verb 'transcribe' and 'extract' are specific, and the tool distinguishes itself from siblings like 'create_contact' by focusing on audio input.
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 this tool versus alternatives (e.g., if you already have text contact info, use 'create_contact'). The description implies use with audio containing contact details but lacks exclusions or context for 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.
neuron_block_contactBlock ContactADestructiveIdempotentInspect
Block a WhatsApp contact. Blocked contacts cannot message the bot or see its profile.
| Name | Required | Description | Default |
|---|---|---|---|
| jid | Yes | Contact JID or phone number to block (e.g. '2348012345678' or '2348012345678@s.whatsapp.net') | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds valuable behavioral context by explaining the consequences for the blocked contact (cannot message or see profile), which goes 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?
Only two sentences, front-loaded with the core action, and every word serves a purpose. No redundancy or fluff.
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 straightforward block operation, the description covers the effect on the contact and implies it is permanent (unless undone via unblock). No output schema exists, but the consequences are sufficiently explained.
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 100% and both parameters ('jid' and 'channelId') are well described in the schema. The description does not add additional parameter-level details, so a baseline of 3 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 uses a specific verb ('Block') and resource ('WhatsApp contact'), and clearly states the consequences (cannot message the bot or see its profile), easily distinguishing it from siblings like 'unblock_contact' or 'delete_contact'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on what blocking does but does not explicitly guide when to use it versus alternatives (e.g., 'unblock_contact', 'mute', or 'delete_contact'). No when-not-to-use or alternative references are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bot_api_chatBot API ChatAInspect
Send a message to a bot via the API and receive a streaming or complete AI-generated response. Requires a valid API key with 'nrn_' prefix.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| message | Yes | The message text to send to the bot | |
| contactName | No | Display name of the contact for conversation context | |
| contactPhone | Yes | Phone number of the contact sending the message (E.164 format, e.g., '+2348012345678') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is not read-only nor destructive, and description adds that it produces a streaming or complete AI-generated response. It also notes the API key requirement. This complements the sparse annotations well, though it does not detail side effects like conversation state changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no unnecessary words. It front-loads the action and key requirement (API key). However, it could be slightly improved by structuring the streaming/response modes more explicitly.
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 should explain the response format or behavior (e.g., streaming mechanics). It mentions streaming or complete response but lacks details on how the response is delivered. For a chat tool, this is a notable gap.
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 100%, so parameters are fully documented in the input schema. The description does not add additional meaning beyond what's in the schema, such as explaining the role of 'contactName' or 'contactPhone' in conversation context. Baseline 3 applies.
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 sends a message to a bot via API and receives an AI-generated response. It distinguishes from siblings like 'neuron_bot_api_send' by specifying the AI response nature, and from 'neuron_bot_api_get_messages' by being a send operation.
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 basic usage context (requires API key, sends message), but does not explicitly state when to use this tool over siblings like 'neuron_bot_api_send' or 'neuron_send_message'. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bot_api_get_botBot API Get BotARead-onlyIdempotentInspect
Retrieve configuration and status information about the bot associated with the provided API key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and safe behavior; description adds minimal context about retrieving configuration/status but lacks details on error handling or invalid key behavior. 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, 16 words, front-loaded with verb and resource. No unnecessary 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?
Given the tool's simplicity (1 param, annotations present, no output schema), the description sufficiently covers what the tool does and the authentication requirement, though could elaborate on returned data scope.
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 100% and description for apiKey is identical to schema's description, adding no new meaning. Baseline score of 3 applies.
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 uses specific verb 'Retrieve' and resource 'configuration and status information', clearly distinguishing from sibling tools like neuron_get_bot by specifying the bot is identified via 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?
Description implies usage for bot API key holders but does not explicitly state when to use this tool over alternatives such as neuron_get_bot, nor provides when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bot_api_get_messagesBot API Get MessagesBRead-onlyIdempotentInspect
Retrieve message history for a specific conversation with cursor-based pagination. Requires a valid API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of messages to return (default: 50) | |
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| before | No | Cursor for pagination — retrieve messages created before this message ID or ISO 8601 timestamp | |
| conversationId | Yes | Unique identifier (UUID) of the conversation to retrieve messages from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds that it uses cursor-based pagination and requires API key authentication, which provides some additional behavioral context. However, it does not explain pagination behavior, error handling, or rate limits. With annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences, front-loading the main purpose and then adding the authentication requirement. Every word earns its place with 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?
Given that the tool has no output schema, the description should at least hint at the return format or pagination details (e.g., what the cursor represents or that it returns an array of messages). It is adequate but could be more complete for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters thoroughly. The description offers no additional parameter-level meaning beyond what the schema provides. Baseline of 3 is correct.
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 retrieves message history for a specific conversation using cursor-based pagination. It specifies the verb 'retrieve' and resource, but does not differentiate from the sibling 'neuron_get_messages' which likely has a similar purpose, so it misses full 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?
The description mentions a prerequisite (requires API key) but provides no guidance on when to use this tool over alternatives like 'neuron_get_messages' or other bot API tools. There is no mention of appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bot_api_list_conversationsBot API List ConversationsARead-onlyIdempotentInspect
Retrieve a paginated list of conversations managed by the bot. Supports filtering by conversation status. Requires a valid API key.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of conversations per page (default: 20) | |
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| status | No | Filter by conversation status: 'active', 'closed', or 'pending' |
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 authentication requirement, pagination, and filtering capability, providing 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?
Single sentence with two short clauses; front-loaded with key action and no redundancy. Every word adds 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?
Covers core purpose, auth, pagination, and filtering. Lacks details on response structure or pagination defaults, but for a simple list tool it is sufficient.
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 100%, so parameters are already well-described. The tool description only reiterates 'filtering by conversation status' without adding new meaning for each parameter.
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 retrieves a paginated list of conversations managed by the bot, with filtering by status. It distinguishes from siblings like 'get_conversation' (single) and 'close_conversation' (mutate) by specifying scope and pagination.
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?
Description mentions filtering and API-key requirement, implying when to use. However, it does not explicitly state when not to use or compare with alternatives like 'list_conversations' (non-bot API) or 'get_conversation'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bot_api_sendBot API SendAInspect
Send an outbound message through the bot API to a specified phone number. Supports text and media messages. Requires a valid API key.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient's phone number (E.164 format, e.g., '+2348012345678') | |
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| sendAt | No | ISO 8601 date-time for scheduled delivery (e.g., '2025-12-31T10:00:00Z'). Message sends immediately if omitted. | |
| message | Yes | The message text to send to the recipient | |
| mediaUrl | No | Public URL of the media file to attach (required for non-text message types) | |
| channelId | No | Unique identifier (UUID) of a specific WhatsApp channel to send from. Uses the bot's primary channel if omitted. | |
| messageType | No | Type of message to send: 'text', 'image', 'video', 'audio', or 'document' (default: 'text') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false (readOnlyHint=false, destructiveHint=false), indicating no special behavior. The description adds minimal transparency beyond the obvious write operation ('Send'). It mentions requiring an API key but does not disclose rate limits, failure modes, or security considerations beyond what is in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose. Every word adds value, and there is no redundant or unnecessary information. It is appropriately sized for the tool's complexity.
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 7 parameters, 3 required, and no output schema, the description covers the essential action and supported message types. However, it lacks details on return values or side effects. The annotations provide no additional context, so the description bears the full burden but is mostly 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?
Schema description coverage is 100%, so all 7 parameters are already documented in the input schema. The description adds marginal value by mentioning support for text and media, hinting at messageType and mediaUrl, but does not elaborate on any parameter semantics beyond what the schema provides.
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 'Send', the resource 'outbound message through the bot API', and the scope 'to a specified phone number'. It distinguishes this tool from siblings like 'neuron_send_message' or 'neuron_bot_api_chat' by specifying 'bot API' and mentioning support for text and media 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?
The description implies usage context (requires API key) but does not provide explicit guidance on when to use this tool versus alternatives such as neuron_send_message, neuron_bot_api_chat, or other send-related siblings. No exclusions or when-not scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_browse_list_poolBrowse List PoolARead-onlyIdempotentInspect
Browse verified contact lists available in the shared marketplace pool. Filter by category, region, or search term.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of items per page (default: 20) | |
| region | No | Filter by geographic region (e.g., 'lagos', 'abuja') | |
| search | No | Search term to filter by description or category | |
| category | No | Filter by audience category (e.g., 'delivery', 'tech', 'consumers') |
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. The description confirms a read-only browse operation but adds no additional behavioral details (e.g., rate limits, authentication requirements, or result 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, efficient sentence (14 words) that front-loads the purpose and filtering options without any superfluous 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 an output schema, the description does not explain what the tool returns (e.g., list details). However, for a browse operation the core purpose is clear, and the schema covers all input parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a description. The description mentions filtering by 'category, region, or search term', which maps to three of the five parameters, but does not add significant 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 clearly states the action ('Browse'), the resource ('verified contact lists in the shared marketplace pool'), and filtering capabilities. It distinguishes from siblings like neuron_browse_pool (likely for other pool items) by specifying 'contact lists'.
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 discovering available contact lists but does not provide explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives like neuron_browse_pool or neuron_get_pool_item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_browse_poolBrowse PoolARead-onlyIdempotentInspect
Browse the shared marketplace pool of published bots, tools, knowledge bases, and reflections with optional filtering by type, category, tags, or search query.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| tags | No | Filter by tags (comma-separated list, e.g., 'ai,chatbot') | |
| type | No | Filter by resource type | |
| limit | No | Number of items per page (default: 20) | |
| query | No | Free-text search query to filter pool items by name or description | |
| category | No | Filter by category name | |
| featured | No | When true, return only featured items |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds that browsing includes optional filtering, but does not disclose additional 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?
The description is a single concise sentence that front-loads the action and resource, with no unnecessary 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?
The description covers the main purpose and filtering options adequately. Minor gaps include lack of explanation about pagination defaults or return format, but schema descriptions partially 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?
All 7 parameters have descriptions in the schema (100% coverage). The description summarizes filtering options but does not add meaning beyond the schema, such as format or defaults.
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 browses a shared marketplace pool of specific resource types with filtering options. However, it does not differentiate from the sibling tool 'neuron_browse_list_pool', which likely serves a similar 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?
The description implies usage for browsing and filtering pool items but provides no explicit guidance on when to use this tool versus alternatives or what prerequisites are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_build_personaBuild Persona from CollectionAInspect
Distill a reusable voice from a Collection of mined content: analyzes the top-engagement items and reverse-engineers a voiceProfile (tone, diction, cadence, emoji/formatting habits, themes, dos/donts) + representative exemplars. Requires the collection to have >=3 usable samples. Runs an LLM call (a few seconds).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Persona name. Defaults to '<collection name> voice'. | |
| sampleLimit | No | How many top-engagement items to analyze (default 40). | |
| collectionId | Yes | Source Collection UUID (built by the web agent / content mining). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With all annotation hints set to false, the description carries the burden of behavioral disclosure. It adds valuable context: runs an LLM call with a few seconds latency, and requires a minimum sample size. It also implies a non-destructive analysis operation (reverse-engineering) rather than deletion. However, it doesn't explicitly state whether a persistent persona record is created or how it integrates with existing persona management, which would be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first sentence packs the core purpose and output components, the second efficiently covers the precondition and latency. Every word earns its place; there is no fluff or repetition.
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 there is no output schema, the description helpfully lists the expected outputs (voiceProfile components and exemplars). It also covers eligibility (>=3 samples) and performance (LLM call, few seconds). It would be even more complete if it explicitly described the return format or any side effects (e.g., whether a new persona is saved), but for this complexity level it is quite 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 input schema already provides full descriptions for all three parameters, including defaults and meanings (e.g., sampleLimit describes 'top-engagement items to analyze'). The tool description echoes this ('top-engagement items') but adds no new parameter-level semantics. Since schema coverage is 100%, the baseline of 3 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 opens with a specific verb ('Distill') and clearly identifies the input (Collection of mined content) and the output (voiceProfile with enumerated components like tone, diction, cadence, emoji/formatting habits). It distinguishes this from sibling tools such as neuron_apply_persona_to_bot (applies an existing persona) and neuron_generate_from_persona (uses a persona to generate content), establishing this as the persona-creation-from-content step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to build a reusable persona from a collection of mined content, and it adds a concrete precondition (collection must have >=3 usable samples). It doesn't explicitly name alternatives or state when not to use, but the purpose is so focused that the usage scenario is clear. Could have mentioned 'use this instead of manual persona creation' but not essential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_bulk_toggle_builtin_toolsBulk Toggle Built-in ToolsAIdempotentInspect
Enable or disable multiple built-in tools at once for a bot. More efficient than toggling tools individually.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to update tools for | |
| settings | Yes | Array of tool toggle settings to apply in bulk |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety and idempotency details. The description adds the 'bulk' aspect but does not disclose potential failure scenarios or edge cases. Given rich annotations, the additional context is modest.
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 only two sentences with no extraneous information. It is front-loaded and efficient, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple bulk toggle operation with good annotations, the description is fairly complete. It could mention success indicators or failure handling, but the idempotent hint and non-destructive nature mitigate this need.
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 100%, so the parameters are fully described in the schema. The description does not add additional meaning or constraints beyond what is already in the schema, so baseline score of 3 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 action (enable or disable) and resource (multiple built-in tools for a bot). It distinguishes from the sibling tool 'neuron_toggle_builtin_tool' by emphasizing bulk operation and efficiency.
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 when to use this tool (for bulk operations) and implies it is more efficient than the singular version, but does not explicitly state when not to use it or mention alternatives beyond the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_campaign_marketplaceBrowse Campaign MarketplaceARead-onlyIdempotentInspect
Browse available campaigns in the marketplace that your organization can join to earn rewards by sending messages.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of campaigns per page (default: 20) |
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 safe read nature is clear. The description adds context about browsing marketplace campaigns, but does not disclose additional behavioral traits like pagination details or result ordering.
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 is concise and front-loaded with the key action and resource. No redundant 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?
For a read-only browse operation with pagination, the description adequately explains the purpose. Without an output schema, the return values are not detailed, but the context of browsing campaigns to join is sufficient. Sibling tools are many, but the description distinguishes by marketplace focus.
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 100% (page and limit parameters are documented in the schema). The description does not add extra meaning beyond what the schema already provides, so baseline 3 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 tool browses available campaigns in a marketplace for joining to earn rewards. It specifies the resource (campaigns in marketplace) and action (browse), distinguishing it from other list tools like neuron_list_campaigns which likely show user's own campaigns.
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 browsing available campaigns to join, but does not explicitly state when to use it versus alternatives like neuron_list_campaigns or neuron_browse_pool. No exclusions or conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_campaign_participantsList Campaign ParticipantsARead-onlyIdempotentInspect
Retrieve all participants who have joined a campaign you own, including their delivery counts and earned rewards.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the campaign you own |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that it returns delivery counts and rewards, and that it applies only to owned campaigns. This provides useful context beyond annotations without 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 of 18 words, front-loaded with action and purpose. No redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description covers the core functionality and return data. Could optionally mention pagination or success/error expectations, but given annotations and schema, it is mostly complete.
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 100% with the single 'id' parameter described as 'Unique identifier (UUID) of the campaign you own'. The description does not add further parameter meaning beyond restating the concept of ownership, so baseline 3 applies.
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 retrieves participants of owned campaigns with specific data (delivery counts, earned rewards). This distinguishes it from sibling tools like neuron_get_campaign (campaign details) and neuron_list_campaigns (list campaigns). The verb 'Retrieve' and resource 'participants' are 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?
The description indicates ownership requirement ('campaign you own'), which implies usage by campaign owners. It does not explicitly state when to use vs alternatives like neuron_get_campaign or neuron_my_participations, but the context of a read-only list for owners is clear. Missing explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_cancel_approvalCancel ApprovalADestructiveIdempotentInspect
Cancel a still-pending approval (e.g. the upstream action was aborted). Fires the approval.cancelled callback. Requires a bot API key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| reason | No | Optional cancellation reason | |
| approvalId | Yes | The approval request id (UUID) to cancel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds useful behavioral context beyond those: it fires the approval.cancelled callback and only acts on still-pending approvals. This gives the agent a clearer model of side effects and preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core action front-loaded and supporting details kept brief. The parenthetical example is short and valuable. No redundant or extraneous wording.
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 cancellation tool with comprehensive annotations and full schema coverage, the description is complete. It covers purpose, when to use, side effects, and authentication, without needing to explain return values (no output schema). The agent has enough 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?
Schema coverage is 100% with clear descriptions for apiKey and approvalId. The description does not add new parameter semantics; it only repeats the need for a bot API key. Baseline 3 is appropriate when the schema carries the parameter 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 states 'Cancel a still-pending approval' with a specific verb, resource, and scope. It also provides an example ('upstream action was aborted') and clearly distinguishes itself from approval request/response tools in the sibling list by focusing on cancellation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear context for when to use the tool: to cancel an approval that is still pending, such as when the original action was aborted. It also notes the requirement for a bot API key. However, it does not explicitly name alternative tools or exclusion criteria, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_cancel_scheduled_messageCancel Scheduled MessageADestructiveIdempotentInspect
Cancel a scheduled message to prevent it from being sent. Only messages with status 'scheduled' can be cancelled. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the scheduled message to cancel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it reveals that cancellation is irreversible and contingent on the message's status being 'scheduled'. Annotations already indicate destructiveHint=true and idempotentHint=true, and the description aligns with those. It does not detail side effects or error behavior, but for a simple cancel operation this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted words. The key action and constraint are front-loaded in the first sentence. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description covers the essential aspects: purpose, precondition (scheduled status), and irreversibility. It does not explain the return value or error cases, but these are often inferred for a cancel operation. The description is sufficient for an agent to use the tool correctly given the 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?
Schema description coverage is 100% and the single parameter 'id' is already described as the UUID of the scheduled message. The description does not add any additional meaning or context about the parameter, so it relies entirely on the schema. Baseline 3 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 action 'Cancel a scheduled message' and specifies the resource. It also provides a condition (only scheduled messages) that distinguishes it from other message-related tools like delete or update. Although it doesn't explicitly name sibling alternatives, the verb and constraint make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: to prevent a scheduled message from being sent, and notes that only messages with status 'scheduled' can be cancelled. It also warns that the action cannot be undone. It does not explicitly say when not to use or compare to alternatives like update_scheduled_message, but the guidance is clear for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_cancel_subscriptionCancel SubscriptionADestructiveIdempotentInspect
Cancel the current active subscription. Access continues until the end of the current billing period.
| 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 destructiveHint=true and idempotentHint=true. The description adds the important behavioral detail that 'Access continues until the end of the current billing period', which goes 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 concise sentences with no fluff. Every word adds 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 simple cancellation tool with no parameters and no output schema, the description covers the key behavioral aspects and is sufficiently complete 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?
There are zero parameters and the schema coverage is 100%. The description does not need to add parameter details. It 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 'Cancel' and the resource 'current active subscription', and adds the important detail that access continues until the end of the billing period. This distinguishes it from sibling tools like get_billing or checkout.
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 use when the agent wants to cancel an active subscription. It does not explicitly state when not to use it or provide alternatives, but the purpose is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_checkoutCheckout SubscriptionAInspect
Initiate a checkout session for a subscription plan upgrade. Returns a checkout URL or confirmation to complete the purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | Subscription plan to purchase: 'pro' or 'business' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations have readOnlyHint=false, consistent with a write operation. The description mentions initiating a checkout and returning a URL/confirmation, but lacks detail on side effects, authentication needs, 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?
Two sentences with no fluff. First sentence states action, second states output. 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?
For a single-parameter tool with no output schema, the description covers basic purpose and output but omits prerequisites, whether upgrade requires existing subscription, and details about 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?
Schema coverage is 100% with one parameter fully described (plan enum). The description adds no extra meaning beyond the schema, so baseline of 3 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 'Initiate' and resource 'checkout session' for a subscription plan upgrade, and mentions the output. It is distinct from siblings like neuron_cancel_subscription.
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 upgrading an existing subscription but does not explicitly state when not to use it or mention alternatives. No guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_close_conversationClose ConversationAIdempotentInspect
Close an active conversation, marking it as completed. The bot will stop responding and the conversation is archived.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation to close |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true and destructiveHint=false. The description adds behavioral details beyond annotations: the bot stops responding and the conversation is archived. No contradictions found.
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 with two sentences. The first sentence clearly states the action and its effect; the second adds key details. 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?
Given one parameter, no output schema, and annotations covering safety, the description is largely complete. It explains the purpose and immediate effects. Missing details like whether the operation can be reversed or the return value, but these are not critical for an idempotent close action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'id' is already described as 'Unique identifier (UUID) of the conversation to close'. The description does not add further semantic 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 'Close an active conversation' with specific outcomes ('bot stops responding', 'conversation is archived'). It distinguishes from sibling tools like neuron_release_conversation (likely reopens) and neuron_takeover_conversation (transfers control).
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 specifies the tool is for active conversations and indicates the result (completed, archived, bot stops). While it does not explicitly state when not to use it or list alternatives, the context is clear enough for most use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_compose_messageCompose MessageBInspect
Compose and send a new message to a phone number via a specific channel. Automatically creates a new conversation if one does not exist.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient phone number (E.164 format, e.g., '2348012345678') | |
| text | Yes | Message text content | |
| sendAt | No | ISO 8601 date-time for scheduled delivery (e.g., '2025-12-31T10:00:00Z'). Message sends immediately if omitted. | |
| mediaUrl | No | URL of media to attach (required for non-text message types) | |
| channelId | Yes | Unique identifier (UUID) of the WhatsApp channel to send through | |
| contactName | No | Display name for the recipient contact | |
| messageType | No | Type of message: 'text' (default), 'image', or 'document' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no hints (all false), so the description carries the burden. It discloses that the tool creates a new conversation if one does not exist, which is a key behavioral trait. However, it does not detail any other side effects, error conditions, or what happens if the conversation already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The purpose is front-loaded in the first sentence, and the second adds a valuable detail about conversation creation. Structurally 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 7 parameters, no output schema, and many sibling tools, the description covers the basic operation and auto-conversation creation. But it omits return value, failure modes, and permission requirements, 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?
Schema coverage is 100% with clear descriptions for each parameter (e.g., E.164 format for 'to', ISO 8601 for 'sendAt'). The top-level description adds minimal extra semantics beyond the schema, so baseline 3 applies.
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 composes and sends a new message to a phone number via a specific channel, and it mentions automatic conversation creation. However, it does not explicitly differentiate from similar sibling tools like neuron_send_message or neuron_send_whatsapp, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an active channel, 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.
neuron_convert_leadConvert Lead to ContactAInspect
Promote a phone-bearing lead into a contact (so it can be messaged / added to lists). Optionally add the new contact to a list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Lead UUID | |
| addToList | No | Contact list name to add the converted contact to. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a write operation (readOnlyHint: false) and not destructive (destructiveHint: false). The description adds the phone-bearing prerequisite and the optional list addition, which is useful. However, it does not disclose whether the original lead record is removed, kept, or modified after conversion, nor any permission requirements. This is additional context beyond the annotations but still leaves room for more transparency.
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 a parenthetical clarification. It is front-loaded with the main action and contains no filler. Every phrase earns its place, making it concise and well-structured.
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 two parameters and no output schema, the description covers the purpose, the prerequisite, and the optional behavior. It could be more complete by explaining the fate of the original lead (e.g., whether it is deleted or kept) and what is returned. However, for a simple conversion action, the description provides enough context for an agent to select and invoke it appropriately.
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 100% for both parameters, so the schema already documents 'id' as a Lead UUID and 'addToList' as a contact list name. The description adds meaning by explaining that the lead must be phone-bearing and that adding to a list is optional, which slightly enhances the schema. This aligns with the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Promote a phone-bearing lead into a contact.' It identifies the resource (lead), the target (contact), and the prerequisite (phone-bearing). The parenthetical explains the benefit, and the scope distinguishes it from sibling tools like 'create_contact' (which creates from scratch) and 'add_to_contact_list' (which adds an existing contact to a list).
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 when to use the tool: when you have a lead that should become a contact, particularly to enable messaging or list addition. It states the prerequisite (phone-bearing) but does not explicitly name alternatives or exclusion conditions. Since sibling tools like 'neuron_create_contact' and 'neuron_add_to_contact_list' exist, mentioning them would be beneficial, but the context is clear enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_ad_requestCreate Ad RequestAInspect
Create an ad distribution request to send a message to contacts in pool lists matching target demographics. Deducts from wallet upon approval.
| Name | Required | Description | Default |
|---|---|---|---|
| budget | Yes | Total ad budget in kobo (e.g., 500000 = NGN 5,000) | |
| message | Yes | The ad message content to distribute to matched contacts | |
| mediaUrl | No | Media URL for non-text messages (required when messageType is 'image', 'video', or 'document') | |
| targetGoal | Yes | Target number of successful message deliveries | |
| messageType | No | Message content type: 'text', 'image', 'video', or 'document' (default: 'text') | |
| targetDemographics | Yes | Demographic criteria to match against pool list entries |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With all annotations false, the description carries the full burden. It adds value by disclosing a financial impact ('Deducts from wallet upon approval'), but omits other important behaviors like approval requirements, reversibility, or what happens on failure. The single behavioral detail is useful but insufficient for full transparency.
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 efficiently conveys the purpose and a key behavioral aspect. Every word earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should cover return values and state changes. It only mentions a side effect (wallet deduction) but omits what the tool returns (e.g., ad request ID, status) and any preconditions or permissions. For a tool with nested objects and financial implications, 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?
The schema has 100% parameter description coverage, so the description need not add much. It does provide contextual tie-in for 'budget' (deducts from wallet), but overall adds little extra meaning beyond the schema's own descriptions. Baseline 3 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 action ('Create') and the resource ('ad distribution request'), specifying the target ('contacts in pool lists matching target demographics') and a key side effect ('Deducts from wallet upon approval'). It distinguishes itself from sibling 'create_*' tools by focusing specifically on ad requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the use case ('to send a message to contacts in pool lists matching target demographics'), making it clear when to use. However, it does not provide exclusions or mention alternatives (e.g., 'neuron_update_ad_request' for existing requests), which would enhance guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_api_keyCreate API KeyAInspect
Create a new API key for programmatic access to a specific bot. Store the key securely as it cannot be retrieved later.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Descriptive name for the API key to identify its purpose (e.g., 'Production CRM Integration') | |
| botId | Yes | Unique identifier (UUID) of the bot to create the API key for | |
| expiresAt | No | ISO 8601 date-time when the key should expire (e.g., '2026-12-31T23:59:59Z'). Key never expires if omitted. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral trait that the API key cannot be retrieved later, which is not covered by annotations (destructiveHint=false, readOnlyHint=false). This is valuable context for the agent about the irreversible nature of the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and every word adds value. No fluff 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?
While the description covers the purpose and a key behavioral note, it does not mention the format of the response (e.g., the key itself) or any required permissions. For a creation tool with 3 parameters, it is functional but missing some contextual detail.
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 100%, so the baseline is 3. The description reinforces the botId parameter by mentioning 'a specific bot' but adds no new detail for name or expiresAt beyond what the schema already provides.
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 a new API key'), the resource ('API key'), and the purpose ('for programmatic access to a specific bot'). It also adds a critical security note that the key cannot be retrieved later, which is distinctive among siblings like neuron_list_api_keys and neuron_revoke_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?
The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites (e.g., bot must exist) or exclusions. It only describes the action without contextual usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_blog_postCreate Blog PostBInspect
Create a new blog post in draft or published status with specified title, content, and optional metadata such as tags, excerpt, and SEO fields. Content supports full markdown (GFM) AND raw HTML — images/GIFs via , videos via , YouTube/Loom embeds via , collapsible sections via /, plus , , , with inline styles, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | List of tag names or slugs to categorize the post | |
| title | Yes | Title of the blog post (max 500 characters) | |
| status | No | Initial publication status of the post (default: 'draft') | draft |
| content | Yes | Full body content of the blog post in markdown format. Supports raw HTML inline via rehype-raw. Rich content options: images/GIFs via , videos via <video src="url" controls></video>, embedded YouTube/Loom via <iframe src="embed-url"></iframe> (rendered in 16:9 aspect ratio), collapsible sections via <details><summary>Title</summary>content</details>, plus <mark>, <kbd>, <abbr> and other HTML elements. | |
| excerpt | No | Short summary or preview text for the blog post | |
| seoTitle | No | Custom SEO title override for search engine results | |
| authorType | Yes | Whether the post is authored by an individual user or the organization | |
| seoKeywords | No | List of SEO keywords for search engine optimization | |
| coverImageUrl | No | URL of the cover image displayed at the top of the post | |
| seoDescription | No | Meta description for search engine result snippets |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are neutral (readOnlyHint: false, etc.), so the description carries the burden. It discloses that the tool creates a post and supports rich content (markdown, HTML). However, it does not mention side effects, required permissions, or whether the operation is idempotent. The description adds some context but could be more detailed.
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 brief (two sentences) and front-loaded with the core purpose. The second sentence efficiently lists content capabilities without unnecessary words. Every sentence serves a purpose, making it highly 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?
The tool has 10 parameters and no output schema. The description covers creation behavior and content features but omits return value, error handling, and prerequisites. For a complex tool, this is adequate but not complete. More details on output or failure modes would improve completeness.
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 value by elaborating on the 'content' parameter's supported formats (markdown, HTML, embeds), which goes beyond the schema. However, for other parameters like tags or excerpt, it merely mentions them without further detail. Overall, it adds moderate semantic 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 clearly states the tool's purpose: creating a new blog post with status (draft/published), title, content, and optional metadata. It uses a specific verb and resource, making the action distinct. However, it does not explicitly differentiate from sibling tools like update_blog_post or publish_blog_post, which would warrant a 5.
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 prerequisites, when not to use it, or how it relates to other blog post tools. This limits an agent's ability to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_botCreate BotBInspect
Create a new AI bot with specified name, model, and behavior instructions. Returns the created bot object.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the bot | |
| llmModel | No | OpenRouter model ID (e.g., 'google/gemini-2.5-flash-lite', 'openrouter/auto') | |
| metadata | No | Arbitrary metadata object stored with the bot. Known keys: 'communityExitFollowUp' (auto-DM users who leave watched groups — { enabled: boolean, groupJids: string[], message: string with {name} placeholder }), 'learningConfig' (self-learning from conversations — { enabled: boolean, folder: string, groupChats: string[], dmPhones: string[], useAdminPhones: boolean }), 'loadBalancing' (multi-channel round-robin — { enabled: boolean, strategy: string }), 'welcomeNewMembers' (fine-tune welcome behavior — { batchWindowSeconds: number, groupJids: string[] }). Additional custom keys are preserved as-is. | |
| maxTokens | No | Maximum number of tokens the bot can generate per response | |
| assignment | No | One-sentence role definition for the bot (max 2000 chars) | |
| systemPrompt | Yes | System prompt that defines the bot's behavior, personality, and response guidelines | |
| llmTemperature | No | Temperature parameter controlling response randomness (0 = deterministic, 2 = creative) | |
| welcomeMessage | No | Welcome message sent to new members joining groups the bot manages. Setting this field activates the batched welcome feature — new members are accumulated over a window (default 60s) and welcomed in a single message with @mentions. Set to null to disable. | |
| fallbackMessage | No | Message sent when the bot cannot understand user input (max 2000 chars) | |
| greetingMessage | No | Automatic greeting sent when a new conversation starts (max 2000 chars) | |
| escalationPrompt | No | Prompt template used when escalating to a human agent (max 5000 chars) | |
| responsibilities | No | Array of responsibility descriptions defining what the bot handles | |
| whatsappChannelId | No | Unique identifier (UUID) of the WhatsApp channel to associate with the bot |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns the created bot object, which is useful. However, it does not mention side effects, permissions required, idempotency, or error conditions. With no annotations beyond readOnlyHint=false and destructiveHint=false, the description provides minimal behavioral context beyond the implicit mutation.
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 sentence of 17 words is concise and front-loads the action. However, it could be slightly improved by including the return value (already present) and hinting at the optional parameters. Still efficient and well-structured.
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, nested objects (metadata with detailed keys), and no output schema, the description adequately states the basic purpose and return value. The schema fills the gaps, but a brief mention of common optional fields would improve completeness. Score 3 is 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?
Schema description coverage is 100%, so the schema already documents all 13 parameters well. The description only references 'name, model, and behavior instructions' (a subset) without adding new meaning. Baseline 3 is appropriate since the schema does the heavy lifting.
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 a new AI bot' using a specific verb and resource. It mentions key parameters (name, model, behavior instructions) that distinguish it from other creation tools. While it doesn't explicitly differentiate from siblings, the unique resource 'bot' makes purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as update_bot, delete_bot, or other create_* tools. There are no prerequisites, exclusions, or context provided to help the agent decide between creating a bot versus other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_broadcastCreate BroadcastAInspect
Create a new broadcast message in draft status. Provide recipients directly or use recipientSources to resolve from contact lists. The WhatsApp channel is auto-resolved if not specified.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name or label for the broadcast | |
| botId | No | Identifier (UUID) of a bot to send through. Each recipient's channel is picked by the bot's load-balancer + sticky sessions. Takes precedence over channelId. | |
| message | Yes | Message content to broadcast to recipients | |
| mediaUrl | No | URL of media to attach (required for image or document message types) | |
| channelId | No | Identifier (UUID) of the WhatsApp channel to send through (auto-resolved from default channel if omitted) | |
| recipients | No | Direct list of recipients (alternative to recipientSources) | |
| messageType | No | Type of message to send (e.g., 'text', 'image', 'document') | |
| scheduledAt | No | ISO 8601 date-time for scheduled broadcast delivery (e.g., '2025-12-31T10:00:00Z'). Creates as draft if omitted. | |
| recipientSources | No | Resolve recipients dynamically from contact lists with filtering and exclusion |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate that the operation is not read-only, not idempotent, not open-world, and not destructive, which is limited. The description adds meaningful behavioral context: the broadcast is created in draft status (not sent immediately) and the channel is auto-resolved if omitted. This goes beyond the annotations and helps the agent understand the tool's 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 three short sentences, front-loaded with the core purpose, and every sentence contributes useful information. There is no redundancy or filler, making it easy to parse quickly.
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 9 parameters and no output schema, the description covers the essential usage patterns: draft status, recipient specification options, and channel auto-resolution. It does not explain every parameter, but the schema descriptions are comprehensive, and the description provides enough context for an agent to invoke the tool correctly. It could mention the relationship to send_broadcast for full completeness, but it is 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 covers 100% of parameters with descriptions, providing a strong baseline. The description adds value by summarizing the key decision between 'recipients' and 'recipientSources' and noting that 'channelId' can be omitted due to auto-resolution, which helps the agent understand parameter relationships without reading all schema 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 verb ('Create'), resource ('broadcast message'), and status ('draft'), which distinguishes it from sibling tools like neuron_send_broadcast and neuron_update_broadcast. It also mentions the key alternatives for specifying recipients, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it creates a draft, so it is for creating rather than sending. It also explains the two ways to provide recipients and the auto-resolution of the WhatsApp channel. However, it does not explicitly mention when to use this tool over alternatives like neuron_send_broadcast, stopping short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_campaignCreate CampaignAInspect
Create a new outreach campaign with target audience, messaging template, and schedule configuration. Requires a Pro or Business plan.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Campaign title displayed in marketplace and dashboard | |
| message | Yes | The WhatsApp message template to send to contacts | |
| deadline | Yes | Campaign deadline in ISO 8601 date format (e.g., '2025-12-31') | |
| guidelines | No | Instructions and guidelines for campaign participants | |
| description | No | Campaign description shown in the marketplace listing | |
| totalBudget | Yes | Total campaign budget in kobo (e.g., 500000 = NGN 5,000) | |
| rewardPerDelivery | Yes | Reward per successful delivery in kobo (e.g., 5000 = NGN 50) | |
| requireMutualContact | No | Only allow sends to contacts who have previously responded (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so description carries the burden. It correctly indicates a write operation and adds the plan requirement. Could mention side effects or idempotency, but overall adequate.
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, plus a required condition. 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?
With no output schema, the description should mention what is returned (e.g., campaign ID). It also lacks references to related tools like fund_campaign or submit_campaign. Adequate but not complete.
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 100%, so baseline is 3. The description adds high-level context (target audience, template, schedule) but does not significantly enhance parameter meaning beyond what the schema provides.
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 new campaign, specifying key components (target audience, messaging template, schedule). It is easily distinguished from siblings like update_campaign, fund_campaign, etc.
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 a prerequisite (Pro or Business plan) and implies creation usage, but does not explicitly contrast with alternatives like update_campaign or stop_campaign.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_channelCreate ChannelAInspect
Create a new WhatsApp channel with either Meta Cloud API or Baileys (direct WhatsApp) integration. Meta Cloud channels require metaPhoneNumberId and metaAccessToken.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the channel | |
| type | Yes | Integration type: 'meta_cloud' for Meta Cloud API or 'baileys' for direct WhatsApp connection | |
| phoneNumber | No | Phone number for the channel (E.164 format, e.g., '+2348012345678') | |
| metaAccessToken | No | Meta Access Token (required for meta_cloud type) | |
| metaPhoneNumberId | No | Meta Phone Number ID (required for meta_cloud type) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates this is a write operation (create) and provides conditional parameter requirements. Annotations already show readOnlyHint=false and destructiveHint=false. The description adds context about integration types but does not disclose additional behavioral traits such as idempotency, permission requirements, or side effects. Given limited annotations, more behavioral detail would be beneficial.
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: two sentences, each serving a distinct purpose. The first sentence states the core functionality, and the second sentence adds crucial conditional information. 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?
Without an output schema, the description does not explain return values. However, it covers the main purpose, integration types, and key parameter dependencies. For a creation tool of moderate complexity, this is largely sufficient, though it could mention potential errors or post-creation steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already provides complete parameter descriptions. The description adds minimal value beyond restating the conditional requirement for meta_cloud type parameters. It does not explain parameter syntax or provide examples.
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 new WhatsApp channel with two integration types (Meta Cloud API or Baileys). It uses a specific verb 'create' and resource 'WhatsApp channel', and distinguishes from sibling tools like neuron_create_social_channel by focusing on WhatsApp-specific integration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (for creating WhatsApp channels) and includes a conditional requirement: Meta Cloud channels need metaPhoneNumberId and metaAccessToken. However, it does not explicitly state when not to use it or compare it to alternatives like neuron_add_bot_channel or neuron_set_default_channel.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_contactCreate ContactAInspect
Create a new contact in the organization's address book. If notes are provided, they are saved as a structured note entry with source tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Full name of the contact | |
| tags | No | Tags to categorize the contact (e.g., ['vendor', 'lagos']) | |
| No | Email address of the contact | ||
| notes | No | Additional notes about the contact, saved as a structured entry | |
| phone | Yes | Contact phone number in E.164 format (e.g., +2348012345678) | |
| doNotBroadcast | No | If true, this contact is permanently excluded from all broadcasts | |
| doNotAutoRespond | No | If true, the bot will never auto-respond to this contact (manual/API and human sends still work) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-destructive mutation. The description adds useful context about notes being saved as a structured entry with source tracking, which goes beyond the schema. However, it doesn't disclose potential side effects like duplicate contact handling 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 two sentences long, front-loaded with the primary action, and contains no unnecessary words. Every sentence adds value, and the additional note about notes is relevant.
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 create operation with 7 fully-described parameters and no output schema, the description is adequate. It clarifies the scope (organization's address book) and a key side effect (structured notes). It doesn't explicitly state the return value, but that is a minor gap given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are fully documented in the schema itself. The description adds no additional meaning beyond what the schema already provides, except for briefly noting the notes behavior which is also in 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 'Create a new contact in the organization's address book' with a specific verb and resource. It distinguishes from sibling tools like create_contact_list, update_contact, and delete_contact by targeting the contact resource specifically.
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?
Usage is implied from the tool name and description, but no explicit guidance is given on when to use this versus alternatives like import_contacts or add_to_contact_list. The description does not provide exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_contact_listCreate Contact ListAInspect
Create a new contact list. Slug is auto-generated from name if not provided. For dynamic lists, provide criteria with rules and/or an AI prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the contact list | |
| slug | No | URL-friendly identifier (auto-generated from name if omitted) | |
| type | No | List type (default: 'static') | |
| criteria | No | Dynamic list criteria object: { rules?: { operator, conditions }, aiPrompt?, aiMaxResults? } | |
| description | No | Human-readable description of the list's purpose | |
| refreshSchedule | No | Refresh schedule for dynamic lists (default: 'manual') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so no contradictions. The description adds context about slug auto-generation and dynamic list criteria, which helps understand behavior. However, it does not disclose potential side effects, auth needs, or rate limits. For a creation tool, this is adequate but not exceptional.
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 two sentences, covering the essential purpose and key behavioral notes without any superfluous information. It is well-structured 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?
The description covers the main aspects of creation, including auto-generated slug and dynamic list criteria. However, it does not describe return values or error conditions. Given the absence of an output schema, a bit more information on the response would improve completeness.
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 100% schema coverage, the schema already describes parameters. The description adds value by clarifying slug auto-generation and providing guidance on criteria for dynamic lists, going beyond the schema's simple descriptions.
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 resource ('new contact list'), and mentions key features like auto-generated slug and dynamic list criteria. This distinguishes it from sibling tools like neuron_add_to_contact_list or neuron_update_contact_list.
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 when to use the tool (i.e., to create a new list) but does not explicitly state when not to use it or provide comparisons to alternative tools. The reference to dynamic lists and criteria provides some context, but lacks explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_kb_entryCreate Knowledge Base EntryBInspect
Add a new entry (note, document, or information piece) to a knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base | |
| title | Yes | Title of the entry | |
| folder | No | Folder to organize the entry: 'general', 'skills', 'contexts', 'documents', or 'faqs' (default: general) | |
| source | No | Source type of the entry (default: manual) | |
| content | Yes | Content or body of the entry | |
| metadata | No | Optional metadata key-value pairs for the entry |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (all false). The description only says 'Add', implying mutation, but does not disclose idempotency, authorization needs, conflict handling, or side effects beyond 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 15-word sentence. It is front-loaded and without clutter, but the brevity sacrifices essential information, making it borderline 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 the tool has 6 parameters, no output schema, and nested objects, the description is insufficient. It fails to explain return values, error cases, or how parameters relate (e.g., 'id' refers to the knowledge base).
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 descriptions cover all 6 parameters (100% coverage), so the baseline is 3. The description adds no extra meaning beyond what the schema already provides.
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 'Add' and the resource 'new entry to a knowledge base', distinguishing it from creating the knowledge base itself (neuron_create_knowledge_base) and other CRUD operations on entries.
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, such as prerequisites (e.g., knowledge base must exist) or alternatives like neuron_ingest_knowledge. 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.
neuron_create_knowledge_baseCreate Knowledge BaseBInspect
Create a new knowledge base to store and organize information, documents, and entries.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the knowledge base | |
| description | No | Optional description of the knowledge base purpose | |
| rootInstruction | No | Optional root instruction or context for the knowledge base |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, aligning with a create operation. However, the description lacks details about non-idempotency (idempotentHint=false), potential duplicate handling, required permissions, or any side effects. The description adds minimal 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, front-loaded sentence that efficiently states the core function. It is concise but could include more detail 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 complexity (3 parameters, no output schema) and numerous sibling tools, the description is insufficient. It does not explain what a knowledge base is, its relationship to bots, or what the return value is. More context is needed to fully understand the tool's role in the 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 coverage is 100%, so the schema already documents all three parameters. The description does not add any extra meaning or context for the parameters (e.g., what rootInstruction does). Baseline score of 3 is appropriate as the description provides no additional parameter insight.
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: creating a knowledge base to store and organize information, documents, and entries. It uses a specific verb ('Create') and resource ('knowledge base'), and effectively distinguishes it from sibling tools like neuron_get_knowledge_base (read) and neuron_delete_knowledge_base (delete).
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 neuron_attach_knowledge_base or neuron_create_kb_entry. It does not mention prerequisites, required roles, or scenarios where creating a new knowledge base is appropriate compared to other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_lead_sourceCreate Lead SourceAInspect
Create a lead source. config depends on type: text_paste {text}; web_scrape {url|urls[]}; document {mediaUrl,mimeType}; tool_output {toolId,args?}; instagram/x {channelId, query?|hashtag?, limit?}; csv {rows[]}; stream {triggerTaskId?} (fed by the ingest endpoint). Set scheduleKind cron/interval/once for recurring (schedule: cron {time,days?} / interval {everyMinutes} / once {runAt}).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | Yes | Lead source type. facebook = Meta Ads Library advertisers; web/IG/X/FB scraping needs DeepAPI configured; TikTok has no native provider (use tool_output). | |
| config | No | ||
| enabled | No | ||
| schedule | No | ||
| timezone | No | ||
| scheduleKind | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false). The description adds context about config structure and the stream type being 'fed by the ingest endpoint,' but it does not disclose potential side effects like external network calls or authentication requirements (e.g., DeepAPI) that are only mentioned in the schema, not the description. It provides some behavioral context beyond annotations, but not rich detail.
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 dense paragraph, but every segment is informative. It front-loads the action ('Create a lead source') then efficiently enumerates config types and scheduling. While it is not visually structured, it avoids fluff and packs essential information into a compact form. Slightly hard to parse due to density, but appropriately sized for the tool's complexity.
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 complex: 7 parameters, nested objects, multiple type-dependent configs, and scheduling. The description covers the config variants, scheduling, and notes the stream type's special ingestion mechanism. It does not mention return values, but no output schema exists, so that is not a gap. Missing details like toolId references for tool_output and exact csv rows structure are minor given the overall completeness.
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 only 14%, with most parameters lacking descriptions. The tool description compensates significantly by specifying the shape of `config` for each type (e.g., web_scrape {url|urls[]}) and the structure of `schedule` (cron {time,days?} / interval {everyMinutes} / once {runAt}). This adds critical semantic meaning beyond the bare schema. However, it does not define nested fields like `rows[]` or `args` fully, so it is not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Create a lead source,' which is a specific verb plus resource, clearly indicating the tool's purpose. It further elaborates on multiple source types (text_paste, web_scrape, document, etc.), distinguishing it from sibling tools like neuron_list_lead_sources or neuron_run_lead_source. The purpose is unambiguous and well-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to configure different source types and schedule options, e.g., 'Set scheduleKind cron/interval/once for recurring.' It implicitly says to use this tool when creating any kind of lead source. However, it does not explicitly name alternative tools or state when not to use it, so it lacks the explicit pointers seen in the highest benchmark examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_newsletterCreate NewsletterAInspect
Create a new WhatsApp Channel newsletter for one-way broadcast updates. Requires a connected Baileys session on the specified channel.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name of the newsletter visible to subscribers | |
| channelId | Yes | Identifier (UUID) of the WhatsApp session channel to create the newsletter on | |
| description | No | Description of the newsletter's purpose and content |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false) and non-destructive action (destructiveHint=false). The description adds the valuable context of requiring a connected Baileys session, which is beyond what annotations provide. 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?
Two sentences, no wasted words. The first sentence states the core action, the second adds an essential prerequisite. Information 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?
For a creation tool without an output schema, the description lacks information about return values (e.g., created newsletter ID) and potential error conditions. However, it adequately covers the core action and prerequisite. The high schema coverage partially compensates.
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 100%, so the baseline is 3. The description does not repeat parameter details but adds context for channelId via the session requirement. However, it provides no extra semantics for name or description 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 'Create a new WhatsApp Channel newsletter for one-way broadcast updates,' specifying a precise verb (Create) and resource (WhatsApp Channel newsletter). It distinguishes this from sibling tools like neuron_create_broadcast and neuron_create_channel by emphasizing the 'one-way broadcast' nature.
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 a key prerequisite: 'Requires a connected Baileys session on the specified channel.' This guides when to use the tool, but it does not explicitly suggest alternatives or exclusions, though these are partially implied by the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_outbound_webhookCreate Outbound WebhookBInspect
Register a new outbound webhook that sends HTTP POST requests to an external URL when specified bot events occur. Supported events: message.created, message.assistant, conversation.created, conversation.escalated, conversation.closed, bot.paused, bot.resumed.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Destination URL that will receive webhook event payloads (HTTPS recommended) | |
| name | Yes | Human-readable name for the outbound webhook | |
| botId | Yes | Unique identifier (UUID) of the bot to create the outbound webhook for | |
| eventTypes | Yes | Array of event types that should trigger this webhook | |
| filterPrompt | No | Optional LLM prompt to selectively filter which events are forwarded (e.g., 'only forward escalations about billing') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false). The description adds that it sends HTTP POST requests and lists event types, but does not cover idempotency, retry behavior, or error handling. Provides some value beyond annotations but significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action and resource. No filler words. Each sentence adds 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, and the description does not mention return value (e.g., webhook ID, status). Also missing details about webhook verification, activation, or delivery guarantees. For a 5-parameter creation tool, this is incomplete.
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?
All 5 parameters have schema descriptions (100% coverage). The description reiterates the supported events already present in the schema enum but adds no new meaning. Baseline 3 is appropriate since schema already carries the burden.
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 an outbound webhook that sends HTTP POST requests for specified bot events. It lists supported event types, distinguishing it from related tools like neuron_create_webhook (likely inbound) and neuron_update_outbound_webhook.
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., neuron_create_webhook, neuron_update_outbound_webhook). No when-not-to-use or prerequisite conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_social_channelCreate Social ChannelAInspect
Create a new social media channel with platform credentials. Supports Instagram and Twitter/X. Credentials should be the full session JSON including account, cookies, headers, and platform-specific tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Display name for the channel (e.g., 'Brand IG Account') | |
| platform | Yes | Social media platform: 'instagram' or 'twitter' | |
| username | No | Social media username (without @) | |
| credentials | No | Session credentials as JSON string with account, session.cookies, session.headers, etc. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, which matches the creation behavior. The description adds context about credential format but does not disclose edge cases or potential side effects beyond creation. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three front-loaded sentences: main action, supported platforms, and credential details. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers platform and credentials well but omits explanation for optional parameters (label, username). No output schema or return value description, which could help an agent understand what is produced.
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 100%, but the description adds value by specifying that credentials should be 'full session JSON' and listing expected fields (account, cookies, headers, tokens). This goes 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 verb 'Create', the resource 'social media channel', and specifies supported platforms ('Instagram and Twitter/X'). This distinguishes it from sibling tools like 'neuron_create_channel' (likely generic) and others.
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 social media channel creation and lists supported platforms, but does not explicitly state when to use this tool versus alternatives like 'neuron_create_channel' 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.
neuron_create_taskCreate Bot TaskAInspect
Create a scheduled autonomous task for a bot. The instruction is a self-contained, natural-language directive the bot executes with its tools (find stale conversations, message contacts, schedule follow-ups, etc.). Sends are always screened against Do-Not-Contact, a per-run cap, and a no-repeat window.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | UUID of the bot | |
| title | Yes | Short title for the task | |
| config | No | Safety / execution config for the task. | |
| enabled | No | Whether the task is active (default true). | |
| schedule | No | Schedule payload matching scheduleKind. cron: { time: 'HH:MM', days?: number[] } (0=Sunday..6=Saturday; empty/omitted = every day). interval: { everyMinutes: number }. once: { runAt: ISO8601 string }. manual: {}. | |
| timezone | No | IANA timezone (e.g. Africa/Lagos). Defaults to UTC. | |
| instruction | Yes | What the task should do, in natural language (self-contained; preserve any exact message copy verbatim). | |
| scheduleKind | Yes | cron = recurring at a clock time (slot); interval = every N minutes; once = a single future moment; manual = only runs on demand. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (all false, indicating a write operation that is not idempotent), the description adds valuable behavioral context: 'Sends are always screened against Do-Not-Contact, a per-run cap, and a no-repeat window.' This discloses safety guardrails and how the bot executes the instruction with its tools. No contradiction with 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 two sentences, front-loaded with the core verb+resource. The first sentence states the purpose, and the second adds meaningful examples and safety constraints. No filler or repetition of schema 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 tool's complexity (8 parameters, nested objects, and no output schema), the description covers the essential concept and safety behavior. It does not mention return values, but for a create operation with comprehensive schema documentation, this is not a critical gap. The description is sufficiently complete for an agent to understand 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 already has 100% parameter description coverage, so the baseline is 3. The description adds meaning by clarifying that 'instruction' is a self-contained, natural-language directive and gives concrete examples of what it can include. This extra context helps agents construct valid instructions without relying solely on 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 opens with 'Create a scheduled autonomous task for a bot,' which identifies the specific action (create), resource (task), and scope (scheduled, autonomous, for a bot). It clearly distinguishes this from sibling tools like run_task or update_task. The additional detail about natural-language instructions reinforces what the tool does without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: it is for scheduling autonomous bot tasks, with examples of instructions such as 'find stale conversations' and 'message contacts.' It does not explicitly name alternatives or exclusions, but the context sufficiently differentiates it from one-off send tools or manual run tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_toolCreate ToolBInspect
Create a custom API tool that the bot can invoke during conversations to fetch external data or trigger actions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for the tool | |
| type | Yes | Type of the tool integration | |
| botId | Yes | Unique identifier (UUID) of the bot to create the tool for | |
| config | Yes | Tool configuration specifying the endpoint and request details | |
| authType | No | Authentication type for the endpoint | |
| rateLimit | No | Maximum number of requests per minute allowed for this tool | |
| timeoutMs | No | Request timeout in milliseconds (default: 30000) | |
| description | Yes | Description of what the tool does and when the bot should use it |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true. The description adds that it creates a tool for bot use, but does not disclose any side effects, limits, or lifecycle implications beyond what annotations already 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 that clearly conveys the core purpose. It is front-loaded with the action and resource, making it efficient 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?
The tool has complex nested config and 8 parameters, yet the description provides no information about lifecycle, testing, or how the created tool integrates with the bot. It is insufficient for an agent to fully understand the tool's role in the workflow.
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 100% schema coverage, all parameters are described in the schema. The description adds no additional meaning or context about parameters, so baseline score of 3 applies.
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 creates a custom API tool for a bot to fetch external data or trigger actions. It uses a specific verb and resource, and distinguishes from other 'create' tools by specifying 'tool' as the 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?
No explicit guidance on when to use this tool versus alternatives like update_tool or test_tool. It does not mention when not to use it or provide context for selecting this tool over built-in tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_create_webhookCreate WebhookAInspect
Register a new inbound webhook endpoint that triggers bot actions when called by an external service.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for the webhook | |
| slug | No | URL-friendly slug for the webhook endpoint (auto-generated if omitted) | |
| botId | Yes | Unique identifier (UUID) of the bot to create the webhook for | |
| isActive | No | Whether the webhook is active and accepting requests (default: true) | |
| eventType | No | Type of event this webhook handles (e.g., 'order.created', 'payment.received') | |
| processingPrompt | No | Prompt instructions to guide bot processing of incoming webhook data |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate writable (readOnlyHint=false), non-idempotent, non-destructive. The description adds that it triggers bot actions, which is consistent. However, it omits details like required permissions, whether creation is synchronous, or any 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, no filler, directly states the tool's purpose. Efficient and well-structured.
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 (2 required) and no output schema, the description alone is insufficient for an agent to fully understand what the tool returns (e.g., webhook ID, URL). It relies entirely on the schema and annotations, and lacks usage context or error scenario hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters. The description does not add any further explanation or context for the parameters 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 the verb 'register', the resource 'inbound webhook endpoint', and the context 'triggers bot actions when called by an external service'. It distinguishes this from sibling tools like 'neuron_create_outbound_webhook' by specifying 'inbound'.
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 creating inbound webhooks but does not explicitly state when to use it vs alternatives (e.g., outbound webhooks or update 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.
neuron_delete_ad_requestDelete Ad RequestADestructiveInspect
Permanently delete a draft ad request. Only ad requests in draft status can be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the draft ad request to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveness (destructiveHint: true). The description adds the insight that deletion is permanent and restricted to draft status, providing useful context beyond annotations. No side effects or authorization details are mentioned, but the destructiveness is well covered.
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 consists of two straightforward sentences with no unnecessary words. It front-loads the key action and constraint, making it easy to parse quickly.
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 input schema (one parameter) and no output schema, the description fully explains what the tool does and its precondition. It provides all necessary context for correct invocation without requiring additional 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?
There is only one parameter (adRequestId) and its schema description is already comprehensive ('Unique identifier (UUID) of the draft ad request to delete'), achieving 100% coverage. The tool description adds no extra semantic value beyond what the schema provides. Baseline score of 3 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 action ('permanently delete'), the resource ('draft ad request'), and a key constraint ('only draft status'). This distinguishes it from sibling deletion tools and makes the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the condition under which the tool should be used (only draft ad requests), but it does not explicitly mention when not to use it or suggest alternatives like updating or pausing non-draft requests. Still, the condition is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_blog_postDelete Blog PostADestructiveIdempotentInspect
Permanently delete a blog post by its ID. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the blog post to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the 'cannot be undone' emphasis, but annotations already provide destructiveHint=true and readOnlyHint=false. The behavior is consistent with annotations, so the description adds minimal additional value beyond reinforcing permanence.
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 fluff. It efficiently conveys the 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?
For a simple delete operation with one parameter and no output schema, the description covers the purpose, required input, and consequence (irreversibility). No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'id' parameter. The tool description adds no extra meaning beyond 'by its ID', so baseline score of 3 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 action 'Permanently delete a blog post by its ID' with specific verb and resource, distinguishing it from sibling tools like create, update, get, list, and publish blog posts.
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 permanent removal of a blog post, and the mention 'cannot be undone' warns of irreversibility. However, it lacks explicit when-not-to-use guidance or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_botDelete BotADestructiveIdempotentInspect
Permanently delete a bot and all its associated data. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and idempotentHint=true. The description adds critical details: the deletion is permanent, affects all associated data, and cannot be undone. This provides behavioral context beyond the annotations. No contradictions with 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 two concise sentences (14 words) that front-load the action and scope. Every word adds value, with no unnecessary 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 simple single-parameter schema and annotations, the description covers the essential behavioral aspects. It could mention prerequisites (e.g., bot must exist) or return behavior, but is mostly complete for a delete action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the single 'id' parameter with 100% coverage. The description does not add further parameter semantics, so a baseline score of 3 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 action ('Permanently delete a bot') and the resource ('bot'), distinguishing it from sibling tools like neuron_pause_bot or neuron_update_bot. It also specifies the scope ('all its associated data'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use this tool (when permanent deletion is desired) but does not provide explicit guidance on when not to use it or suggest alternatives (e.g., pausing instead of deleting). Given the many sibling tools, more explicit guidance would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_broadcastDelete BroadcastADestructiveIdempotentInspect
Permanently delete a broadcast and its recipient data. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the broadcast to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds context about deleting recipient data and emphasizes irreversibility, which provides modest additional behavioral insight 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 extremely concise with two front-loaded sentences. Every word serves a purpose, and it communicates the core functionality and permanence without any fluff.
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 delete tool with one parameter, the description adequately covers the action, scope, and irreversibility. It does not require output schema explanation, and the context provided is sufficient for the agent to understand the tool's effect.
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 100% schema description coverage, the schema already documents the single parameter 'id' as a UUID. The tool description does not add any extra meaning or context about the parameter, meeting the baseline expectation.
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 (permanently delete a broadcast) and the scope (includes recipient data). It distinguishes itself from sibling tools like neuron_create_broadcast, neuron_get_broadcast, and other delete tools by specifying the resource type.
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 does not provide guidance on when to use this tool versus alternatives. It lacks prerequisites, context for selection, or explicit exclusions, leaving the agent to infer usage solely from the name and the minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_campaignDelete CampaignADestructiveIdempotentInspect
Permanently delete a campaign that is in 'draft' status. Active or funded campaigns cannot be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the draft campaign to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the destructive nature (permanent delete), which aligns with the destructiveHint annotation. It adds the status constraint (draft only), providing additional context beyond annotations. 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?
Two concise sentences, front-loaded with the action and condition, no unnecessary 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?
Given one parameter, no output schema, and clear annotations, the description provides all necessary context: precondition (draft status), effect (permanent deletion), and parameter source (id). Complete for the tool's complexity.
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 single parameter 'id' is fully documented in the schema with a description that matches the tool's purpose. Schema coverage is 100%, so the description does not need to add more, but it does not add extraneous 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 action: permanently delete a campaign, with a specific condition (draft status). It distinguishes from other delete tools by specifying the resource type and the allowed status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (draft campaigns) and when not (active/funded). This guides the agent to check campaign status before invoking, distinguishing it from pause or stop tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_channelDelete ChannelADestructiveIdempotentInspect
Permanently delete a WhatsApp channel and disconnect any active sessions. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds the detail that active sessions are disconnected and the action is irreversible. This complements the annotations well. However, it does not disclose any required permissions or impact on related entities (e.g., bots assigned to the channel).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each essential and front-loaded. No redundant or vague phrasing. The warning about irreversibility is impactful and efficiently placed.
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 destructive operation with one parameter and no output schema, the description covers the key aspects: what is deleted, the irreversible nature, and the side effect on sessions. It could be improved by mentioning how to retrieve the channel ID or that the channel must exist, but overall it is sufficient.
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 100% and the schema already describes the single parameter id as 'Unique identifier (UUID) of the channel to delete.' The description adds no additional meaning beyond the schema, so baseline score of 3 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 action ('permanently delete'), the resource ('WhatsApp channel'), and includes a specific side effect ('disconnect any active sessions'). This effectively distinguishes it from sibling delete tools like neuron_delete_social_channel or neuron_delete_bot.
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 use for permanent removal but does not explicitly state when to avoid it (e.g., if only temporary disconnection is needed) or reference alternatives like neuron_stop_channel_session. The 'cannot be undone' warning is helpful but insufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_contactDelete ContactADestructiveIdempotentInspect
Permanently delete a contact and remove them from all contact lists. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the contact to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: 'permanent' and 'cannot be undone', and 'removes from all contact lists'. Annotations already indicate destructiveHint=true, so the description reinforces without contradicting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no unnecessary words. Every sentence provides 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?
For a simple deletion operation with one parameter and no output schema, the description adequately covers all needed context: action, scope, and irreversibility.
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 100% with a clear description for the 'id' parameter. Description does not add additional semantic value beyond what the schema provides.
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 'delete', the resource 'contact', and scope 'removes from all contact lists'. Distinguishes from siblings like neuron_block_contact and neuron_remove_from_contact_list.
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?
Implies severity ('cannot be undone') but does not explicitly state when to use vs alternatives such as blocking or removing from a list. No exclusions or alternative tool names mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_contact_listDelete Contact ListADestructiveIdempotentInspect
Permanently delete a contact list. System-protected lists (e.g., 'Do Not Contact') cannot be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the contact list to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds 'Permanently delete' and the exclusion for system-protected lists, providing context beyond annotations. However, it lacks details on permissions, confirmation, or error handling. Annotations already indicate destructiveHint=true, so the description's added value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, immediately states the action and a key constraint. No fluff, every word adds 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?
Simple tool with one parameter, but lacks output description (e.g., success confirmation, error responses). The description is adequate but could be more complete with typical 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 covers 100% of parameter description; the description adds no extra meaning beyond 'idOrSlug' being a UUID or slug. Baseline score of 3 is appropriate as schema does the heavy lifting.
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?
Clearly states the tool deletes a contact list, with specific verb and resource. Distinguishes itself by mentioning system-protected lists cannot be deleted, differentiating from other delete tools for 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?
No guidance on when to use this tool vs alternatives. Does not mention prerequisites, context, or scenarios where this tool is appropriate versus other list operations like update or merge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_kb_entryDelete Knowledge Base EntryADestructiveIdempotentInspect
Permanently delete a specific entry from a knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| kbId | Yes | Unique identifier of the knowledge base | |
| entryId | Yes | Unique identifier of the entry to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and idempotentHint=true. The description adds only 'permanently delete', which aligns but doesn't provide additional behavioral context like error handling or behavior if entry doesn't exist.
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 with 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?
For a simple two-parameter tool with good annotations, the description is sufficient. It could mention idempotency or error handling, but these are not critical given the 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 coverage is 100% with both parameters described. The description does not add any further meaning beyond what the schema provides, so baseline 3 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 action (delete), resource (knowledge base entry), and scope (specific entry). It distinguishes from sibling tools like neuron_delete_knowledge_base (different resource) and neuron_update_kb_entry (update vs delete).
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 this tool vs alternatives. The description implies usage for deletion but doesn't provide context like prerequisites, reversibility, or when not to use it among many delete siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_knowledge_baseDelete Knowledge BaseADestructiveIdempotentInspect
Permanently delete a knowledge base and all its associated entries and documents.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and idempotent behavior. The description adds that deletion is permanent and cascades to associated entries and documents, providing useful 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 front-loaded with the action and object, containing no unnecessary 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?
For a deletion tool with one parameter and no output schema, the description covers the essential behavioral effect and resource scope completely.
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 100% with a clear description for the 'id' parameter. The tool description adds no additional semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'delete' and identifies the resource 'knowledge base', further clarifying scope with 'all its associated entries and documents'. It clearly distinguishes from sibling delete 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 implies use when permanent deletion is desired, but no explicit when-not-to-use or alternative tools (e.g., detach_knowledge_base) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_messageDelete MessageADestructiveIdempotentInspect
Permanently delete a specific message from a conversation. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation | |
| msgId | Yes | Unique identifier (UUID) of the message to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true; the description adds 'cannot be undone' which is consistent but doesn't elaborate on side effects like permissions or visibility to other users.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that effectively communicate the core purpose and key behavioral trait (permanence). No extraneous 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?
Simple tool with clear input schema and annotations; description adequately covers the essential behavior for an agent to decide invocation. Could mention that the user must own the message or have permissions, but not critical.
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?
Both parameters have descriptions in the schema (100% coverage). Description adds no additional meaning beyond schema definitions.
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 (permanently delete), the target (specific message from a conversation), and emphasizes irreversibility. It distinguishes from sibling edit and forward 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 explicit guidance on when to use this tool versus alternatives like edit_message or simply hiding messages. No mention of prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_newsletterDelete NewsletterADestructiveIdempotentInspect
Permanently delete a WhatsApp Channel newsletter and remove it from WhatsApp. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the newsletter to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the destructiveHint annotation by stating the action is permanent and cannot be undone. It adds a small detail about removal from WhatsApp but does not significantly extend beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states the purpose and key trait (permanence). It is front-loaded and contains no unnecessary 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?
For a simple deletion tool with one required parameter and no output schema, the description adequately covers the essential information: what it deletes and that it is irreversible.
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 covers the single parameter 'id' with a clear description. The tool description adds no additional parameter semantics, so the baseline score of 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'WhatsApp Channel newsletter', specifying that it permanently removes it. This distinguishes it from other deletion tools for different entities like bots, channels, or contacts.
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 does not provide guidance on when to use this tool versus alternatives, such as archiving or hiding a newsletter. It only states the effect without any context on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_outbound_webhookDelete Outbound WebhookADestructiveIdempotentInspect
Permanently remove an outbound webhook. The external endpoint will no longer receive event notifications from this bot.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the outbound webhook to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds context about permanence and the effect on notifications, going 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?
Two sentences, no fluff, front-loaded. Every sentence 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?
Given one parameter, no output schema, and annotations providing safety profile, the description is complete. It covers purpose, effect, and permanence adequately.
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 100% and the parameter description is already in the schema. The description does not add additional meaning or usage details for the parameter.
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 specific verb 'remove' and resource 'outbound webhook', and states the effect on event notifications. It clearly distinguishes from sibling tools like create, update, list, and get logs.
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 permanently stopping notifications but does not explicitly provide when-to-use vs alternatives or prerequisites. Context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_personaDelete PersonaBInspect
Delete a voice persona.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persona UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Delete a voice persona', which is a destructive action, but the annotation destructiveHint is false. This is a direct contradiction indicating the tool may not be destructive when it actually is. No additional behavioral context is provided beyond the deletion.
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 with no redundant wording. It efficiently conveys the core purpose without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple delete operation, but the description lacks essential context about permanence, potential side effects (e.g., impact on bots using the persona), or return values. Given the contradictory annotation and lack of output schema, the description is not sufficiently complete for an agent to fully understand consequences.
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 already fully describes the single parameter 'id' as 'Persona UUID', so schema coverage is 100%. The description adds no further meaning to the parameter, matching the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a voice persona' clearly states the action (delete) and the resource (voice persona). It is specific and distinguishes from sibling delete tools by focusing on persona, though it does not explicitly differentiate from other delete_* 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?
The usage context is implied: you would use this tool when you want to delete a persona. However, there is no explicit guidance on when to use this versus alternatives like update_persona or build_persona, nor any mention of prerequisites or effects on related entities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_social_channelDelete Social ChannelADestructiveIdempotentInspect
Permanently delete a social media channel and disconnect any active sessions. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds value beyond annotations: states permanence and disconnection of active sessions. Aligns with destructiveHint=true, 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?
Two concise sentences with no filler. Front-loaded with key action and consequence.
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?
Simple tool with one param and no output schema. Description adequately covers destructive nature and session cleanup.
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?
Single parameter 'id' is fully described in schema (100% coverage). Description adds no extra meaning beyond 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?
Description clearly states verb (delete), resource (social media channel), and permanence (cannot be undone). Differentiates from siblings like neuron_delete_channel by specifying 'social'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidelines. Purpose is clear but lacks guidance on alternatives among sibling delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_taskDelete Bot TaskADestructiveInspect
Delete a scheduled task. This is a soft delete — the task stops running immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the task |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it introduces the concept of a soft delete and notes that the task stops running immediately. While the destructiveHint annotation already signals a destructive operation, the soft delete detail is extra and useful, with 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?
The description is tightly written in two short sentences, front-loading the core purpose and then adding the key behavioral nuance. Every word earns its place with 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?
For a simple single-parameter delete tool, the description covers the essential information: what it deletes, that it's a soft delete, and that it stops immediately. The lack of output schema is acceptable for a delete operation, and annotations cover the destructive aspect. Slightly more detail on the effects of soft delete could improve it, but it's already sufficiently complete.
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 already fully describes the sole parameter 'id' as a UUID of the task, so with 100% schema coverage, the baseline is 3. The description does not add parameter-specific details, but none are needed given the schema's completeness.
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 'Delete a scheduled task' with a specific verb and resource, and further clarifies it's a soft delete that stops the task immediately. This distinguishes it from sibling delete tools like delete_message or delete_contact.
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 neuron_toggle_task or neuron_pause_bot. It only states what it does, leaving usage decisions to the agent without explicit exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_toolDelete ToolADestructiveIdempotentInspect
Permanently remove a custom API tool integration from a bot. The bot will no longer be able to invoke this tool in conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the tool to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and idempotent behavior. Description adds context about the tool no longer being invocable, complementing annotations without 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?
Two concise sentences with no filler. Every word serves a 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?
For a simple delete operation with good annotations and full schema, the description is complete. It covers the action, effect, and required input.
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?
Only one parameter 'id' with full schema description coverage. Description adds no extra meaning beyond the schema, meeting baseline.
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?
Clearly states the action (permanently remove) and resource (custom API tool integration from a bot). Distinguishes from sibling tools like create, update, and test.
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?
Implies when to use (when deletion is needed) but lacks explicit when-not-to-use or alternatives. Adequate for a simple operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_delete_webhookDelete WebhookADestructiveIdempotentInspect
Permanently remove an inbound webhook from a bot. External services will no longer be able to trigger this endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the webhook to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description adds valuable context that deletion is permanent and affects external service triggering, which clarifies the impact beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the action and consequence with no extraneous words. Every sentence adds 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 simple delete tool with one parameter, the description covers the core effect. However, it could mention idempotency (already annotated) or any required permissions, but overall sufficient for 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?
The single parameter 'id' is fully described in the schema (100% coverage). The description's mention of 'Unique identifier (UUID)' adds no new information beyond the schema's own 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 specifies the action ('Permanently remove') and the resource ('inbound webhook from a bot'), effectively distinguishing it from sibling tools like create_webhook, update_webhook, and delete_outbound_webhook.
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?
While it's clear the tool is for deleting a webhook, it does not explicitly state when to use this tool versus alternatives (e.g., delete_outbound_webhook) or any prerequisites (e.g., bot ownership). The usage context is implied but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_detach_knowledge_baseDetach Knowledge BaseADestructiveIdempotentInspect
Remove a knowledge base from a bot. The bot will no longer reference this knowledge base when generating responses.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot | |
| kbId | Yes | Unique identifier (UUID) of the knowledge base to detach |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (destructive=true, idempotent=true) but does not add additional behavioral context. It does not mention if the action is reversible, what happens to bot responses during detachment, or any side effects beyond 'no longer referenced'.
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 consists of two concise sentences with no unnecessary words. It is front-loaded with the primary action and effect.
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 two required parameters, full schema coverage, and annotations, the description is adequate but lacks context about the operational impact (e.g., bot state after detachment, reattachment possibility). It does not mention any prerequisites 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?
Schema coverage is 100% and both parameters have descriptions in the schema. The tool description adds no new meaning beyond what the schema already provides; it merely restates the action.
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 'remove' (detach) and the resource 'knowledge base from a bot', and specifies the effect 'will no longer reference this knowledge base'. This distinguishes it from sibling tools like neuron_attach_knowledge_base and neuron_delete_knowledge_base.
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., delete_knowledge_base), prerequisites, or conditions under which detachment is appropriate. It only states the basic functionality without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_draft_taskDraft Bot Task with AIARead-onlyIdempotentInspect
Turn a plain-English description into a structured task spec (title, instruction, scheduleKind, schedule, timezone, config) WITHOUT creating it. Use the returned draft as input to neuron_create_task after any edits.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | UUID of the bot | |
| prompt | Yes | Plain-English description of the task, e.g. 'every morning at 8am, message 10 people we haven't heard from in 10+ days with our intro offer'. | |
| timezone | No | IANA timezone to assume (e.g. Africa/Lagos). |
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, and the description reinforces this with 'WITHOUT creating it'. It adds useful workflow context about the returned draft fields and its role as an intermediate step, going slightly beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the main action, and every clause earns its place. It states the transformation, the non-mutation constraint, and the downstream use in one compact, scannable block.
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?
There is no output schema, but the description compensates by enumerating the draft fields (title, instruction, scheduleKind, schedule, timezone, config) and explaining the workflow connection to neuron_create_task. It is sufficiently complete for a drafting tool with annotations covering the side-effect profile.
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%, with clear parameter descriptions for botId, prompt, and timezone. The description adds context by linking prompt to the output spec and mentioning timezone in the output field list, but it does not materially extend the schema's parameter documentation. Baseline 3 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 uses a specific verb ('Turn... into') and names the exact resource ('structured task spec') and output fields. It explicitly distinguishes from the sibling neuron_create_task by stating the draft is NOT created, so there is no confusion with nearby create/update/run task 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 clearly states when to use the tool: to produce a draft before creating a real task, and explicitly directs the agent to use the returned draft as input to neuron_create_task after edits. This provides concrete workflow guidance and implicitly excludes using this tool for final creation or updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_edit_messageEdit MessageAIdempotentInspect
Edit the content of a previously sent message in a conversation. Only the message sender can edit their messages.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation | |
| msgId | Yes | Unique identifier (UUID) of the message to edit | |
| content | Yes | New text content to replace the existing message |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (idempotentHint=true, destructiveHint=false) and adds the important behavioral detail that only the sender can edit. It does not contradict annotations and provides useful context 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?
The description is two concise sentences that front-load the essential purpose and constraint. Every word is necessary and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 required params, no output schema) and the annotations, the description is fairly complete. It covers the core behavior and a key constraint, though it could mention error cases or what happens if the message is not found.
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 100%, so the schema already documents all three parameters. The description does not add any additional meaning beyond what the schema provides, so it meets the baseline expectation.
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 'edit' and the resource 'content of a previously sent message'. It distinguishes from sibling tools like send_message and delete_message by specifying that it modifies an existing message. The constraint 'only the message sender can edit' further clarifies its 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?
The description provides a clear condition for usage: 'Only the message sender can edit their messages.' This helps the agent decide when to use this tool, though it does not explicitly mention alternatives 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.
neuron_export_contactsExport ContactsARead-onlyIdempotentInspect
Export all contacts as a downloadable dataset for the current organization.
| 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, destructiveHint. The description adds 'downloadable dataset' implying file output, but does not detail format, size limits, or side effects. Adequate but minimal addition 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?
Single sentence, no wasted words, directly states what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only export with good annotations, the description is mostly complete. Lacks specification of output format or how the download is triggered, but acceptable given simplicity.
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 per rules. 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?
Description clearly states the verb 'export' on resource 'contacts' with scope 'all' and 'downloadable dataset', distinguishing it from sibling tools like list_contacts or get_contact which likely return data differently.
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 this tool versus alternatives like list_contacts or import_contacts. It only mentions 'for the current organization', but lacks context on when an export is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_extract_leadsExtract Leads (ad-hoc)AInspect
Run a one-off extraction WITHOUT creating a persistent source, saving the results to the lead pool. Great for pasted text or a web page. type + config as in neuron_create_lead_source (e.g. type='text_paste', config={text}).
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Lead source type. facebook = Meta Ads Library advertisers; web/IG/X/FB scraping needs DeepAPI configured; TikTok has no native provider (use tool_output). | |
| config | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false and provide no safety cues. The description adds key behaviors: non-persistent source, results saved to the lead pool, and suitability for text/web input. However, it omits details about return values, duplicate prevention, or execution mode (sync/async), leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and includes a use case and a parameter example. No wasted words; every sentence adds 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?
Given no output schema and nested config, the description provides a clear destination (lead pool) and a reference to a sibling tool for config details. It does not specify return values or execution behavior, but for ad-hoc extraction with a known sibling, it is reasonably complete.
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 documents the 'type' param but not 'config'. The description adds a concrete example (type='text_paste', config={text}) and directs users to neuron_create_lead_source for the full config pattern. This partially compensates for the schema gap, but config remains under-specified for other source 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 tool runs a one-off extraction without creating a persistent source and saves results to the lead pool. It distinguishes itself from sibling tools like neuron_create_lead_source by explicitly mentioning the absence of persistence, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use the tool (for pasted text or a web page) and contrasts with persistent source creation by saying 'WITHOUT creating a persistent source'. This implies an alternative for persistent use, but it does not explicitly name the alternative or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_find_contact_lists_for_contactFind Contact Lists for ContactARead-onlyIdempotentInspect
Retrieve all contact lists that a specific contact belongs to.
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Unique identifier (UUID) of the contact to look up |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (readOnlyHint, idempotentHint, destructiveHint) but adds no additional behavioral insight beyond what is already declared. With annotations covering safety, this is sufficient.
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, front-loaded sentence with no extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with no output schema, the description is nearly complete. It could optionally mention the response format, but the tool's name and description imply a list of contact lists.
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 100% coverage for the single parameter (contactId). The description does not add extra meaning to the parameter beyond what the JSON schema provides.
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 retrieves all contact lists for a specific contact, using a specific verb ('Retrieve') and resource ('contact lists'). It distinguishes from related tools like get_contact_list, get_contact_list_members, and list_contact_lists.
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 indicates when to use (have a contactId, need lists for that contact) but does not explicitly state when not to use or mention alternative tools. Given the clear purpose, it is still effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_forward_messageForward MessageAInspect
Forward a WhatsApp message from one chat to another. Uses copy-send approach — the message content is re-sent to the destination.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination chat JID | |
| from | Yes | Source chat JID | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| messageId | Yes | WhatsApp message ID to forward |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds value by explaining the copy-send approach, clarifying that the original message remains unchanged. This provides behavioral insight beyond annotations, though it does not cover idempotency or specific 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 extremely concise, with only two sentences. The first sentence front-loads the action and resource, and the second adds a clarifying mechanism. 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?
For a simple forward operation with full schema coverage and no output schema, the description covers the core behavior adequately. It might benefit from mentioning that the destination chat must exist or that it only works within the same instance, but the current description is sufficient for an agent to understand the tool's functionality.
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%, and all four parameters are described in the schema. The description does not add any additional semantic detail beyond what is already in the schema, so it meets the baseline but does not enhance parameter understanding.
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 (forward), the resource (WhatsApp message), and the scope (from one chat to another) with a specific verb and resource. It also explains the mechanism (copy-send approach), distinguishing it from a potential reference-preserving forward. No sibling tool has a similar name or 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?
The description implies usage for forwarding messages but does not provide explicit guidance on when to use this tool versus alternatives like send_message or send_whatsapp. No when-not-to-use or exclusion conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_fund_ad_requestFund Ad RequestAInspect
Fund an approved ad request from the organization wallet. This debits the budget amount and activates the campaign for distribution. If wallet balance is insufficient, returns shortfall information instead of an error.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the approved ad request to fund |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: debiting budget, activating campaign, and handling insufficient balance by returning shortfall info instead of an error. Annotations only indicate mutability (readOnlyHint=false); the description adds valuable detail about side effects and error handling. It does not address idempotency or multiple calls, but overall is sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. The first sentence states the core action, the second adds important error behavior. Every word earns its place, and it is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, minimal annotations), the description covers the main behavioral aspects: action, source, prerequisite (approved), effect, and error handling. It omits permission requirements or return format, but those are not critical given the 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 100% schema description coverage, the baseline is 3. The schema already documents adRequestId as 'Unique identifier (UUID) of the approved ad request to fund'. The tool description does not add further semantic insight, nor does it need to.
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 specifies the action ('Fund an approved ad request'), the resource ('ad request'), the source ('organization wallet'), and the effect ('debits the budget amount and activates the campaign'). It distinguishes from sibling tools like create, update, pause, or delete ad request.
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 should be used for approved ad requests, but does not explicitly state when to use it versus alternatives like submit_ad_request or update_ad_request. No guidance on prerequisites or exclusions is provided, though the sibling set is large.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_fund_campaignFund CampaignAInspect
Fund an approved campaign by deducting the total budget from the organization's wallet balance. Requires sufficient wallet funds.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the approved campaign to fund |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that the tool deducts wallet balance, indicating a mutation. However, it does not disclose error behavior (e.g., insufficient funds) or idempotency, and annotations are minimally informative. More context on side effects would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no superfluous information. Front-loaded with action and resource, followed by prerequisite. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the action, resource, effect (deduction), and prerequisite. Given a single parameter and no output schema, it is mostly complete, though it could mention return value or success/failure indication.
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 sole parameter 'id' is well-documented in the schema (UUID of approved campaign). The description does not add meaning beyond the schema, and schema coverage is 100%, so baseline score of 3 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 'Fund', resource 'approved campaign', and mechanism 'deducting from wallet balance'. It distinguishes from campaign creation, submission, pausing, etc. by specifying the action on approved campaigns.
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 a prerequisite (sufficient wallet funds) and implies the campaign must be approved, but does not explicitly state when to use this tool versus alternatives like neuron_fund_ad_request, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_fund_walletFund WalletAInspect
Initialize a wallet funding transaction via Paystack. Returns a checkout URL to complete the payment in a browser.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to receive the payment receipt | ||
| amount | Yes | Amount to fund in the smallest currency unit — kobo for NGN (e.g., 500000 = NGN 5,000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-destructive mutation. The description adds that the tool returns a checkout URL for browser payment, but it does not disclose what happens if the payment is cancelled, whether the transaction ID is needed later, or if there are rate limits. More behavioral context would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. The most important information (what it does and what it returns) is front-loaded.
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 the description's mention of a 'checkout URL' provides essential context. However, it lacks details on the response format, authentication requirements, and error scenarios. For a financial transaction tool, this feels incomplete.
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 covers 100% of parameters with descriptions. The amount description clarifies the unit (kobo) and provides an example. The email description specifies 'payment receipt', adding value beyond the schema type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it initializes a wallet funding transaction via Paystack and returns a checkout URL. It distinguishes from sibling tools like neuron_fund_ad_request and neuron_wallet_balance by specifying the 'wallet' resource and the payment flow.
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 wallet funding but does not explicitly state when to use it versus alternatives (e.g., neuron_fund_campaign). No prerequisites or exclusions are mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_generate_from_personaGenerate Content in VoiceBInspect
Generate content written in the persona's voice for a topic/brief. Returns N variations. Stateless — nothing is persisted.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persona UUID | |
| count | No | Number of variations (1-10, default 1). | |
| topic | No | What to write about. | |
| format | No | Desired format (post, reply, caption, thread, DM...). | |
| platform | No | Target platform (instagram/x/tiktok/linkedin/facebook/whatsapp...). | |
| extraInstructions | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Stateless — nothing is persisted,' which directly contradicts the annotation readOnlyHint=false (indicating the tool is not read-only). Per the rule, a description contradicting annotations earns a score of 1. This is a clear annotation 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?
The description is two sentences with no fluff. It front-loads the primary action, includes the key output behavior, and the stateless note. Every word contributes to understanding the tool.
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 moderate complexity (6 params, no output schema) and weak annotations, the description covers the main purpose, return behavior, and side-effect profile (stateless). It omits details like the required 'id' parameter usage or response structure, but these are partially covered by schema. The annotation contradiction slightly reduces completeness, but the description itself is fairly complete.
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 83% (>80%), so baseline is 3. The description adds little beyond the schema: it uses 'topic/brief' echoing the 'topic' parameter and 'N variations' paraphrasing the 'count' parameter description. No significant new parameter meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Generate content written in the persona's voice') and the output ('Returns N variations'), distinguishing it from siblings like neuron_compose_message or neuron_rewrite_text by its focus on persona-specific generation.
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 context ('for a topic/brief' and 'Stateless') but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or recommended use cases. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_ad_requestGet Ad RequestARead-onlyIdempotentInspect
Get detailed information about a specific ad request, including pool selections if targeting mode is manual.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the ad request |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description confirms read-only behavior (consistent with readOnlyHint=true and destructiveHint=false) and adds conditional behavior about pool selections. No annotation 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 with 20 words, front-loaded with key action and resource. Efficient and clear.
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?
Adequate for a simple read tool with one parameter. Provides essential behavioral info (detailed info, conditional pool selections). Lacks mention of return format or error cases but not critical.
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 covers parameter with description; baseline 3. Description adds value by explaining output condition (pool selections for manual mode), enhancing context beyond 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?
Clearly states verb 'Get' and resource 'ad request', with specific detail about including pool selections for manual targeting mode. Distinguishes from sibling tools like list_ad_requests and update_ad_request.
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?
Implies use when needing detailed info on a single ad request. Lacks explicit mention of when to use alternative list_ad_requests, but context makes it clear. Could improve by stating not for listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_ad_request_analyticsGet Ad Request AnalyticsARead-onlyIdempotentInspect
Retrieve delivery analytics and performance breakdown for a specific ad request, including delivery rates and cost metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the ad request to get analytics for |
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 safety profile is clear. The description adds that it retrieves delivery rates and cost metrics, which aligns with annotations but adds little extra 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 16-word sentence that is front-loaded with the verb and resource. Every word adds value and there is no redundancy or irrelevant 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 mentions 'delivery rates and cost metrics', providing a reasonable expectation of the return values. However, it could be more comprehensive by listing specific metrics or differentiating from similar analytics tools like get_bot_analytics.
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 100% and the schema description for adRequestId is clear ('Unique identifier (UUID) of the ad request to get analytics for'). The tool description does not add additional meaning to the parameter beyond what the schema provides.
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 the verb 'Retrieve' and specifies the resource 'delivery analytics and performance breakdown for a specific ad request', including delivery rates and cost metrics. This clearly distinguishes the tool from siblings like get_ad_request and list_ad_requests.
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 is provided on when to use this tool versus alternatives. The description implies usage by stating what it retrieves, but does not mention when not to use it or suggest alternative tools for different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_approvalGet ApprovalARead-onlyIdempotentInspect
Fetch a single approval request by id, including its decision once resolved. Set waitSeconds (1–60) to long-poll until it resolves. Requires a bot API key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| approvalId | Yes | The approval request id (UUID) | |
| waitSeconds | No | Long-poll up to N seconds for resolution |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, providing safety expectations. The description supplements this by disclosing the long-polling behavior, inclusion of the decision once resolved, and the authentication requirement (bot API key). These are useful behavioral traits beyond the annotations, and there is 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?
The description is two sentences, front-loaded with the main purpose, and every sentence adds value: the primary action, the long-poll option, and the auth requirement. No redundant or vague phrasing.
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 required params), the rich annotations, and full schema coverage, the description is well-rounded. It explains what is fetched, the optional long-polling, and auth. No output schema exists, but the return value is implied ('including its decision'). Slightly more detail on the returned object could be added, but it's sufficient.
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 100% coverage with clear descriptions for all three parameters (apiKey, approvalId, waitSeconds). The description adds minimal semantics beyond the schema, merely restating waitSeconds' purpose and range. Baseline 3 is appropriate since the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and clearly identifies the resource ('single approval request by id'), plus the additional context of including the decision once resolved. This distinguishes it from sibling tools like list_approvals or respond_approval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use it: fetching a single approval by id, and the optional long-polling behavior via waitSeconds. It doesn't explicitly mention alternatives, but the scope is evident from the wording; no exclusions are stated but are not necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_bank_accountGet Bank AccountARead-onlyIdempotentInspect
Retrieve the saved bank account details currently configured as the organization's payout destination.
| 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, so agent knows it's safe. Description adds that it retrieves the 'current' payout destination, providing context but not contradicting 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?
One concise sentence clearly stating the tool's purpose with no extraneous words. 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?
For a no-parameter, read-only tool with comprehensive annotations, the description is complete. It clearly specifies what is retrieved and its context (payout destination).
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 has 0 parameters with 100% coverage, so no need for parameter description. Baseline 4 is appropriate as description adds no extra 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?
Description clearly states the verb 'Retrieve' and resource 'saved bank account details' with scope 'organization's payout destination'. It distinguishes from siblings like neuron_save_bank_account (write) and neuron_verify_bank_account (verification).
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?
Description implies usage for reading existing payout configuration but lacks explicit when-to-use or alternatives guidance. Context from sibling names helps, but description could be more helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_billingGet Billing InfoARead-onlyIdempotentInspect
Retrieve the current billing information, subscription plan, and usage details for the organization.
| 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, idempotentHint, destructiveHint. Description adds that it retrieves billing, subscription, and usage details, but doesn't disclose any additional behavioral traits (e.g., no mention of caching, rate limits, or organization context). Without annotations, this would be insufficient; with annotations, it's adequate but not enhanced.
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, no filler. Every word adds meaning. Efficient and front-loaded.
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 comprehensive annotations, the description fully covers what the tool does. No additional context is necessary for a straightforward read 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?
No parameters exist, and schema coverage is 100% (vacuous). The description doesn't need to add parameter info. Baseline for zero parameters is 4, and the description doesn't detract.
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 retrieves billing info, subscription plan, and usage details. The verb 'Retrieve' and resource 'billing information' are specific, and the tool name 'neuron_get_billing' matches. Among many sibling 'get' tools, this is the only one focused on billing, so differentiation is inherent.
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 vs alternatives. Since it's the only billing tool, usage context is implied, but no when-not or alternative suggestions are provided. Adequate but lacks active direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_blocklistGet BlocklistARead-onlyIdempotentInspect
Fetch the list of all blocked WhatsApp contacts for the bot on the given channel.
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. Description adds scope ('for the bot on the given channel') but does not disclose response format or pagination, which could be 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?
Single sentence, 17 words, front-loaded with verb and object. No redundant 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 tool's simplicity and annotations, the description is adequate for a retrieve operation. However, missing output schema means the agent may need to infer the structure of the returned list.
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 100% with one parameter fully described. The description adds minimal meaning beyond 'channelId' being a UUID for the WhatsApp channel.
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 specific verb 'Fetch' and resource 'blocklist', clearly indicating it retrieves blocked WhatsApp contacts. It differentiates from sibling tools like neuron_block_contact and neuron_unblock_contact.
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 use when needing to view blocked contacts, but lacks explicit guidance on when not to use or alternatives. No contrast with related tools like neuron_list_whatsapp_contacts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_blog_postGet Blog PostARead-onlyIdempotentInspect
Retrieve a single blog post by its URL-friendly slug, including full content and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | URL-friendly slug of the blog post (e.g., 'my-first-post') |
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, indicating a safe read. The description adds 'including full content and metadata', which clarifies output scope. However, no additional behavioral traits (e.g., auth requirements, 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?
Single sentence, front-loaded with the action and resource, no unnecessary words. Highly concise and directly informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and strong annotations, the description is complete. It specifies what is returned (full content and metadata) and how to identify the post (slug). No output schema 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?
Input schema has one parameter 'slug' with a clear description. Schema description coverage is 100%, so the description adds no extra meaning beyond what the schema provides. Baseline score of 3 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?
Description clearly states the verb 'Retrieve', the resource 'blog post', the key identifier 'slug', and the scope 'full content and metadata'. It easily distinguishes from sibling tools like 'list_blog_posts' and 'create_blog_post'.
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?
Description implies usage for fetching a single post by slug, but does not explicitly state when to use this tool versus alternatives like 'list_blog_posts' or 'search_blog_posts'. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_botGet BotARead-onlyIdempotentInspect
Retrieve detailed information about a specific bot including its configuration, status, and associated resources.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot |
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 no extra behavioral context beyond confirming it retrieves information. No contradiction, but no additional 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, front-loaded sentence that clearly communicates the tool's purpose with 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?
Given it's a simple read operation with one parameter and annotations present, the description covers the essential purpose. However, it doesn't specify the return format or what 'detailed information' includes, which could be improved.
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 sole parameter 'id' is fully described in the schema with 'Unique identifier (UUID) of the bot'. Schema coverage is 100%, so the description adds no further meaning beyond the schema baseline.
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 (retrieve), resource (specific bot), and scope (detailed information including configuration, status, and associated resources). It effectively distinguishes from siblings like list_bots and update_bot.
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?
While there is no explicit when/when-not guidance, the context is clear for a simple retrieval operation. The description implies usage for fetching bot details, but does not mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_bot_analyticsGet Bot AnalyticsARead-onlyIdempotentInspect
Retrieve analytics and usage statistics for a specific bot, including message counts, response times, and conversation metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot to retrieve analytics for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds specific behavioral context by detailing the types of analytics returned (message counts, response times, conversation metrics), which goes 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, front-loaded sentence that efficiently communicates the core purpose and provides example metrics. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's functionality given its simplicity (one parameter, read-only). It lists example outputs (message counts, response times, conversation metrics), but could be more explicit about the output structure or any additional context like time range.
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 100% with one parameter 'id' already described. The description does not add new information about the parameter beyond restating it identifies a specific bot. Baseline score of 3 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 tool retrieves analytics and usage statistics for a specific bot, listing specific metrics (message counts, response times, conversation metrics). This distinguishes it from sibling tools like get_bot or list_bots.
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 use for analytics retrieval but does not explicitly state when to use this tool versus alternatives such as get_bot or list_bots. No guidance on prerequisites or exclusionary conditions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_broadcastGet BroadcastARead-onlyIdempotentInspect
Retrieve detailed information about a specific broadcast, including its status, message content, and recipient summary.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the broadcast to retrieve |
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 description's addition of data fields (status, message content, recipient summary) provides some context but does not reveal behavioral traits beyond what annotations convey. No contradiction with 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 unnecessary words. It is front-loaded with the action and resource, making it 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?
The description covers the key return components (status, message content, recipient summary) for a simple retrieval tool. No output schema exists, but the description is adequate given the tool's straightforward purpose. Minor improvement could include mentioning any additional fields.
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 100% coverage: the only parameter 'id' includes a description. The tool description does not add further meaning beyond the schema, so baseline 3 applies.
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 'Retrieve detailed information about a specific broadcast', using a specific verb (retrieve) and resource (broadcast). It lists the included fields (status, message content, recipient summary), distinguishing it from sibling tools like get_broadcast_recipients or list_broadcasts.
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 (when you need details of a specific broadcast) but does not explicitly guide when to use this tool versus alternatives like get_broadcast_recipients or list_broadcasts. No exclusions or contextual tips are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_broadcast_recipientsGet Broadcast RecipientsARead-onlyIdempotentInspect
Retrieve the paginated list of recipients for a specific broadcast with their individual delivery status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the broadcast | |
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of recipients per page (default: 20) | |
| status | No | Filter recipients by delivery status (e.g., 'delivered', 'failed', 'pending') |
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 tool's safety profile is clear. The description adds that results are paginated and include delivery status, but does not detail permissions, rate limits, or other behaviors. With annotations covering core traits, this is adequate.
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 sentence of 16 words that effectively communicates the core purpose. It is concise with no filler, front-loading the main 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?
The description covers the basic function but lacks details on output format or response structure, which would be helpful given no output schema. For a simple read-only paginated list tool, it is minimally complete but could mention what fields are returned (e.g., recipient ID, 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?
Schema coverage is 100% with each parameter described. The tool description mentions pagination and delivery status, which adds context but does not provide new meaning beyond the schema. Baseline of 3 is appropriate since the schema already documents the parameters adequately.
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 'Retrieve' and the resource 'paginated list of recipients for a specific broadcast', and adds key details like pagination and delivery status. It distinguishes from sibling tools like neuron_get_broadcast or neuron_list_broadcasts by focusing on recipients.
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 this tool versus alternatives. The description implies you need a broadcast ID but does not mention prerequisites or when not to use it. Among siblings, there are multiple list/get tools, and no differentiation criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_business_profileGet Business ProfileARead-onlyIdempotentInspect
Fetch the WhatsApp Business profile of an external contact, including description, website, category, and business hours.
| Name | Required | Description | Default |
|---|---|---|---|
| jid | Yes | Contact JID or phone number to look up (e.g. '2348012345678' or '2348012345678@s.whatsapp.net') | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive behavior. The description adds value by specifying the fields included (description, website, category, business hours), which goes beyond the 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, front-loaded sentence that conveys all essential information without any wasted words. Every part serves a 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 simplicity of the tool (two parameters, no output schema) and the annotations covering safety, the description provides sufficient context. It lists the data returned (fields). However, it could be slightly more precise about whether additional fields beyond those listed may be returned.
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 covers 100% of parameter descriptions (jid and channelId). The tool description does not add any additional parameter information beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('fetch'), the resource ('WhatsApp Business profile of an external contact'), and lists the included fields (description, website, category, business hours). This distinguishes it from related tools like neuron_get_profile (own profile) and neuron_get_contact (basic info).
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 when to use the tool (to fetch business-specific profile data of an external contact) but does not explicitly state when not to use it or mention alternatives. Given the sibling list includes many get tools, a brief exclusion would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_campaignGet CampaignARead-onlyIdempotentInspect
Retrieve detailed information about a specific campaign including its status, budget, participants, and delivery metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the campaign |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, confirming a safe read operation. The description adds value by specifying the data categories returned (status, budget, participants, delivery metrics), which is not in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single sentence, front-loading the verb and resource, with no unnecessary 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?
For a simple retrieval tool with one parameter and no output schema, the description sufficiently outlines the returned information. It covers the key aspects expected from a 'get' operation.
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% for the single 'id' parameter. The description does not add any additional meaning beyond the schema's 'Unique identifier (UUID) of the campaign'. Baseline 3 applies.
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 'Retrieve' and the resource 'campaign', and specifies the returned fields (status, budget, participants, delivery metrics). It distinguishes itself from siblings like 'neuron_list_campaigns' by focusing on a single campaign.
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 when to use (need detailed info on one campaign), but does not explicitly mention when not to use or compare to alternatives like 'neuron_list_campaigns' for listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_channelGet ChannelARead-onlyIdempotentInspect
Retrieve detailed information about a specific WhatsApp channel, including its configuration, type, and connection status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already indicate a safe read operation. The description adds value by specifying the kind of information retrieved (configuration, type, connection status), which goes beyond annotation 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?
The description is a single, efficient sentence that conveys all necessary information without filler. It front-loads the verb 'retrieve' and resource 'detailed 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?
With one well-documented parameter and annotations present, the description is mostly complete. It omits explicit mention of error handling or scope (e.g., implying WhatsApp channel only), but for a read-only tool, this is acceptable.
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 provides 100% coverage with a clear description for the 'id' parameter. The tool description does not add additional meaning or constraints beyond the schema, so baseline 3 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 tool retrieves detailed information about a specific WhatsApp channel, including configuration, type, and connection status. It distinguishes from sibling tools like neuron_get_channel_status and neuron_get_channel_events by focusing on comprehensive details.
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 does not provide explicit guidance on when to use this tool over alternatives, nor does it mention prerequisites or typical use cases. While the purpose is clear, context for agent decision-making is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_channel_eventsGet Channel EventsARead-onlyIdempotentInspect
Retrieve the event log for a channel, including connection events, message events, and errors. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel | |
| page | No | Page number for pagination (starts at 1) | |
| limit | No | Number of events to return per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is read-only, idempotent, and non-destructive. The description adds value by detailing event types and pagination. 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 two sentences, front-loaded with the action and includes critical details. 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?
For a 3-parameter read-only tool with no output schema, the description is fairly complete. It lacks return format details but covers event types and pagination adequately.
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 100% with clear parameter descriptions. The description adds minimal extra meaning beyond the schema, only implying pagination parameters.
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 retrieves the event log for a channel, specifying types of events (connection, message, errors). This distinguishes it from sibling tools like neuron_get_channel (channel info) or neuron_get_messages (message content).
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 viewing event history and mentions pagination, which guides usage for large logs. However, it lacks explicit alternatives or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_channel_qrGet Channel QR CodeARead-onlyIdempotentInspect
Retrieve the current QR code for pairing a Baileys channel with WhatsApp. A session must be started first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the Baileys channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. Description adds the session prerequisite, which is critical behavioral context. No contradictions or misleading statements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. Front-loaded with the core action, followed by a critical constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (single parameter, no output schema), the description provides sufficient context. Could mention QR code expiration or pairing details, but not necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with a description for 'id'. Description does not add additional meaning beyond schema. Baseline 3 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?
Clearly states the action ('Retrieve') and resource ('current QR code for pairing a Baileys channel with WhatsApp'). Distinguishes from sibling channel tools by specifying QR code retrieval. Includes a prerequisite, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states a precondition ('A session must be started first'). Does not compare with alternatives or say when not to use, but the context is clear enough for correct selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_channel_statusGet Channel StatusARead-onlyIdempotentInspect
Retrieve the current connection status and session details for a specific channel (e.g., connected, disconnected, qr_pending).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds that the tool returns 'current connection status and session details', providing context beyond annotations. It is clear about the type of data retrieved but doesn't elaborate on response 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 with key information (verb and resource), no unnecessary words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is sufficiently complete. It explains what the tool retrieves and provides example statuses. Could be enhanced with return value hints but not essential.
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 100% with parameter 'id' described as UUID. Tool description does not add additional meaning beyond the schema, so baseline of 3 applies.
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 retrieves connection status and session details for a specific channel, with examples of status values. It distinguishes from sibling tools like 'neuron_get_channel' which likely returns full channel info.
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 this tool versus alternatives like 'neuron_get_channel' or 'neuron_get_channel_events'. The description implies it's for status checking but does not state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_contactGet ContactARead-onlyIdempotentInspect
Retrieve detailed information about a specific contact including their tags, notes, and associated lists.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the contact |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the tool is clearly read-only. The description adds value by specifying what information is returned (tags, notes, lists) beyond what annotations convey. 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 with no redundant words. It efficiently conveys the purpose and key details without unnecessary elaboration.
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 retrieval tool with no output schema, the description adequately hints at the return structure by listing tags, notes, and associated lists. It does not cover all possible fields but uses 'including' to indicate partial enumeration, which is reasonable.
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 100% with a clear description for the 'id' parameter. The description does not add additional meaning or format constraints beyond what the schema already provides, so it meets the baseline.
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 'Retrieve' and resource 'detailed information about a specific contact', listing specific included fields (tags, notes, associated lists). This distinguishes it from sibling tools like neuron_list_contacts (which lists many contacts) and neuron_get_contact_list (which gets a list resource), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single contact's details when you have its ID, but it does not explicitly state when to use this tool versus alternatives like search_contacts or list_contacts. No exclusions or context about prerequisites are provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_contact_listGet Contact ListARead-onlyIdempotentInspect
Retrieve detailed information about a specific contact list, including member count and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the contact list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds no behavioral traits beyond stating what information is retrieved (member count, configuration), which is helpful but not required per 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?
One sentence, no wasted words, front-loaded with the verb 'retrieve'. 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 output schema, the description hints at return values (member count, configuration). Simple tool with one parameter; description is sufficient but could mention that it returns detailed info.
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 covers 100% of the single parameter with a clear description. The tool description does not add additional 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 uses a specific verb 'retrieve' and clearly identifies the resource as a 'specific contact list', distinguishing it from siblings like neuron_list_contact_lists which lists many lists, and update/delete 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 explicit guidance on when to use this tool versus alternatives such as neuron_get_contact_list_members or neuron_list_contact_lists. The context of use is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_contact_list_membersGet Contact List MembersARead-onlyIdempotentInspect
Retrieve the members of a specific contact list with optional search filtering and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of items per page (default: 20) | |
| search | No | Search term to filter members by name or phone number | |
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the contact list |
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 a safe read operation. The description adds behavioral details about optional search filtering and pagination, which go beyond the annotations, though it could mention rate limits or response structure.
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 states the action, object, and optional features. Every word earns its place with 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?
Given the simplicity of the tool and the annotations covering safety, the description adequately explains what the tool does. It could mention the return format (list of members with pagination), but the missing output schema reduces the need.
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 covers 100% of parameters with descriptions. The description mentions 'optional search filtering and pagination' but does not add meaningful detail beyond what the schema provides, meeting the baseline.
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 the specific verb 'Retrieve' and identifies the resource as 'members of a specific contact list'. It clearly distinguishes itself from sibling tools like 'get_contact_list' (retrieves the list itself) and 'list_contacts' (lists all contacts).
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 'optional search filtering and pagination' but does not provide explicit guidance on when to use this tool versus alternatives. For example, it does not compare with 'list_contacts' or 'export_contacts', leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_conversationGet ConversationARead-onlyIdempotentInspect
Retrieve detailed information about a specific conversation, including its status, participants, and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation |
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 it returns status, participants, and metadata, but does not disclose new 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?
One sentence, front-loaded with the action and resource, no extraneous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema, the description covers the purpose and key return fields. Could note read-only nature, but annotations cover that. Overall 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?
Schema description coverage is 100% for the single parameter 'id'. The description does not add parameter details, but the schema handles it fully, meeting the baseline.
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 'retrieve' and resource 'conversation', and specifies the scope ('specific'). It distinguishes from sibling list tools like neuron_list_conversations.
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 use when needing details of a specific conversation by ID, but does not explicitly state when to use or exclude alternatives. No conflict with siblings is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_eligible_contactsGet Eligible ContactsARead-onlyIdempotentInspect
Retrieve contacts eligible to receive a campaign message. Respects deduplication rules and mutual contact requirements.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the campaign to check eligibility for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations, such as respecting deduplication rules and mutual contact requirements, which are not captured in the readOnlyHint, idempotentHint, or destructiveHint. This helps the agent understand critical processing 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 extremely concise with two short, front-loaded sentences that cover the core purpose and key behavioral notes without any fluff 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?
While the description covers purpose and some behavioral constraints, it does not describe the return value or structure. Since there is no output schema, the agent is left to assume what the response looks like (likely a list of contacts), which is a gap for completeness.
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 100% for the single parameter 'id,' and the description does not add any extra meaning or usage detail beyond the schema's description of the UUID. The tool description itself does not mention the parameter, so it does not enhance understanding.
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 'Retrieve' and resource 'contacts eligible to receive a campaign message,' and distinguishes itself from sibling tools like 'neuron_get_contact' or 'neuron_search_contacts' by specifying the campaign eligibility context and the additional constraints of deduplication and mutual contact requirements.
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 context (for campaign messaging) but does not explicitly state when to use this tool versus alternatives such as 'neuron_get_contact' or 'neuron_search_contacts.' It lacks clear guidance on when not to use or which sibling tools might be appropriate for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_group_invite_linkGet Group Invite LinkARead-onlyIdempotentInspect
Get the invite link for a WhatsApp group. Only supported on Baileys channels where the bot is a group admin.
| Name | Required | Description | Default |
|---|---|---|---|
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds meaningful constraint: only works on Baileys channels with bot as group admin, which is not in 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?
Two concise sentences. First sentence states purpose, second adds constraint. No unnecessary 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?
Given the tool's simplicity and good parameter descriptions, the description is mostly complete. However, no mention of return value (likely invite link) since output schema is absent. Minor gap.
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 100% with both parameters described. Description adds no extra meaning beyond the schema, so baseline 3 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?
Description clearly states the verb 'get' and the resource 'invite link for a WhatsApp group'. It distinguishes from siblings like 'neuron_revoke_group_invite' by being a retrieval action. The constraint 'Only supported on Baileys channels where the bot is a group admin' adds 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?
Description gives context about supported channels and admin requirement, but does not explicitly state when to use this tool versus alternatives like 'neuron_get_group_participants'. No guidance on 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.
neuron_get_group_participantsGet Group ParticipantsBRead-onlyIdempotentInspect
Retrieve the list of participants in a specific WhatsApp group accessible through a channel.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel | |
| groupJid | Yes | JID (Jabber ID) of the WhatsApp group (e.g., '120363XXX@g.us') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Retrieve' is consistent but adds no additional behavioral context (e.g., rate limits, auth requirements, or response size). 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, no redundant information. Front-loaded with the core action. Every word is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and context adequately given the annotations and schema. However, it omits details about the output format (e.g., participant IDs or names), which could improve completeness.
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 100% with clear descriptions for both parameters (id, groupJid). The tool description does not elaborate on these parameters beyond the schema, meeting the baseline but not adding 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 clearly states 'Retrieve the list of participants' indicating a specific verb and resource. It specifies the context (WhatsApp group via channel), which distinguishes it from generic participant retrieval but does not explicitly differentiate from siblings like 'get_channel' or 'get_contact_list_members'.
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 'neuron_update_group_members' or 'neuron_get_group_invite_link'. The description does not mention prerequisites, exclusions, or usage scenarios, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_knowledge_baseGet Knowledge BaseARead-onlyIdempotentInspect
Retrieve detailed information about a specific knowledge base by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base |
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 tool's safe, read-only behavior is well-documented. The description reinforces this by stating 'retrieve'. It 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?
A single, clear sentence that is front-loaded with the action and resource. No unnecessary words; every part adds 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?
The description lacks details about the output schema or the set of fields returned. Without an output schema, the agent is left with vague 'detailed information'. For a simple read tool, this is minimally adequate but could be more specific.
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 only one parameter 'id' with 100% schema coverage. The description does not add additional meaning beyond the schema's 'Unique identifier of the knowledge base'. Baseline of 3 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 'Retrieve detailed information about a specific knowledge base by its ID.' clearly states the action (retrieve), the resource (knowledge base), and the scope (by ID). It effectively distinguishes from sibling tools like 'list_knowledge_bases' or 'create_knowledge_base'.
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 retrieving a single knowledge base by ID, but it does not explicitly specify when to use this over alternatives like 'list_knowledge_bases' for listing all knowledge bases. No exclusions 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.
neuron_get_messagesGet Conversation MessagesARead-onlyIdempotentInspect
Retrieve messages from a specific conversation in chronological order, with optional cursor-based pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation | |
| limit | No | Maximum number of messages to return per page | |
| cursor | No | Opaque pagination cursor from a previous response for retrieving the next page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotent, read-only, and non-destructive behavior. The description adds value by mentioning chronological ordering and cursor-based pagination, which are key behavioral traits beyond the annotated safety profile.
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, efficiently conveying the tool's core functionality without any redundant information. It is well-structured and 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 the absence of an output schema, the description provides sufficient context (chronological order, pagination) for an agent to understand the tool's behavior. It covers the main aspects needed for invocation, though it could hint at the return format (e.g., array of message objects).
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?
All parameters are already described in the input schema with 100% coverage. The description adds context about pagination (cursor) but does not provide additional meaning beyond what the schema offers, especially for the 'id' and 'limit' parameters.
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 (retrieve), the target resource (messages from a specific conversation), and key features (chronological order, optional cursor-based pagination). It effectively distinguishes from sibling tools like send_message, edit_message, and delete_message.
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?
While the purpose is clear, there is no explicit guidance on when to use this tool versus alternatives such as neuron_bot_api_get_messages or neuron_get_conversation. The usage context is implied but not stated, which is adequate for a simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_newsletterGet NewsletterARead-onlyIdempotentInspect
Retrieve detailed information about a specific WhatsApp Channel newsletter, including subscriber count and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the newsletter to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent. Description adds 'subscriber count and metadata' but no additional behavioral context like permissions or error handling. Minimal added 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?
Single sentence, 12 words, front-loaded with action and resource. No fluff 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?
Tool is simple with one parameter and read-only annotations. However, no output schema, and description is vague about 'metadata'. Agents may need more response field 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?
Schema covers 100% of parameter description (id as UUID). Description adds no new meaning beyond schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (retrieve), resource (specific newsletter), and includes specific details (subscriber count, metadata). It distinguishes from sibling tools like neuron_list_newsletters.
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?
Implied usage: when you need details of a single newsletter. But lacks explicit when-not-to-use or alternatives. Sibling list tool exists, but no direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_organizationGet OrganizationARead-onlyIdempotentInspect
Retrieve detailed information about a specific organization, including its name, settings, and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds that it retrieves 'detailed information including name, settings, and configuration' but does not disclose any other behavioral traits like permissions or rate limits. Adds some context but not significantly 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 sentence that efficiently conveys the purpose without unnecessary words. It is front-loaded and every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with one parameter and comprehensive annotations, the description is fairly complete. It mentions the scope of return data. Could benefit from a note on permissions or that it returns a full organization object, but overall sufficient.
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 100% and the parameter 'orgId' has a clear description. The description does not add further meaning to the parameter beyond implying it identifies a specific organization. Baseline 3 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 'retrieve', the resource 'organization', and specifies it is for a specific organization by ID. It distinguishes from sibling tools like 'neuron_list_organizations' (list all) and 'neuron_update_organization' (mutate).
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 when you need info on one organization by ID, but does not explicitly state when to use or avoid this tool. No mention of alternatives like listing all organizations or updating. Adequate but lacking explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_outbound_webhook_logsGet Outbound Webhook LogsARead-onlyIdempotentInspect
Retrieve delivery logs for an outbound webhook to monitor event dispatch history and debug delivery failures.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the outbound webhook to get logs for | |
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of log entries per page (default: 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds context about retrieving logs but does not disclose additional behavioral details beyond the 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 concise sentence that front-loads the purpose and usage. Every word adds value, with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains the tool's purpose for a simple log retrieval tool. No output schema exists, but the description covers the core functionality. Slightly missing details on pagination or response format, but acceptable given simplicity.
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?
Input schema has 100% description coverage for all parameters (id, page, limit). The description does not add meaning beyond what the schema already provides, so baseline score of 3 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 specific verb 'Retrieve delivery logs for an outbound webhook' and explains the purpose (monitor event dispatch history, debug failures). It distinguishes from sibling tools like neuron_get_webhook_logs by specifying 'outbound webhook'.
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 monitoring and debugging delivery logs, but does not explicitly state when to use this tool versus alternatives (e.g., neuron_get_webhook_logs). No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_personaGet PersonaARead-onlyIdempotentInspect
Get one voice persona (full voiceProfile + exemplars).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persona UUID |
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 safety is covered. The description adds useful behavioral context by specifying that the result includes the full voiceProfile and exemplars, which is beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently conveys the action, target, and return content. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with robust annotations and a clear return-description, the description is largely complete. It does not mention alternative list tools, but this is a minor gap given the tool's simplicity.
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% for the single 'id' parameter, which is described as 'Persona UUID'. The description does not add parameter-specific detail, but the schema fully shoulders the burden, so a baseline of 3 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 tool gets a single voice persona, specifying the resource and its scope ('full voiceProfile + exemplars'). It distinguishes from related tools like list_personas by emphasizing 'one' persona.
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 retrieving a specific persona when details are needed, but it does not explicitly mention alternatives or exclusions (e.g., 'use list_personas to list all'). No explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_pool_itemGet Pool ItemARead-onlyIdempotentInspect
Retrieve detailed information about a specific item in the marketplace pool, including its description, category, tags, and install count.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the pool item to retrieve |
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 that the tool returns specific fields from the pool item, which is minimal additional behavioral context. 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, well-structured sentence that immediately conveys the tool's action and the data it returns. No unnecessary 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?
For a simple read operation with one parameter and no output schema, the description adequately lists returned fields. It could mention error handling or required permissions, but the core use is well-covered.
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 100% and already describes the id parameter. The description does not add new meaning to the parameter beyond the schema's description of it as a UUID.
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 retrieves detailed information about a specific pool item, listing fields like description, category, tags, and install count. The name and description together uniquely identify the tool's purpose among siblings.
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 browsing the pool or updating items. It does not specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_privacy_settingsGet Privacy SettingsBRead-onlyIdempotentInspect
Fetch the bot's current WhatsApp privacy settings (last seen, online, profile picture, status, read receipts, groups add).
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, destructiveHint. The description adds context about which settings are fetched (last seen, online, etc.), which is useful but does not reveal additional behaviors 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?
Single sentence that is front-loaded with the verb and resource, listing what is fetched. No unnecessary 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?
For a simple get operation with one required parameter and no output schema, the description adequately explains what the tool does. The listed settings give a good sense of the return content.
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 100% for the single parameter 'channelId', so the schema already documents it. The description does not add any parameter-specific 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?
Description clearly states it fetches the bot's current WhatsApp privacy settings and lists the specific settings (last seen, online, profile picture, status, read receipts, groups add). However, it does not explicitly differentiate from sibling tool 'neuron_update_privacy_setting', though the verb 'Fetch' implies read-only.
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 'neuron_update_privacy_setting'. The read-only nature is implied but not stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_profileGet User ProfileARead-onlyIdempotentInspect
Retrieve the authenticated user's profile information including name, email, role, and current organization.
| 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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context on the specific fields retrieved, which is helpful 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 sentence, clear and front-loaded. It efficiently conveys the purpose and scope, though it could be slightly more structured.
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 provides some key fields but omits others like avatar or preferences. It gives a reasonable overview but is not fully exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description does not need to explain parameters. It adds value by listing returned fields, which is beneficial since there is no output 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 the action ('Retrieve'), the resource ('authenticated user's profile'), and lists specific fields (name, email, role, organization). It distinguishes from sibling tools like neuron_get_business_profile and neuron_get_organization.
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 it's for the current user's profile but provides no explicit guidance on when to use it versus alternatives, nor does it mention when not to use it. No comparison with similar getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_scheduled_messageGet Scheduled MessageARead-onlyIdempotentInspect
Retrieve detailed information about a specific scheduled message, including its status, send time, and message content.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the scheduled message |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already declare it a safe read. The description adds concrete examples of returned fields (status, send time, content), which is helpful. No contradictory statements.
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 verb and resource, no unnecessary words. Efficient and clear.
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 one parameter, the description sufficiently covers what it does and what it returns. No output schema needed, and sibling relationships are clear.
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?
Only one parameter (id) with 100% schema coverage and a clear description. The tool description adds no extra meaning beyond the schema, so baseline score of 3 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 it retrieves detailed information about a specific scheduled message, with examples like status, send time, and content. This distinguishes it from sibling tools like neuron_list_scheduled_messages (list) and neuron_update_scheduled_message (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 when needing full details of a known scheduled message. It does not explicitly state alternatives or when not to use, but the context among siblings is clear. Slightly lacking explicit guidance, but adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_social_channelGet Social ChannelARead-onlyIdempotentInspect
Retrieve detailed information about a specific social media channel, including its platform, credentials status, and connection state.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering basic behavioral safety. The description adds useful context about returned fields (platform, credentials, connection state) but no additional behavioral details like prerequisites or error states.
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 sentence with 16 words, front-loaded with the action and key results. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description hints at return content (platform, credentials, connection state), which is helpful given the absence of an output schema. However, it lacks error conditions or full scope of returned data, but for a simple idempotent get tool, it is largely sufficient.
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 100% coverage (single `id` parameter described as UUID). The description does not add any extra information beyond the schema's existing parameter description. Baseline of 3 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 'Retrieve detailed information about a specific social media channel' and lists specific data points (platform, credentials status, connection state). It distinguishes from siblings like `list_social_channels` (returns all) and `get_social_channel_status` (likely only status).
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_social_channels`, `get_social_channel_status`). The description solely explains what the tool does, not when it should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_social_channel_statusGet Social Channel StatusARead-onlyIdempotentInspect
Retrieve the current session status for a social media channel (e.g., connected, disconnected, error).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel |
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 safety profile is clear. The description adds example status values but no additional behavioral traits like permissions, rate limits, or error handling, providing marginal added 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, efficient sentence of 15 words, front-loading the key information without any wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description provides the necessary purpose and example return values, though it could mention the return type explicitly. Overall, it is sufficiently complete given the tool's simplicity.
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 schema description coverage at 100% and only one parameter ('id') well-described in the schema, the description does not add any further meaning about parameters, resulting in a baseline score of 3.
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 ('retrieve'), the resource ('current session status for a social media channel'), and provides example statuses ('connected, disconnected, error'), distinguishing it from related sibling tools like 'get_channel_status' and 'get_social_channel'.
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 retrieving session status, but does not explicitly state when to use this tool versus alternatives such as 'get_social_channel' or 'validate_social_channel', nor does it provide any exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_task_runsGet Bot Task Run HistoryARead-onlyIdempotentInspect
Retrieve the paginated execution history for a task — each run's status, AI summary, tool steps, and stats (messages sent, contacts processed).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the task | |
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds valuable behavioral context beyond annotations by revealing pagination and the specific data returned (status, AI summary, tool steps, stats), which helps the agent understand what to expect.
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, well-structured sentence that front-loads the verb and resource, then provides useful detail. No filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple read-only nature, strong annotations, and fully described parameters, the description is complete. It explains the return content in enough detail despite the lack of an output schema, covering status, summary, steps, and stats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies. The description adds 'paginated' and details of returned data but does not elaborate on id/page/limit semantics beyond what the schema already provides. This is adequate but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and clearly identifies the resource ('paginated execution history for a task'), listing concrete result contents (status, AI summary, tool steps, stats). This distinguishes it from siblings like neuron_run_task (execution) and neuron_list_tasks (task listing).
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 clearly implies the tool is for reviewing past run history of a specific task, differentiated from creating, updating, or running tasks. However, it does not explicitly state when not to use it or name alternative tools, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_get_webhook_logsGet Webhook LogsARead-onlyIdempotentInspect
Retrieve execution logs for an inbound webhook to monitor incoming requests and debug processing issues.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the webhook to get logs for | |
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of log entries per page (default: 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds context about logs being for monitoring/debugging but does not elaborate on behavioral traits like pagination or log format. Adds moderate value 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, clear sentence that immediately states the action and purpose. No redundant or superfluous words, and it is front-loaded with the core verb and object.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and action well. Annotations handle safety. However, it does not mention the existence of a sibling tool for outbound webhooks or describe the nature of the returned logs (e.g., timestamps, status codes). Still largely sufficient for a log retrieval tool with fully documented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented. The description adds no additional parameter-level details beyond what the schema provides. Baseline 3 applies.
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 specifies the action 'Retrieve', the resource 'execution logs for an inbound webhook', and the purpose 'to monitor incoming requests and debug processing issues.' It also naturally distinguishes from the sibling 'neuron_get_outbound_webhook_logs' by specifying 'inbound'.
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 monitoring and debugging inbound webhooks, but does not explicitly state when not to use it or mention alternatives like the sibling tool for outbound logs. Guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_handle_join_requestsHandle Join RequestsAInspect
Approve or reject pending join requests for a WhatsApp group. Requires admin privileges.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Whether to approve or reject the join requests | |
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| participants | Yes | Array of phone numbers or JIDs of requesters |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe profile (non-read, non-destructive). The description adds the admin requirement, which is a behavioral constraint. No contradictions, and it provides useful context beyond what annotations offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no fluff. Purpose is front-loaded, and the requirement is stated without excess words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple action tool: states purpose, prerequisite, and action options. No output schema or side effects are mentioned, but for a mutation tool with full schema coverage, it is 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?
Schema description coverage is 100%, with each parameter adequately described. The description adds no additional meaning beyond 'pending join requests', so it does not surpass the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('approve or reject'), the resource ('pending join requests for a WhatsApp group'), and adds a prerequisite ('requires admin privileges'). It distinguishes from sibling tools like 'neuron_set_group_join_approval' which handles join approval 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?
The description includes a clear prerequisite ('requires admin privileges') and implies the context of pending requests. However, it does not explicitly state when to use this tool versus other group management tools 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.
neuron_import_contactsImport ContactsAInspect
Bulk import multiple contacts into the organization's address book. Accepts an array of contact objects with name, phone, and optional fields.
| Name | Required | Description | Default |
|---|---|---|---|
| contacts | Yes | Array of contact objects to import into the organization |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description must cover behavior. It only states inputs, omitting details like idempotency, overwrite behavior, error handling, or response 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?
Two concise sentences that efficiently convey purpose and input structure with no unnecessary 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?
Adequate for a single-parameter tool with full schema coverage, but lacks behavioral context (e.g., duplicate handling, response) expected for a bulk import operation.
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 100%, so parameters are well-documented. The description adds no additional meaning beyond the schema, meeting the baseline.
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 for bulk importing multiple contacts into the organization's address book, distinguishing it from single contact creation tools like neuron_create_contact.
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 use for bulk imports but does not explicitly state when to use vs alternatives like single contact creation or export. It could be improved with direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_ingest_knowledgeIngest KnowledgeBIdempotentInspect
Ingest content into a knowledge base. Supports deduplication via externalId and optional LLM processing (summarize, extract_facts, or custom instruction).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title for the knowledge entry | |
| folder | No | Folder: 'general', 'skills', 'contexts', 'documents', or 'faqs' (default: general) | |
| source | No | Source type (default: mcp) | mcp |
| content | Yes | Content to ingest | |
| sourceUrl | No | Source URL for reference | |
| externalId | No | Unique external ID for deduplication (e.g. file path, URL) | |
| processing | No | Optional LLM processing before storage | |
| knowledgeBaseId | Yes | Knowledge base ID to ingest into |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotence (idempotentHint=true) and non-destructiveness (destructiveHint=false). The description adds behavior about deduplication via externalId and optional LLM processing, but lacks details on authorization, error states, 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?
Two concise sentences: first states purpose, second adds key features. No redundant info, front-loaded with core action.
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 8 parameters, nested objects, and no output schema, the description is adequate but lacks details on return values, expected behavior on duplicate externalId, or error handling. Schema covers parameters, so baseline is met.
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 covers all parameters (100% coverage). Description adds meaning by explaining that externalId enables deduplication and processing enables LLM modes, going beyond schema descriptions.
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 ingests content into a knowledge base, with specific verbs and resource. It mentions key features like deduplication and LLM processing, but does not differentiate from sibling tools like neuron_create_kb_entry or neuron_sync_knowledge.
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 neuron_create_kb_entry or neuron_sync_knowledge. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_install_from_poolInstall from PoolAInspect
Install a resource from the marketplace pool into the current organization. Choose 'fork' for an independent copy or 'subscribe' to receive future updates from the publisher.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the pool item to install | |
| mode | Yes | Installation mode: 'fork' creates an independent copy, 'subscribe' links to publisher updates | |
| targetKbId | No | UUID of the knowledge base to install into (for knowledge_base types) | |
| targetBotId | No | UUID of the bot to attach the installed resource to (for tool_template or knowledge_base types) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints (readOnlyHint=false, destructiveHint=false). The description discloses the installation action and mode behaviors but omits details on side effects, permissions, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no extraneous words: first states the action, second defines the key parameter option. 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 the low parameter count and no output schema, the description provides sufficient context for the agent to understand and invoke the tool appropriately.
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 100% with parameter descriptions. The description adds meaning to the 'mode' enum by explaining 'fork' vs 'subscribe', going beyond the schema's minimal listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('install') and resource ('resource from the marketplace pool'), clearly distinguishing it from sibling tools like browse, publish, or pull updates.
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 use for installing pool resources into the current organization and explains two modes, but does not contrast with related tools like 'neuron_pull_pool_update' or specify 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.
neuron_invite_memberInvite Organization MemberAInspect
Send an invitation to a new member to join the organization. The invitee receives an email with a link to accept.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Full name of the person being invited | |
| role | No | Role to assign to the member (e.g., 'admin', 'agent', 'viewer') | |
| Yes | Email address of the person to invite | ||
| orgId | Yes | Unique identifier (UUID) of the organization | |
| canViewConversations | No | Whether the invited member can view conversations (default: true) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds that an email is sent with a link, which is useful. However, it doesn't disclose if duplicate invites are allowed, permission requirements, or idempotency beyond the idempotentHint=false annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. The entire purpose and action are communicated efficiently.
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 and moderate complexity (5 params, 3 required), the description covers the basic flow but lacks details on error conditions, duplicate invites, or post-acceptance behavior. 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?
Schema coverage is 100% with clear descriptions for each parameter. The description adds no additional meaning beyond what is in the schema, so baseline score of 3 applies.
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 'Send an invitation' and the resource 'new member to join the organization'. It also explains the effect (email with link to accept). This distinguishes it from sibling tools like list_invitations or revoke_invitation.
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 (e.g., when to invite vs create member directly). No prerequisites mentioned (e.g., admin permissions). Missed opportunity to clarify context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_join_campaignJoin CampaignAInspect
Join a marketplace campaign as a participant to earn rewards by sending messages through your WhatsApp channel.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the campaign to join | |
| channelId | Yes | Unique identifier (UUID) of your WhatsApp channel to send messages from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a mutating but non-destructive and non-idempotent operation. The description adds 'earn rewards' as a behavioral outcome, but does not disclose potential side effects (e.g., duplicate joins, campaign capacity limits) or post-join state. No contradictions with 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 that efficiently conveys the core purpose. No unnecessary words or fluff.
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 has low complexity and no output schema. The description covers the basic action and goal, but lacks details on expected outcomes, error conditions, or success indicators. Given the straightforward nature, it is 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 input schema has 100% description coverage, so the schema already defines the parameters well. The description does not add additional meaning beyond restating that a campaign ID and channel ID are needed. Baseline 3 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 action ('join a marketplace campaign'), the purpose ('earn rewards'), and the means ('by sending messages through your WhatsApp channel'). It effectively distinguishes from sibling tools like create_campaign or fund_campaign.
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 that this tool should be used when the user wants to participate in an existing campaign, but it does not explicitly state when not to use it or mention alternatives. For example, it doesn't clarify prerequisites like having a WhatsApp channel already set up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_lead_statsLead Pool StatsARead-onlyIdempotentInspect
Counts of leads by status.
| 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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the grouping behavior ('by status') but does not disclose return format, pagination, or handling of statuses with zero leads.
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 fully conveys the tool's function without any redundant words. It is front-loaded and appropriately sized for a tool with no parameters.
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 extremely simple with no parameters and no output schema. The description sufficiently conveys the core behavior, though it could specify the output structure (e.g., a map of statuses to counts) for extra clarity, but this is a minor gap.
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 zero parameters and 100% schema coverage, the baseline is 4 per the rubric. The description adds no parameter-specific details, but none are needed since the tool accepts no inputs.
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 the specific verb 'Counts' and identifies the resource 'leads' with a clear dimension 'by status.' This distinguishes it from sibling tools like neuron_list_leads, which would return individual leads, while this tool provides aggregated counts.
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 any exclusions or alternative tools, such as neuron_list_leads for detailed lead data, leaving the usage context entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_leave_groupLeave GroupADestructiveInspect
Make the bot leave a WhatsApp group. This action is irreversible — the bot will need to be re-added by an admin.
| Name | Required | Description | Default |
|---|---|---|---|
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, but the description adds valuable context: the bot must be re-added by an admin after leaving. This expands beyond the annotation's single hint, providing actionable behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and consequence. Every word serves a purpose, with zero 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?
For a simple destructive tool with no output schema and good annotations, the description covers purpose, irreversibility, and re-addition requirements. It lacks nothing essential for safe usage.
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 100% with clear parameter descriptions for groupJid and channelId. The description adds no additional parameter semantics, so baseline score of 3 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 'make the bot leave' and the resource 'WhatsApp group', distinct from sibling tools like neuron_get_group_participants or neuron_update_group_settings. It also notes irreversibility, reinforcing the action's finality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: the action is irreversible and re-addition requires an admin. This guides the agent on when to use (permanent departure) and warns against casual use. However, it does not explicitly mention when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_ad_requestsList Ad RequestsARead-onlyIdempotentInspect
Retrieve all ad requests for the current organization with optional status filtering and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of items per page (default: 20) | |
| status | No | Filter by request status: 'draft', 'pending_review', 'approved', 'active', 'paused', 'completed', or 'rejected' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint. Description adds scope ('current organization') but no further behavioral traits 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?
Single sentence, front-loaded with action and scope, no unnecessary 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?
Simple list tool; description covers key aspects (scope, filters, pagination). No output schema needed; lack of ordering mention is minor.
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?
All 3 parameters are documented in schema (100% coverage). Description adds 'optional status filtering and pagination' but doesn't enhance meaning beyond 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?
Clearly states 'retrieve all ad requests for the current organization', specifying verb, resource, scope, and optional filters. Distinguishes from siblings like create/get/update/delete.
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?
Mentions optional status filtering and pagination but does not explicitly compare to alternatives like get_ad_request. Implicitly appropriate for listing vs single retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_api_keysList API KeysARead-onlyIdempotentInspect
Retrieve all API keys associated with a specific bot, including their names, creation dates, expiration status, and revocation status.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot whose API keys to retrieve |
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. The description adds context about the returned fields (names, dates, status) but does not disclose any other 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?
The description is a single, focused sentence with no extraneous words. It front-loads the action and resource, then lists the included fields efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one parameter and no output schema, the description adequately explains what the tool does and what data is returned. It could mention potential pagination or ordering, but this is not essential given the tool's simplicity.
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% (botId is documented). The description reinforces that the bot parameter specifies which bot's keys to retrieve, so no additional semantic value is added 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 specifies the verb 'retrieve' and the resource 'API keys', scoped to a specific bot. It lists the included fields (names, creation dates, expiration status, revocation status), distinguishing it clearly from other list tools and create/revoke key 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 explicit when-to-use or alternatives are provided, but the context implies usage when needing to view API keys. There are no sibling tools with overlapping purpose, so guidance is adequate for a focused tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_approvalsList ApprovalsARead-onlyIdempotentInspect
List approval requests for the organization, newest first. Filter by status (pending/approved/rejected/expired/cancelled). Requires a bot API key.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 25, max 100) | |
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| status | No | Filter: pending | approved | rejected | expired | cancelled | |
| channelId | No | Filter by WhatsApp channel (UUID) |
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, covering the safety profile. The description adds authentication requirement ('Requires a bot API key') and organization scope, but no additional behavioral details like pagination behavior or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action. Every phrase adds value: scope, ordering, filter options, and authentication requirement. 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?
For a filtered list tool with comprehensive annotations and full schema coverage, the description covers purpose, ordering, filters, and authentication. No output schema exists, but this is adequate for a simple list operation, and the description is complete for the task.
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%; all five parameters (apiKey, page, limit, status, channelId) have descriptions. The description mentions status filter and apiKey requirement but does not add significant meaning beyond the schema, except for the 'organization' scope.
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 'List approval requests for the organization, newest first' with a specific verb (list), clear resource (approval requests), and ordering (newest first). This distinguishes it from sibling tools like neuron_get_approval (single approval) and approval action 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?
Provides clear usage context: organization scope, newest first, and specific status filters. It does not explicitly name alternatives or state when not to use this tool, but the listing context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_audit_logsList Audit LogsARead-onlyIdempotentInspect
Retrieve audit logs for the organization, showing a chronological record of actions performed by members. Supports filtering by action type and resource.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of log entries per page (default: 20) | |
| action | No | Filter by action type (e.g., 'CREATE', 'UPDATE', 'DELETE') | |
| resourceType | No | Filter by resource type (e.g., 'USER', 'ORGANIZATION', 'BOT', 'CAMPAIGN') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint, which cover safety and idempotency. The description adds that logs are chronological and support filtering, but does not disclose additional behavioral traits like default ordering, pagination limits, or rate limits. 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 two sentences, front-loading the core purpose and then summarizing filtering capabilities. Every word earns its place with no redundancy or fluff.
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 annotations (readOnly, idempotent) and full schema coverage, the description sufficiently defines the tool's functionality. It lacks details about return format or default ordering, but these are not critical for a list tool with good parameter documentation and no output schema.
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 each parameter is already documented. The description only restates filtering by 'action type and resource' (matching action and resourceType parameters). It does not add semantic meaning beyond what the schema provides, meeting but not exceeding the baseline.
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 retrieves audit logs for the organization, which is a specific verb+resource. It distinguishes itself from sibling list tools by focusing on audit logs, not other entities like contacts or bots.
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 audit logs and supports filtering, but it does not explicitly state when to use this tool versus alternative logging tools (e.g., webhook logs) or provide when-not-to-use scenarios. No sibling tool directly competes, so usage context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_blog_postsList Blog PostsARead-onlyIdempotentInspect
Retrieve a paginated list of blog posts with optional filtering by status, author type, author ID, or tag.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter posts by tag slug (e.g., 'announcements') | |
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of results per page (default: 20) | |
| status | No | Filter posts by publication status | |
| authorId | No | Filter posts by author identifier (UUID) | |
| authorType | No | Filter posts by author type |
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 safe, idempotent read behavior. The description adds pagination details and filtering capabilities, which are consistent with the 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 with 18 words, front-loading the main action and key features. Every word conveys necessary information; no redundancy or fluff.
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 6 optional parameters, pagination, and two enums, the description captures the essential behavior concisely. However, it does not describe the response format (e.g., list of posts with pagination metadata), which would be helpful since no output schema is provided. Still, for a simple list tool, it is fairly complete.
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 description coverage is 100%, with each parameter documented in the schema. The description adds overall context ('paginated list', 'optional filtering') but does not provide additional meaning beyond the schema definitions. Baseline 3 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 'Retrieve' and the resource 'list of blog posts', with specific filtering options (status, author type, author ID, tag) and pagination. It distinguishes itself from sibling tools like neuron_get_blog_post (single post) and neuron_create_blog_post (creation).
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 does not explicitly state when to use this tool versus alternatives such as neuron_get_blog_post for a single post or neuron_publish_blog_post for changing status. The 'optional filtering' implies some use cases but lacks clear guidance on when to choose this over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_bot_channelsList Bot ChannelsARead-onlyIdempotentInspect
Retrieve all WhatsApp channels connected to a specific bot, including primary and secondary connections.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations: specifies WhatsApp channels (not all channels) and includes primary and secondary connections. Annotations already indicate read-only, idempotent, non-destructive; description complements well without 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, no superfluous words, front-loaded with the essential information about the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description fully covers the purpose and scope, leaving no ambiguity.
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 100% with the botId parameter already documented. The description does not add parameter-level details beyond the schema, so baseline score applies.
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 'Retrieve' and resource 'WhatsApp channels connected to a specific bot', distinguishing it from siblings like 'neuron_list_channels' which may not be bot-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?
The description implies when to use (to retrieve channels for a bot) but does not explicitly contrast with alternatives like 'neuron_list_channels', 'neuron_get_bot', or 'neuron_add_bot_channel'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_bot_knowledge_basesList Bot Knowledge BasesARead-onlyIdempotentInspect
Retrieve all knowledge bases attached to a specific bot, including their priorities and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds that it returns priorities and metadata, but does not disclose other behavioral traits like pagination or response format. With annotations present, this level of addition is adequate.
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, front-loaded sentence with no wasted words. Every part contributes to understanding the tool's 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?
Despite lacking an output schema, the description indicates the return includes 'knowledge bases, including their priorities and metadata', which is sufficient for a simple list tool. It could mention array format or pagination but is not incomplete.
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 100% coverage with a clear description for the 'id' parameter (UUID). The description does not add any additional parameter semantics beyond what the schema provides, resulting in a baseline score.
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 'retrieve', the resource 'knowledge bases attached to a specific bot', and specifies 'including their priorities and metadata', distinguishing it from the sibling tool 'neuron_list_knowledge_bases' which lists all KBs.
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 when needing KBs for a specific bot, and the sibling context provides an alternative for listing all KBs. However, no explicit exclusions or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_botsList BotsARead-onlyIdempotentInspect
Retrieve all bots accessible to the current user, including their configurations and status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) already disclose no side-effects. Description adds that results include configurations and status, which is helpful but not extensive 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?
Single sentence, 14 words, front-loaded with purpose. No wasted words; highly 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?
Simple tool with no parameters. Description covers what is returned (bots, configs, status) but lacks details like ordering, pagination, or that it's read-only. Adequate but not complete.
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 baseline is 4. Description doesn't need to add param info; it correctly aligns with the empty 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?
Description clearly states verb 'Retrieve' and resource 'bots accessible to the current user', including configurations and status. Distinguishes from siblings like neuron_get_bot (single bot) and neuron_create_bot (different action).
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 this tool vs alternatives. Among many list tools, it doesn't mention scenarios, prerequisites, or exclusions. Implied usage is simply to list bots.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_broadcastsList BroadcastsARead-onlyIdempotentInspect
Retrieve a paginated list of all broadcasts with optional filtering by status such as draft, sent, or scheduled.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of broadcasts per page (default: 20) | |
| status | No | Filter by broadcast status (e.g., 'draft', 'sent', 'scheduled') |
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. The description adds that the tool returns paginated results with optional filtering, which supplements the safety profile. No contradictions are present.
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 conveys all key information (pagination, filtering) upfront without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description could benefit from mentioning what fields are returned or any default sorting. However, for a paginated list tool with simple filtering, it covers the essential behavior adequately.
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 100%, so baseline is 3. The description adds example status values ('draft, sent, or scheduled') that are not fully detailed in the schema's description (which only says 'e.g., ...'). This provides slight additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and resource ('all broadcasts') with clear details on pagination and optional status filtering. This clearly distinguishes it from siblings like neuron_get_broadcast (single broadcast) and neuron_create_broadcast (creation).
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 that this tool is used to list all broadcasts with optional filtering, but does not explicitly state when to use it versus alternatives like neuron_get_broadcast for a specific broadcast. The context from sibling names helps, but explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_builtin_toolsList Built-in ToolsARead-onlyIdempotentInspect
Retrieve all available built-in tools with their enabled/disabled status for a specific bot. Built-in tools include WhatsApp actions (send messages, delete messages, post status), utility functions (web search, QR codes, weather), scheduling, knowledge base search, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to list built-in tools for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already cover safety; description adds that it returns enabled/disabled status and lists tool categories. 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?
Two sentences, front-loaded with purpose and examples, no wasted words. Highly concise and well-structured.
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 1 param, high schema coverage, and good annotations, the description is largely complete. It hints at return format (status), but lacks explicit output schema; however, given the tool's simplicity, it is 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?
Schema description coverage is 100% with a clear description for botId. The description does not add additional parameter details beyond the schema, so baseline 3 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?
Clearly states 'Retrieve all available built-in tools with their enabled/disabled status' and provides concrete examples (WhatsApp actions, web search, etc.), distinguishing it from siblings like neuron_list_tools (custom tools) and neuron_list_installed.
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?
Indicates the tool is for a specific bot via required botId, with clear purpose. No explicit when-not-to-use or alternatives, but the context implies this is for built-in tools only, differentiating from sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_campaignsList CampaignsARead-onlyIdempotentInspect
Retrieve all campaigns for the current organization with optional status filtering and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of campaigns per page (default: 20) | |
| status | No | Filter by campaign status: 'draft', 'active', 'paused', 'completed', 'stopped', or 'rejected' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds 'Retrieve all campaigns' which aligns but does not disclose additional behavioral traits beyond what annotations already convey.
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 14 words, front-loaded with the main action, and no redundant information. Every word contributes to the 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 no output schema, the description could mention the return format (e.g., list of campaign objects). It is adequate but lacks completeness for an agent to understand the full response. However, it covers essential input constraints.
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 100% with clear descriptions for each parameter (page, limit, status). The description mentions 'optional status filtering and pagination' but adds no extra 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 clearly states the tool retrieves all campaigns for the current organization with optional filtering and pagination. It uses a specific verb 'Retrieve' and resource 'campaigns', distinguishing it from sibling tools like 'neuron_get_campaign' (single) and 'neuron_create_campaign' (create).
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 contexts: retrieving multiple campaigns with optional status filter and pagination. It does not explicitly state when not to use or provide alternatives, but the purpose is clear and no direct sibling exists for the same function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_channel_groupsList Channel GroupsARead-onlyIdempotentInspect
Retrieve all WhatsApp groups that the channel is participating in, including group metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds 'including group metadata' but no additional behavioral context 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?
Single sentence, front-loaded, no wasted words. Efficiently conveys purpose and scope.
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?
Simple read tool with safe annotations. Description covers what the tool does and what it returns (metadata). No output schema, but mention of metadata suffices. Lacks edge case info but complete for its simplicity.
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?
Input schema has 100% coverage with description for 'id'. Description adds no further parameter semantics beyond 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?
Description clearly states verb 'Retrieve' and resource 'all WhatsApp groups that the channel is participating in' including metadata. Distinct from sibling list tools like list_channels and list_bot_channels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. However, the purpose is self-explanatory for listing channel groups; alternatives are implied by sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_channelsList ChannelsARead-onlyIdempotentInspect
Retrieve all WhatsApp channels configured in the current organization, including their type and connection status.
| 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, destructiveHint=false, and idempotentHint=true, so the description adds value by mentioning the included data (type and connection status). But it does not disclose potential pagination or other behavioral nuances, which is acceptable given the tool's simplicity and zero parameters.
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 efficiently conveys the tool's purpose, scope, and output. It is front-loaded with the action and resource, with no unnecessary 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?
For a parameter-free tool with rich annotations and no output schema, the description is sufficiently complete. It specifies the scope (current organization) and the returned fields (type, connection status). Lacking an output schema, it could elaborate on the format of 'type' and 'connection status', but the given information is 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?
Since there are no parameters, the input schema is fully covered. The description adds meaning by explaining the output scope and content (all channels, type, connection status), which is helpful 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 the verb 'Retrieve', the resource 'all WhatsApp channels', and the scope 'in the current organization'. It also specifies what is included ('type and connection status'), distinguishing it from sibling tools like neuron_get_channel (single channel) and neuron_list_channel_groups.
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 that this tool is for listing all channels, which helps differentiate it from tools for specific channels or groups. However, it does not explicitly state when not to use it or provide direct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_contact_listsList Contact ListsARead-onlyIdempotentInspect
Retrieve all contact lists for the current organization with optional filtering by search term, type, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| type | No | Filter by list type: 'static', 'dynamic', or 'merged' | |
| limit | No | Number of items per page (default: 20) | |
| search | No | Search term to filter lists by name or slug |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds context about optional filtering but no significant behavioral disclosure 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?
One sentence of 16 words, front-loaded with the core purpose. Every word earns its place; no redundancy or unnecessary 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?
For a list tool with optional filters and pagination, the description covers the key aspects. However, it does not mention the return format or pagination details (e.g., total count), which could be helpful given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully explains each parameter. The description only mentions 'optional filtering by search term, type, and pagination' at a high level, adding no new 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 clearly states it retrieves all contact lists for the current organization, with optional filters and pagination. It uses a specific verb ('retrieve') and resource, and distinguishes from siblings like neuron_get_contact_list.
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 listing contact lists under the organization context but does not explicitly differentiate from related tools like neuron_find_contact_lists_for_contact or provide when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_contactsList ContactsBRead-onlyIdempotentInspect
Retrieve all contacts for the current organization with optional filtering by search term, tag, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Tag name to filter contacts by category | |
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of contacts per page (default: 20) | |
| search | No | Search term to filter contacts by name, phone number, or email address | |
| doNotBroadcast | No | Filter to contacts that are (true) or are not (false) excluded from broadcasts | |
| doNotAutoRespond | No | Filter to contacts the bot will never (true) / may (false) auto-respond to |
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, covering the safety profile. The description adds context about the organization scope and filtering options but does not disclose additional behavioral traits (e.g., default pagination behavior or that unfiltered returns all contacts). There is no contradiction with 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, well-structured sentence that states the core function and key optional features. Every word earns its place with no redundancy or unnecessary 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?
For a read-only listing tool with thorough annotations and complete schema descriptions, the description is adequate. It gives the key purpose and filter options, but lacks explicit differentiation from sibling search/export tools and does not mention all filter types in prose. Overall, it is complete enough for a simple filtered-list operation.
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 100%, with all six parameters having descriptions. The description repeats 'search term, tag, and pagination' which maps to search, tag, page/limit, but omits doNotBroadcast and doNotAutoRespond. Since the schema already provides full parameter semantics, the description adds minimal extra value, matching the baseline of 3.
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 ('Retrieve'), resource ('all contacts'), and scope ('for the current organization'), and mentions optional filtering and pagination. However, it does not explicitly distinguish this from sibling tools like neuron_search_contacts or neuron_semantic_search_contacts, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as neuron_search_contacts, neuron_export_contacts, or neuron_get_contact. The description implies a general listing use case but does not state exclusions or preferred scenarios, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_conversationsList ConversationsARead-onlyIdempotentInspect
Retrieve a paginated list of conversations for a specific bot, with optional filtering by status.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot whose conversations to list | |
| limit | No | Maximum number of conversations to return per page | |
| cursor | No | Opaque pagination cursor from a previous response for retrieving the next page | |
| status | No | Filter by conversation status (e.g., 'active', 'closed') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral details about pagination (cursor, limit) and optional filtering, which are not captured by 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 of 18 words, front-loading the core action and scope. No extraneous 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?
No output schema, but the description mentions pagination. It does not describe response format, error handling, or sorting. For a read-only list tool, it is adequate but not fully complete.
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?
100% schema description coverage means the schema already documents all parameters. The description does not add new semantic information beyond what is in the schema, justifying a baseline score.
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 specific verb 'Retrieve' and identifies the resource as 'paginated list of conversations for a specific bot', with optional status filtering. This clearly distinguishes it from sibling list tools like neuron_list_contacts or neuron_get_conversations.
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 specifies the context (for a specific bot, paginated, optional status filter) but does not explicitly state when not to use or mention alternatives. However, the context is clear enough for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_installedList Installed ItemsARead-onlyIdempotentInspect
List all items the current organization has installed from the marketplace pool.
| 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, non-destructive, idempotent. Description adds context about organizational scope and source (marketplace pool), enhancing transparency without 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, 14 words, front-loaded with action. No redundant 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?
For a simple list tool with no parameters and good annotations, the description fully specifies scope and source, making it complete.
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 description adds minimal value. Baseline score of 4 applies per guidelines for 0-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?
Description uses specific verb 'List' and resource 'items the current organization has installed from the marketplace pool', clearly distinguishing from sibling tools like 'neuron_browse_list_pool' and 'neuron_install_from_pool'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives mentioned. Usage is implied as a simple listing operation, but lacks guidance on when to choose this over related pool tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_invitationsList InvitationsARead-onlyIdempotentInspect
Retrieve a list of all pending invitations for the organization that have not yet been accepted or revoked.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, destructiveHint. The description adds context about the status filter (pending only), which is useful but does not contradict annotations. Value added beyond annotations is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no unnecessary words. It efficiently conveys the tool's purpose and scope.
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 list tool with one parameter and no output schema, the description is complete. It specifies what is returned (pending invitations) and is sufficient for agent selection and 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 only parameter 'orgId' is described in the schema as 'Unique identifier (UUID) of the organization' (100% coverage). The tool description adds no additional semantics beyond what the schema provides, so baseline score of 3 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 'Retrieve' and the resource 'list of all pending invitations', specifying scope (organization) and status filter (not yet accepted or revoked). It distinguishes from siblings like 'neuron_invite_member' (create) and 'neuron_revoke_invitation' (revoke).
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 when to use (to view pending invitations) but does not explicitly state when not to use or mention alternatives. The read-only nature is hinted by annotations, but no direct guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_kb_botsList Knowledge Base BotsARead-onlyIdempotentInspect
Retrieve all bots that are connected to or using a specific knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base |
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 tool's safe read-only nature is clear. The description does not contradict annotations 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 concise sentence that immediately communicates the tool's purpose. There is no extraneous information, and it is well-structured.
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 has a simple 1-required-parameter schema and no output schema. The description sufficiently explains what the tool does, though it could mention the output format (e.g., list of bot objects). Overall, adequate for the complexity.
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 100%, and the description does not add any additional meaning to the parameter 'id' beyond what is already in the schema. Baseline score of 3 applies.
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 (Retrieve all bots) and the context (connected to or using a specific knowledge base). It distinguishes from siblings like neuron_list_bots (lists all bots) and neuron_list_bot_knowledge_bases (lists knowledge bases for a bot).
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 defines when to use (when needing bots for a knowledge base), but does not explicitly state when not to use or suggest alternatives. No comparison to related tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_kb_entriesList Knowledge Base EntriesARead-onlyIdempotentInspect
Retrieve entries from a knowledge base with optional filtering and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base | |
| page | No | Page number for pagination (starts at 1) | |
| limit | No | Maximum number of entries to return per page | |
| folder | No | Filter entries by folder ('general', 'skills', 'contexts', 'documents', 'faqs') | |
| source | No | Filter entries by source type ('manual', 'document', 'url') |
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 'optional filtering and pagination', which is consistent and adds some behavioral context beyond annotations, but does not disclose aspects like output format or defaults.
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 10 words. It conveys the essential information without any extraneous content, achieving maximum efficiency.
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 list tool with good annotations and full schema coverage, the description is adequate. It covers the main functionality but could explicitly mention that the output is an array of entries. No output schema exists, so brief is acceptable.
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 100%, so the schema already describes each parameter. The description's mention of 'optional filtering and pagination' maps to the parameters but does not add additional meaning beyond what the schema provides.
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 'Retrieve' and resource 'entries from a knowledge base'. It implicitly distinguishes from sibling 'list_knowledge_bases' by focusing on entries rather than knowledge bases themselves, but does not explicitly differentiate from other 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 explicit guidance on when to use this tool versus alternatives like search_knowledge. The description implies a usage context (filtering and pagination) but offers no exclusions or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_knowledge_basesList Knowledge BasesARead-onlyIdempotentInspect
Retrieve all knowledge bases accessible to the current user.
| 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 destructiveHint=false. The description adds minor behavioral context about access control ('accessible to the current user') but does not significantly extend 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?
A single, clear sentence that front-loads the action and resource with no unnecessary 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?
For a simple list tool with no parameters and no output schema, the description is adequate. It could be marginally improved by indicating the return type (e.g., 'returns a list of knowledge base objects'), but is complete enough for 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?
No parameters exist, and schema coverage is 100%. The description adds no parameter info but does not need to, earning a baseline 4 for a parameter-less tool.
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 'Retrieve' and resource 'all knowledge bases accessible to the current user', distinguishing it from sibling tools like neuron_list_kb_entries which list entries within a specific knowledge base.
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 getting an overview of accessible knowledge bases but does not explicitly mention when to use alternatives (e.g., get_knowledge_base for details) or provide explicit guidance on selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_leadsList LeadsARead-onlyIdempotentInspect
List leads from the pool, filterable by status (new/enriched/contacted/converted/rejected), sourceId, and search.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| search | No | ||
| status | No | ||
| sourceId | 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, covering the safety profile. The description adds that leads are drawn from 'the pool' and are filterable, but discloses no additional behavioral traits like pagination defaults, sorting, or result 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, front-loaded with the action and object, and compactly conveys filters. No filler or redundant 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?
With 5 parameters and no output schema, the description covers the core filters but leaves pagination parameters unexplained and does not describe the return shape or default behavior. It is adequate for a simple list operation but has room for more detail.
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 has zero property descriptions, so the description must compensate. It adds meaning to 'status' by enumerating the allowed values (new/enriched/contacted/converted/rejected) and identifies sourceId and search as filters, but omits any explanation for page and limit, which remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'leads from the pool' and enumerates filter dimensions (status, sourceId, search). This distinguishes it from sibling tools like list_contacts or list_lead_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?
The description implies usage context by listing available filters, but provides no explicit guidance on when to prefer this over alternatives or any exclusions. It does not mention related tools such as lead_stats or pool browsing, leaving selection to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_lead_sourcesList Lead SourcesARead-onlyIdempotentInspect
List configured lead sources for the org.
| 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, idempotentHint=true, and destructiveHint=false. The description adds contextual scope ('for the org') and 'configured' but does not elaborate on return format, pagination, or any filtering behavior, which is acceptable for a simple list but not particularly rich.
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 filler, front-loaded with the verb 'List'. Every word earns its place, making it appropriately sized and well structured.
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: no parameters, no output schema, and annotations cover safety. The description sufficiently explains what the tool does, making it complete for its complexity. No additional details are necessary.
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 in the input schema, so the description does not need to add parameter semantics. The baseline for zero-parameter tools is 4, and the description adequately covers the tool's purpose without needing to explain parameters.
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 (configured lead sources) with an org scope, distinguishing it from related tools like neuron_list_leads and neuron_create_lead_source. The verb 'List' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a basic statement of function but does not specify when to use this tool over alternatives, nor does it provide any exclusions or alternative tool references. The usage is implied from the name and purpose, but no explicit guidance is given for selection among the many sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_membersList Organization MembersARead-onlyIdempotentInspect
Retrieve a list of all members in the organization, including their roles and permissions.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds minimal behavioral context beyond stating that roles and permissions are included. With strong annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the tool's purpose without any superfluous words. It is optimally 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?
For a simple list tool with one required parameter and full annotations, the description is adequately complete. It could mention pagination or response format, but the low complexity makes it sufficient.
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 100% and the description does not add meaning beyond the schema's description of the orgId parameter. The description implies the parameter identifies the organization, but that is already clear from 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 the verb 'Retrieve' and the resource 'list of all members' with additional detail about including roles and permissions. It effectively distinguishes from sibling tools like neuron_get_organization or neuron_update_member.
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 explicit guidance on when to use this tool versus alternatives such as neuron_get_contact_list_members or neuron_get_organization. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_newslettersList NewslettersARead-onlyIdempotentInspect
Retrieve a paginated list of all WhatsApp Channel newsletters for the organization, with optional filtering by WhatsApp session channel.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of items per page (default: 20) | |
| channelId | No | Filter newsletters by WhatsApp session channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the description's safety profile is clear. The description adds context about pagination and optional filtering, which is useful but not extensive. It doesn't disclose rate limits, auth requirements, or behavior for empty 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?
The description is a single sentence of 17 words, with no redundant information. It is front-loaded with the key action and result ('Retrieve a paginated list'), making it efficient for quick 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?
For a simple list tool with no output schema and only optional parameters, the description is adequate but not complete. It explains pagination and filtering but does not specify the structure of the returned list (e.g., fields of each newsletter) or handle edge cases. An agent might need additional context for precise invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all three parameters (page, limit, channelId) described in the schema. The description's mention of optional filtering by session channel adds minimal value beyond the schema. Baseline 3 is appropriate as the description does not significantly compensate for any gaps.
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 ('Retrieve'), the resource ('paginated list of all WhatsApp Channel newsletters'), and scope ('for the organization'). It also mentions optional filtering by session channel, which distinguishes it from similar list tools like neuron_list_channels or neuron_get_newsletter.
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 when to use it (when needing a list of newsletters) but provides no explicit guidance on when to choose this over alternatives like neuron_get_newsletter (single) or neuron_create_newsletter (creation). No 'when not to use' or comparison with siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_organizationsList OrganizationsARead-onlyIdempotentInspect
Retrieve all organizations the authenticated user belongs to, including their roles in each.
| 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, idempotentHint, destructiveHint. Description adds value by stating it returns roles, but could be more transparent about pagination or ordering. No contradiction with 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?
One sentence, clearly structured with subject, verb, and detail. No redundant 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?
For a simple list tool with no parameters and no output schema, the description sufficiently covers purpose and return info (roles). Could mention pagination or default limits, but overall 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?
No parameters in schema (0 params, 100% coverage). Baseline 4 is appropriate; description doesn't need to add param info. It correctly notes no params needed.
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 specific verb 'Retrieve' and resource 'organizations', and clarifies scope: 'the authenticated user belongs to, including their roles in each'. This clearly distinguishes from sibling 'neuron_get_organization' which likely fetches a single org.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The sibling 'neuron_get_organization' implies this is for listing all, but the description doesn't contrast them or mention alternatives like 'neuron_switch_org'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_outbound_webhooksList Outbound WebhooksARead-onlyIdempotentInspect
Retrieve all outbound webhooks configured for a specific bot, including their target URLs and subscribed event types.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to list outbound webhooks for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and no destructive behavior. The description adds value by specifying that the tool returns target URLs and subscribed event types, which is beyond what annotations provide. 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, well-structured sentence that front-loads the action and clearly communicates the tool's functionality with no extraneous 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?
Given the simple tool with one well-documented parameter, comprehensive annotations, and no output schema, the description is complete. It adequately explains what the tool returns and the required input.
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 100% with a clear description for 'botId'. The tool description does not add new parameter information beyond what the schema already provides, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve'), identifies the resource ('outbound webhooks'), and scopes it to 'a specific bot'. It also lists what information is included (target URLs and subscribed event types), making it easily distinguishable from sibling tools like 'neuron_list_webhooks'.
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 clearly states what the tool does but does not provide explicit guidance on when to use this tool vs. alternatives. There is no mention of when not to use it or reference to related tools like 'neuron_list_webhooks' for broader listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_payoutsList PayoutsARead-onlyIdempotentInspect
Retrieve the payout history for the organization, including amounts, statuses, and timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of payout records per page (default: 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds minimal context (fields returned) but does not contradict annotations or add significant behavioral insight 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?
Single sentence, no unnecessary words. Front-loaded with action and resource. Efficient and clear.
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 nature of the tool (list with pagination), schema covers parameters, annotations cover safety, and description explains return fields. It is complete enough for an agent to invoke correctly, though additional context like date filtering might be helpful.
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 has 100% coverage with clear descriptions for both parameters (page, limit) including defaults. Description does not add any parameter-specific information, so baseline score of 3 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?
Description uses specific verb 'retrieve' and resource 'payout history', and mentions included fields (amounts, statuses, timestamps). It clearly distinguishes from sibling tools that list other resources like contacts or bots.
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., neuron_request_payout for requesting a payout). No preconditions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_personasList PersonasARead-onlyIdempotentInspect
List voice personas for the org. Each persona holds a voiceProfile (tone/style/themes/dos/donts) + exemplars distilled from a Collection of mined content.
| 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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by disclosing the internal structure of a persona (voiceProfile fields and exemplars), which hints at the return format. It 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 sentence that efficiently states the tool's purpose and adds relevant domain context. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description sufficiently explains what the tool lists, the scope (org), and the structure of each item. The annotations cover safety, and the description covers the data model, making it complete for an agent to invoke and interpret results.
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, so schema coverage is trivially 100%. The baseline is 4 for no parameters, and the description appropriately focuses on what the tool returns rather than parameters.
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 voice personas for the org' with a specific verb and resource. It distinguishes from sibling tools like get_persona (singular) and build/update/delete persona, and adds context about the contents of a persona (voiceProfile + exemplars), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the verb 'list' and scope 'for the org', but there is no explicit guidance on when to use it over alternatives like get_persona for a single persona. No exclusions or alternative tools are mentioned, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_publishedList My Published ItemsARead-onlyIdempotentInspect
List all items the current organization has published to the marketplace pool.
| 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, destructiveHint=false, idempotentHint=true. The description adds the specific scope (current organization's published items to marketplace pool), providing 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?
Single sentence, zero wasted words, directly states the tool's function.
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 list tool with comprehensive annotations, the description fully covers what the tool does and the scope, leaving no gaps.
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?
Input schema has zero parameters, so description does not need to explain parameters. Schema coverage is 100% (no params), so baseline 4 applies.
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 specifies the verb 'list', the resource 'items the current organization has published to the marketplace pool', and distinguishes from siblings like 'neuron_browse_pool' (browse all pool items) and 'neuron_get_pool_item' (single item).
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?
Description explicitly states it lists items published by the current organization, which guides use cases. It does not explicitly state when not to use it, but the sibling context provides differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_reflectionsList ReflectionsARead-onlyIdempotentInspect
Retrieve pending reflections that the bot has generated from conversations, awaiting human review. Optionally filter by approval status.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to list reflections for | |
| status | No | Filter reflections by approval status (default: all statuses) |
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, indicating safe read operation. The description adds that reflections are 'pending' and can be filtered by status, but does not detail pagination, ordering, or other behaviors. With annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no unnecessary words. The purpose is front-loaded, making it easy to scan. Every sentence adds 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?
Despite no output schema, the description is adequate for a simple list tool with two parameters. It clearly explains what is retrieved and the filtering option. Could mention that it returns a list of reflection objects, but overall complete.
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 100%, so the schema already documents both parameters. The description adds context for the status parameter ('Optionally filter by approval status'), but this is marginal. Baseline 3 is correct.
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 'Retrieve', the resource 'reflections', and the context 'pending reflections that the bot has generated from conversations, awaiting human review'. It effectively distinguishes from sibling tools like neuron_approve_reflection and neuron_reject_reflection.
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 when to use (when you need to see reflections for human review) and mentions optional filtering by status, but does not explicitly exclude other scenarios or provide alternatives. However, given the sibling context, it is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_scheduled_messagesList Scheduled MessagesARead-onlyIdempotentInspect
Retrieve a paginated list of scheduled messages for the current organization, with optional filtering by status (scheduled, sent, failed, cancelled).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of items per page (default: 20) | |
| status | No | Filter by status: 'scheduled', 'sent', 'failed', or 'cancelled' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. The description adds behavioral context like pagination and optional filtering, which is useful 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?
Single sentence efficiently conveys the tool's purpose, scope, and key features without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description could mention response structure. It adequately covers the basic use case but lacks details on pagination metadata or error handling.
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 covers all 3 parameters completely (100% coverage). Description mentions pagination and status filtering, but does not add meaningful detail beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Retrieve' and resource 'scheduled messages' with scope 'current organization', and mentions pagination and status filtering, clearly distinguishing from sibling tools like get_scheduled_message.
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 states what the tool does but does not explicitly guide when to use it versus alternatives (e.g., get_scheduled_message for a single message). No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_social_channelsList Social ChannelsARead-onlyIdempotentInspect
Retrieve all social media channels (Instagram, Twitter/X) configured in the current organization.
| 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, non-destructive behavior. Description adds that it retrieves all channels, but does not reveal potential limits or response structure. With annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single 13-word sentence, no fluff, front-loaded with 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?
For a simple no-parameter list tool with no output schema, the description is sufficient. It provides all necessary 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?
No parameters exist; schema description coverage is 100%. The description adds no parameter information, but none is needed.
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 retrieves all social media channels configured in the current organization, specifying verb, resource, and scope. It distinguishes well from sibling tools that manage individual channels or other channel types.
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?
Description implies usage for listing all social channels, but does not explicitly state when not to use or mention alternatives like neuron_get_social_channel for a single channel. The context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_tasksList Bot TasksARead-onlyIdempotentInspect
List all scheduled tasks for a bot. A task is a natural-language instruction the bot carries out autonomously on a schedule (e.g. 're-engage stale contacts every morning at 8am').
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | UUID of the bot |
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, covering the safety profile. The description adds valuable domain context by explaining tasks as autonomous scheduled natural-language instructions, which helps avoid confusion with scheduled messages or task runs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and scope. The example is concise yet illustrative, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter, strong safety annotations, and no output schema, the description is complete. It defines the resource type and scope, making it clear what the tool does and when to use it, without needing to explain return formats or further 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 fully documents the single required parameter botId as 'UUID of the bot' (100% coverage). The description adds no additional meaning beyond simply saying 'for a bot', so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all scheduled tasks for a bot', using a specific verb and resource. It further defines what a task is with a concrete example, distinguishing it from related tools like get_task_runs or list_scheduled_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?
The description implies usage: when you need to see a bot's scheduled tasks. However, it does not explicitly compare against alternative tools or mention exclusions, leaving the agent to infer when this is the appropriate list tool among many list_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_toolsList ToolsARead-onlyIdempotentInspect
Retrieve all custom API tool integrations configured for a specific bot, including their endpoints and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to list tools for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context about return content (endpoints and configuration) beyond annotations, but annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. No contradiction, but added value is modest.
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, 14 words, front-loaded with purpose, no filler. 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?
For a simple list tool with one parameter, no output schema, and clear annotations, the description is fully adequate. No missing 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?
Schema coverage is 100% and schema already describes botId as UUID. Description only restates 'for a specific bot', adding no new semantics beyond schema. Baseline 3 applies.
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 uses specific verb 'Retrieve' and resource 'custom API tool integrations', includes scope 'for a specific bot', and mentions return content (endpoints and configuration). Clearly distinguishes from list_* siblings like neuron_list_builtin_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?
States when to use (to list tools for a bot) but does not explicitly mention when not to use or alternatives. However, the tool name and sibling context make it evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_webhooksList WebhooksARead-onlyIdempotentInspect
Retrieve all inbound webhooks configured for a specific bot, including their status and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to list webhooks for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the description's addition of return content (status and configuration) is useful but not required. 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 that is front-loaded with action and resource, no wasted words. Perfectly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions return of status and configuration, which is adequate given no output schema. It does not mention pagination or ordering, but for a simple list tool with openWorldHint, this is sufficient.
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 100% with a clear description for botId. The tool description does not add further meaning beyond what the schema provides, so baseline 3 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 'Retrieve' and the resource 'inbound webhooks', scoped to a specific bot, and specifies what is included ('status and configuration'). This distinguishes it from sibling tools like neuron_list_outbound_webhooks.
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 listing inbound webhooks for a bot, but does not explicitly state when not to use alternatives like neuron_get_webhook_logs or neuron_create_webhook. However, the term 'inbound' differentiates it from outbound webhooks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_list_whatsapp_contactsList WhatsApp ContactsARead-onlyIdempotentInspect
Retrieve contacts from the WhatsApp account connected to this channel, with optional search filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query to filter contacts by name or phone number | |
| id | Yes | Unique identifier (UUID) of the channel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description only adds scope (WhatsApp account connected to channel). No additional behavioral details like rate limits or data freshness.
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 clear sentence, front-loaded with purpose. No extraneous text.
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?
Covers key aspects: retrieves WhatsApp contacts, optional filtering. Lacks mention that channel must have connected WhatsApp account (implied but not explicit). With no output schema, a brief note on return type would enhance completeness.
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 covers both parameters with descriptions. Description reinforces optional search filtering for 'q' but does not add new meaning beyond schema. Baseline 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'retrieve', resource 'contacts', and source 'WhatsApp account connected to this channel'. Optional search filtering distinguishes it from general contact list tools like 'list_contacts' and 'search_contacts'.
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?
Implies use when needing WhatsApp contacts, but no explicit comparison to sibling tools like 'list_contacts' or 'search_contacts'. No guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_loginLogin to NeuronAIdempotentInspect
Authenticate with Neuron. Three modes:
No args: Opens a browser URL for secure authorization (recommended — no credentials shared with AI)
token: Paste an MCP token from the Neuron dashboard
email+password: Legacy login (credentials visible to AI)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent, not destructive, not readonly. Description adds transparency about browser flow, credential visibility, and legacy mode risks. 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?
Concise, well-structured with numbered list. Every sentence adds value. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description fully explains what the tool does and how to use it. Covers all modes and provides recommendations.
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?
Input schema has 0 parameters with 100% coverage. Description adds meaning by explaining the three authentication modes, which are not captured by the schema. Although modes 2 and 3 imply parameters not in schema, the description is still helpful context.
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 'Authenticate with Neuron', with three explicit modes. It distinguishes itself from siblings as the only login tool.
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?
Provides explicit guidance on when to use each mode (no args recommended, token from dashboard, legacy email/password). Includes security context for each.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_logoutLogoutAIdempotentInspect
Clear the current auth token locally. Does NOT revoke server-side MCP tokens — revoke from the Neuron dashboard (Settings > MCP Tokens) for full invalidation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral trait that it only clears locally and does not revoke server-side tokens. Annotations indicate idempotent and non-destructive, which aligns. There is 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?
Two sentences, no wasted words. First sentence states the core action, second clarifies the limitation. Perfectly concise and focused.
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 logout tool with no params or output schema, the description covers the essential: what it does and its limitation. Minor omission: does not explicitly state the need to re-login, but it's implied. Still, very complete.
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; schema coverage is 100%. Per rules, baseline is 4. The description adds no parameter details as none are needed.
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 clears the local auth token (logout), distinguishing it from server-side revocation. It uses specific verb 'clear' and resource 'auth token locally', with no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (clear local token) and what it does not do (does not revoke server-side tokens), with a clear alternative for full invalidation (use dashboard). This provides excellent guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_mark_as_readMark as ReadAIdempotentInspect
Mark a WhatsApp message as read, sending read receipts to the sender.
| Name | Required | Description | Default |
|---|---|---|---|
| chatJid | Yes | Chat JID the message belongs to | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| messageId | Yes | WhatsApp message ID to mark as read |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent, non-destructive mutation. Description adds key side effect: sending read receipts to the sender, which is not captured in annotations. Could mention idempotency, but the disclosure is sufficient for the simple action.
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, 12 words, front-loaded with action and side effect. No fluff 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?
For a simple tool with 3 parameters and no output schema, the description is mostly complete. Lacks mention of idempotency or prerequisites like channel validity, but given the simplicity, these are not critical gaps.
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?
Input schema covers all three parameters with descriptions (100% coverage). Description adds no further semantic detail beyond what the schema provides, so baseline 3 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?
Description clearly states it marks a WhatsApp message as read and sends read receipts. The verb 'Mark' and resource 'WhatsApp message' are concrete. Easily distinguishable from sibling send/edit/delete message 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 explicit when-to-use or when-not-to-use guidance. The purpose is straightforward, but it doesn't contrast with alternatives like ignoring a message or using other message actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_merge_contact_listsMerge Contact ListsAInspect
Merge two or more contact lists into a single unified list, deduplicating entries. Window merge creates a virtual union; materialized merge creates a static copy.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the resulting merged list | |
| slug | No | URL-friendly slug for the merged list (auto-generated if omitted) | |
| mergeType | Yes | Merge strategy: 'window' (virtual union, stays in sync) or 'materialized' (static copy at merge time) | |
| sourceListIds | Yes | UUIDs or slugs of the source lists to merge (minimum 2) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate no read-only or destructive hints, so description carries the burden. It discloses that window merge stays in sync and materialized creates a static copy, but does not specify if source lists are modified or if there are 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 two sentences with no wasted words. It front-loads the purpose and then explains key distinctions efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality and merge types, but lacks mention of return values (since no output schema) and whether the operation is asynchronous. For a simple tool, it is mostly complete but could include minor additional 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 coverage is 100%, but the description adds value by explaining the behavior of 'window' vs 'materialized' mergeType and the deduplication feature, going beyond the schema's enum descriptions.
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 (Merge) and resource (contact lists) with specific action (deduplicating). It distinguishes between window and materialized merge, which differentiates it from sibling tools like create_contact_list or update_contact_list.
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 each merge type (window for virtual union, materialized for static copy), providing context. However, it does not explicitly state prerequisites or when to choose this tool over alternatives like creating a new list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_my_participationsMy Campaign ParticipationsARead-onlyIdempotentInspect
Retrieve all campaigns the current organization has joined as a participant, including earnings and delivery stats.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Number of participations per page (default: 20) |
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 value by specifying the returned data (earnings, delivery stats) and scope (current organization), providing 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 that front-loads the action and resource. Every word adds value—no fluff.
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 (list with pagination) and has good annotations. The description mentions what is returned (earnings and delivery stats), which is helpful. However, without an output schema, a bit more detail on the exact fields would be ideal, but it's still informative 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 100% description coverage for both parameters (page and limit) with their own descriptions. The tool description does not add any parameter-level information beyond what the schema provides, so baseline 3 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 it retrieves campaigns the current organization joined as a participant, including earnings and delivery stats. The verb 'Retrieve' and resource are specific, and it distinguishes from siblings like 'neuron_campaign_marketplace' and 'neuron_list_campaigns'.
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 when to use this tool (to see participations with stats), but does not explicitly state when not to use it or mention alternatives. The context is clear enough given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_pause_ad_requestPause Ad RequestAIdempotentInspect
Pause an active ad request campaign. Distribution stops until resumed. Only active ad requests can be paused.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the active ad request to pause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive behavior. The description adds context about stopping distribution and the requirement for the ad request to be active. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short sentences, each adding value. Front-loaded with the main action, followed by effect and precondition.
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 state-change tool with one parameter and no output schema, the description fully covers the purpose, precondition, and effect. No additional information 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?
Schema coverage is 100% with a well-described 'adRequestId' parameter. The description does not need to add extra parameter info, as the schema already provides the necessary 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 verb 'Pause', the resource 'ad request campaign', and includes the precondition 'Only active ad requests can be paused'. It distinguishes from siblings like 'stop_ad_request' and 'resume_ad_request'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the precondition for usage ('Only active ad requests can be paused'), which guides when to use. It does not explicitly mention when not to use or list alternatives, but the context is clear with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_pause_botPause BotAIdempotentInspect
Pause a bot to temporarily stop it from processing new messages. The bot retains its configuration and can be resumed later.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot to pause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive behavior. The description adds context that the bot retains configuration and can be resumed, which is helpful. However, it does not address idempotency for already-paused bots or clarify if pausing again has any effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two succinct sentences with no filler. It is front-loaded with the main action and explains key implications (retains config, can be resumed). Every sentence adds 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?
The description covers the core behavior and key details for a simple mutation tool. It lacks mention of return value or confirmation behavior, but given the tool's simplicity and the presence of annotations, it is nearly complete.
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 100% for the single parameter 'id', with a clear description. The tool description does not add additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (pause a bot), the resource (bot), and the effect (temporarily stops processing new messages while retaining configuration). The purpose is unambiguous and distinguishes from the sibling resume_bot tool.
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 the temporary nature and retention of configuration, but does not explicitly state when to use this tool versus alternatives like delete_bot or stop_bot. No exclusion criteria or direct comparison to siblings like resume_bot are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_pause_campaignPause CampaignAIdempotentInspect
Pause an active campaign to temporarily stop message delivery. Can be resumed later with the resume action.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the active campaign to pause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the description's claim of 'temporarily stop' is consistent. No additional behavioral details (e.g., response format, side effects) are provided beyond the annotations, making this adequate but not outstanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no redundant information. Every word adds value, efficiently conveying purpose and reversible nature.
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 action with one parameter, no output schema, and clear annotations, the description fully covers the necessary information: what the tool does, when to use it, and the effect. It is complete for 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 single parameter 'id' has 100% schema coverage with a clear description. The tool description does not add any information beyond what the schema already provides, so the baseline score of 3 applies.
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 'Pause', the resource 'active campaign', and the effect 'temporarily stop message delivery'. It also mentions the complementary resume action, distinguishing it from permanent stop operations among siblings.
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 active campaigns only and that it is reversible via resume. It does not explicitly exclude non-active campaigns or provide when-not-to-use scenarios, but the context is sufficiently clear for agent selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_populate_contactsPopulate ContactsAIdempotentInspect
Enrich existing contacts with additional data from connected messaging channels. Syncs profile information from linked platforms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true and destructiveHint=false, reducing the burden. The description adds context about syncing profile info from linked platforms but does not specify side effects (e.g., whether contacts are modified, what happens if no channels are linked).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose, no wasted words. Every sentence adds 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?
The description covers the core purpose and data source but omits scope (e.g., applies to all contacts or selected ones) and potential outcomes. Given no parameters and no output schema, it is mostly complete.
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 parameters and 100% schema coverage, the description does not need to explain parameters. It clearly states the action without needing param-level detail.
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 ('enrich existing contacts') and the data source ('from connected messaging channels'). It distinguishes itself from siblings like create/update/import by focusing on synchronous enrichment from external platforms.
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 enriching contacts from channels but does not explicitly state when to use vs alternatives (e.g., update_contact for manual edits) or prerequisites (e.g., contacts must exist, channels must be linked).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_post_to_newsletterPost to NewsletterAInspect
Post a message to a WhatsApp Channel newsletter. All subscribers receive the message. Provide at least one of text or mediaUrl. This triggers delivery and cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the newsletter to post to | |
| text | No | Message text or caption to post to the newsletter | |
| mediaUrl | No | URL of the media file to attach (required for image, video, or document types) | |
| messageType | No | Type of message to send (default: 'text') | text |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses important behavior: all subscribers receive, triggers delivery, irreversible. Annotations have destructiveHint=false, but 'cannot be undone' adds non-obvious context without 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?
Three sentences, each purposeful. Front-loaded action, audience, constraint/warning. No fluff.
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?
Adequate for a simple post action with no output schema. Covers audience, parameter requirement, and irreversibility. No gaps.
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 covers all parameters (100%) with descriptions. Description adds constraint 'provide at least one of text or mediaUrl', which is helpful but does not expand beyond schema 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?
Clear verb+resource: 'Post a message to a WhatsApp Channel newsletter.' Distinguishes well from messaging tools due to 'newsletter' context, but no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for mass newsletter notifications. Provides constraints ('at least one of text or mediaUrl', 'triggers delivery and cannot be undone') but no explicit when-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_publish_blog_postPublish Blog PostAInspect
Publish a blog post, making it publicly visible. The post must be in 'draft' status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the blog post to publish |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (modifies state) and destructiveHint=false. The description confirms it changes visibility and adds the draft prerequisite. No contradictions, and the draft requirement provides useful 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 two sentences with no wasted words. It front-loads the main purpose and then adds a key condition. 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?
Given the simple schema (1 param, no nested objects, no output schema) and annotations, the description covers the essential purpose and a critical precondition. It does not describe the return value or potential errors, but for a straightforward mutation tool, it is reasonably complete.
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 100% with a clear description of the 'id' parameter. The description adds context about the draft status requirement, but this is a precondition for the tool, not parameter-specific detail. Baseline 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 action (publish) and the resource (blog post), and specifies that it makes it publicly visible. It distinguishes from siblings like create, update, delete by providing a clear transition from draft to public.
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 includes a key precondition ('must be in draft status'), which guides when to use the tool. It does not explicitly state when not to use it or compare to alternatives, but the context is clear given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_publish_to_poolPublish to PoolAInspect
Publish a bot, tool, knowledge base, or reflection to the shared marketplace pool for other organizations to discover and install.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the pool listing | |
| tags | No | List of tags for improved discoverability (e.g., ['ai', 'customer-support']) | |
| type | Yes | Type of resource to publish to the pool | |
| category | No | Category name for organizing the resource in the pool | |
| sourceId | Yes | Unique identifier (UUID) of the source resource to publish | |
| description | No | Detailed description of the resource for the pool listing | |
| defaultSecrets | No | Pre-filled secrets auto-populated on install, e.g. { OAUTH2_TOKEN_URL: 'https://...' } | |
| setupInstructions | No | Step-by-step setup guide shown after installation (tool_template only, max 5000 chars) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description must carry the burden. It only states 'publish' without disclosing whether it overwrites, requires ownership, or has side effects like notification.
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, front-loaded sentence of 17 words that efficiently conveys the tool's purpose without 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?
While the description covers the core function, it omits context such as the dependency on an existing resource, the optionality of parameters like 'tags', and the restriction on 'setupInstructions' to one type.
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 100% with detailed descriptions, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('publish') and resource types ('bot, tool, knowledge base, or reflection') to a defined destination ('shared marketplace pool'), clearly distinguishing it from browsing or installing 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 implies when to use (to share resources), but does not explicitly state when not to use or mention alternatives like 'update_pool_item' or 'unpublish_from_pool'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_pull_pool_updatePull Pool UpdateAIdempotentInspect
Pull the latest updates for a subscribed pool resource to sync with the publisher's changes. Only applies to items installed with 'subscribe' mode.
| Name | Required | Description | Default |
|---|---|---|---|
| installId | Yes | Unique identifier (UUID) of the installed resource to pull updates for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive behavior. The description adds that it 'pulls updates' and 'syncs with publisher's changes', which is consistent. No contradictions and minimal additional 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?
Two sentences, front-loaded with the action and resource. Every word is necessary; 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?
Given the simple tool with one parameter and no output schema, the description covers purpose, precondition, and parameter. Could mention success/error outcomes, but adequate for this tool's complexity.
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 has one parameter with a clear description. The tool description does not add new meaning to the parameter beyond stating it's for a 'subscribed pool resource'. With 100% schema coverage, baseline 3 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 'pull' and the resource 'pool resource', and specifies the action is to sync with publisher's changes. It distinguishes from sibling tools like install_from_pool by clarifying it's only for subscribed items.
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?
Clearly states the precondition: only applies to items installed with 'subscribe' mode. This provides context on when to use the tool, but does not explicitly mention when not to use or suggest alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_refresh_contact_listRefresh Contact ListBIdempotentInspect
Trigger a refresh of a dynamic contact list. Re-evaluates criteria rules and/or AI prompt and materializes updated members.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the dynamic list to refresh |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is idempotent and non-destructive. The description adds behavioral context ('Re-evaluates criteria rules and/or AI prompt and materializes updated members') but does not cover potential delays, permissions, or side effects. Given annotation coverage, the description provides moderate added 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 extremely concise: two sentences with no wasted words. It front-loads the action ('Trigger a refresh') and efficiently explains the process. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter, no output schema), the description adequately explains the core functionality. However, it does not clarify what the tool returns or whether the refresh is synchronous, which leaves some ambiguity for an AI 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?
Schema coverage is 100%, so the parameter 'idOrSlug' is already fully described in the schema. The tool description does not mention the parameter or add any additional semantic meaning, resulting in a baseline score.
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 triggers a refresh of a dynamic contact list by re-evaluating criteria or AI prompts, distinguishing it from tools that simply view or manually edit lists. However, it does not explicitly contrast with sibling tools like 'get_contact_list_members' or 'update_contact_list', so the purpose is clear but sibling differentiation is implicit.
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, prerequisites (e.g., list must be dynamic), or scenarios where it should not be used. Agents are left to infer context from the brief text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_refresh_newsletterRefresh NewsletterAIdempotentInspect
Re-fetch metadata (name, description, subscriber count) for a WhatsApp Channel newsletter from WhatsApp to synchronize local data.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the newsletter to refresh |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the description adds little extra. It confirms the non-destructive, metadata-refresh nature but does not disclose additional behavioral traits like network latency 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, no fluff, front-loaded with the key action.
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?
Appropriate for a simple metadata-refresh tool. No output schema, but the action is clear. Could briefly mention that the operation is idempotent, but not necessary given 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 coverage is 100% and the description does not add meaning beyond the schema's parameter description ('Unique identifier (UUID) of the newsletter to refresh'). Adequate but no extra 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?
Clearly states the action ('re-fetch metadata'), the resource ('WhatsApp Channel newsletter'), and the purpose ('synchronize local data'). Distinguishes from sibling 'neuron_sync_newsletters' which likely syncs all newsletters.
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?
Implies usage for refreshing a single newsletter, but does not explicitly state when to use this vs. 'neuron_get_newsletter' or 'neuron_sync_newsletters'. No when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_refresh_tokenRefresh Access TokenAIdempotentInspect
Refresh the access token using a refresh token. Automatically sets the new access token for subsequent API calls.
| Name | Required | Description | Default |
|---|---|---|---|
| refreshToken | Yes | Refresh token obtained from the initial login response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive write. Description adds side effect: 'automatically sets the new access token for subsequent API calls'. No further details on invalidation of old token 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?
Two concise sentences with no redundancy. Front-loaded with action and impact.
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?
Sufficient for a simple token refresh tool with one parameter and no output schema. Covers purpose, side effect, and input source (refresh token from login).
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?
Only one parameter with 100% schema coverage. Schema already describes refreshToken. Description does not add extra semantics beyond repeating 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?
Clearly states the verb 'refresh', the resource 'access token', and the mechanism 'using a refresh token'. Distinguishes from sibling tools like login or logout by specifying its role.
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?
Implies use case: after obtaining a refresh token from login. Lacks explicit when-not-to-use or alternatives, but context is clear enough for this authentication tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_registerRegister New UserAInspect
Register a new user account with name, email, password, and organization name. Creates both the user and an initial organization.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Full name of the user | |
| Yes | Email address for the new account | ||
| orgName | Yes | Name of the organization to create for this user | |
| password | Yes | Password for the account (minimum 8 characters) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, consistent with the write operation. The description adds that both user and organization are created, but does not disclose side effects, rate limits, or post-registration behavior (e.g., auto-login, email verification). More details would be beneficial.
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 clear sentence, front-loaded with the purpose, and contains no superfluous words. It is efficient 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 registration tool with 4 required params and no output schema, the description is adequate but incomplete. It does not mention what the response contains (e.g., user ID, success message) or any post-creation steps. Additional context on return values would improve completeness.
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 100% with good descriptions for all parameters. The description adds marginal value by repeating 'organization name' but does not provide additional context, format, or usage tips beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Register') and resource ('new user account'), clearly stating it creates both user and organization. It distinguishes well from sibling tools like neuron_login or neuron_create_bot, which target different 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 implies usage for new user registration but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. Siblings are diverse but no guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_reject_reflectionReject ReflectionAIdempotentInspect
Reject a bot-generated reflection to prevent it from being incorporated into the bot's learned behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the reflection to reject |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true and destructiveHint=false. The description adds that the rejection prevents incorporation into learned behavior, which is useful behavioral 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, front-loaded with the main action, no unnecessary words. Highly concise and well-structured.
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 with one parameter, no output schema, and annotations cover safety. The description explains the purpose and effect completely for a rejection action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'id' parameter (UUID). The tool description does not add extra meaning, but the schema already suffices.
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 'Reject' on the resource 'bot-generated reflection' and explains the effect: preventing incorporation into learned behavior. This distinguishes it from sibling tools like 'neuron_approve_reflection'.
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 when you want to prevent a reflection from being learned. It could explicitly mention alternatives like 'neuron_approve_reflection' for the opposite case, but the context of rejection is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_release_conversationRelease ConversationAIdempotentInspect
Release a conversation back to the bot, returning control from a human agent. The bot will resume auto-responding.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation to release |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context (relevant to the takeover/release flow) beyond the annotations. The annotations already indicate idempotentHint=true and destructiveHint=false. The description explains the effect but does not detail prerequisites or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no unnecessary information. It is front-loaded with the core 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?
For a simple tool with one parameter and no output schema, the description is complete. It explains the purpose and effect adequately for an agent to understand when to use it.
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 covers 100% of the parameter description, and the description does not add additional semantics beyond what the schema provides. The parameter 'id' is well described in 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 the verb 'release' and the resource 'conversation', and explains the effect (returning control from a human agent, bot resumes auto-responding). This distinguishes it from the sibling tool 'neuron_takeover_conversation' which does the opposite.
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 when to use this tool (after a human has taken over a conversation and wants to return control to the bot). However, it does not explicitly state when not to use it or provide explicit alternatives, though the context of siblings like 'neuron_takeover_conversation' is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_remove_bot_channelRemove Bot ChannelADestructiveIdempotentInspect
Disconnect a WhatsApp channel from a bot. The bot will no longer respond to messages on this channel.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot | |
| channelId | Yes | Unique identifier (UUID) of the WhatsApp channel to disconnect |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the description adds context about the bot ceasing to respond. However, it does not fully disclose additional behavioral traits like reversibility, side effects, or whether the channel is deleted. Given annotations carry part of the burden, the description adds some but not extensive 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 extremely concise at two sentences. It front-loads the action in the first sentence and clarifies the consequence in the second. Every word contributes meaning, with no redundancy or unnecessary 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 the schema, annotations, and no output schema, the description covers the core functionality and effect. It lacks prerequisites or preconditions (e.g., channel must be connected), but this is a minor gap. Overall, it provides sufficient context for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (botId and channelId). The description does not add any additional meaning beyond what is already in the schema, so it meets the baseline without extra 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 clearly states the action 'disconnect', identifies the resource as 'WhatsApp channel from a bot', and explains the effect: 'bot will no longer respond'. It implicitly distinguishes from sibling tools like 'unassign_bot_from_channel' by specifying the channel type (WhatsApp).
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 when one wants to disconnect a WhatsApp channel, but it lacks explicit guidance on when to use this tool versus alternatives (e.g., unassign_bot_from_channel for non-WhatsApp channels). No 'when not to use' or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_remove_from_contact_listRemove from Contact ListADestructiveIdempotentInspect
Remove one or more contacts from a list by their contact IDs. Does not delete the contacts themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the contact list | |
| contactIds | Yes | Array of contact UUIDs to remove from the list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds value by explicitly stating that contacts are not deleted, clarifying the scope of destruction 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 sentences with zero wasted words. Front-loaded with the action and resource, followed by a critical clarification.
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?
Description is sufficient for a two-parameter tool with good annotations. It covers the key behavioral nuance (no deletion of contacts) and is adequately complete.
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 100% with clear descriptions for both parameters. The description adds no new parameter semantics beyond what the schema already provides, so baseline score applies.
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 action (remove from list), resource (contact list), and distinguishes from sibling tools like delete_contact or delete_contact_list by clarifying that contacts themselves are not deleted.
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?
Implied usage is to remove contacts from a list without deleting them, but no explicit when-to-use or when-not-to-use guidance is given, nor are alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_remove_memberRemove Organization MemberADestructiveIdempotentInspect
Permanently remove a member from the organization. The member loses all access immediately. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization | |
| userId | Yes | Unique identifier (UUID) of the member to remove |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. The description adds context that the action is permanent, irreversible, and causes immediate access loss, which is valuable 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?
Two sentences, no extra words. The purpose is front-loaded, and every sentence adds value by stating the action and its consequences.
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, but the description covers the essential context: what the tool does, its effect, and its irreversibility. It is sufficient for an agent to understand and 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?
Schema coverage is 100% with clear parameter descriptions. The description adds no additional meaning to the parameters, meeting the baseline for fully covered schemas.
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 'permanently remove a member from the organization' with specific verb and resource, distinguishing it from sibling tools like neuron_invite_member or neuron_list_members.
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 permanent removal with immediate access loss and irreversibility, but does not explicitly mention when to avoid using it or alternative actions like deactivation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_remove_profile_pictureRemove Profile PictureADestructiveIdempotentInspect
Remove the bot's WhatsApp profile picture, reverting to the default.
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true, which the description aligns with. The description adds that it reverts to default, but does not provide additional behavioral details (e.g., confirmation, permissions). With annotations covering the safety profile, the description adds marginal 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 sentence of 16 words, front-loaded with the action ('Remove the bot's WhatsApp profile picture'). No redundant information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description covers the core functionality and outcome. It could mention reversibility (can set a new picture later) but is otherwise complete given the 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 coverage is 100% with a single parameter, channelId, described as 'WhatsApp channel identifier (UUID)'. The description does not add any parameter-level info beyond what the schema already provides. Baseline 3 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 'remove' and the resource 'bot's WhatsApp profile picture', and specifies the outcome 'reverting to the default'. This distinguishes it from siblings like 'neuron_update_profile_picture' (update) and 'neuron_get_profile' (read). High 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 does not explicitly state when to use this tool vs alternatives (e.g., neuron_update_profile_picture). It implies usage for removing a profile picture but lacks exclusions or context about prerequisites beyond the required channelId parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_remove_tool_secretRemove Tool SecretADestructiveIdempotentInspect
Permanently delete a stored secret from a custom tool integration. The tool will lose access to this credential.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the tool to remove the secret from | |
| key | Yes | Secret key name to remove (e.g., 'API_KEY', 'AUTH_TOKEN') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. Description adds context about permanence ('Permanently delete') and consequence ('tool will lose access'), which is useful. 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?
Two sentences, no waste. Front-loaded with the key action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description is sufficient for a simple delete tool. Lacks return value explanation, but given no output schema, it's acceptable. Could mention that it returns a success confirmation, but not critical.
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% with clear descriptions for both parameters (id and key). The tool description does not add additional meaning beyond what the schema provides, so baseline score of 3 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?
Clearly describes the action 'Permanently delete' and the resource 'stored secret from a custom tool integration'. Distinguishes from sibling tools like neuron_add_tool_secret and neuron_delete_tool.
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?
Provides clear context for when to use (to remove a secret from a tool), but does not explicitly compare with alternatives or state when not to use. However, the purpose is self-evident given the sibling tool neuron_add_tool_secret exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_request_approvalRequest ApprovalAInspect
Ask a human to approve or reject an action over WhatsApp and get the decision back. The recipient replies approve/reject (optionally with a reason) or quotes the message. Use this to gate any action needing human sign-off (refunds, deploys, spend, publishing). Returns an approvalId; poll neuron_get_approval / neuron_list_approvals for the outcome, or supply a webhook in callback to be notified. Requires a bot API key ('nrn_' prefix).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient phone number (E.164/digits) or WhatsApp group JID | |
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| prompt | Yes | The approval question shown to the human | |
| context | No | Optional long-form details — stored in a shareable Neuron Note and linked from the WhatsApp message | |
| callback | No | Callback config. Omit for a poll-only flow (delivery scheme 'none'). | |
| metadata | No | Opaque data echoed back verbatim in the result/callback | |
| channelId | No | Optional WhatsApp channel override (UUID) | |
| idempotencyKey | No | Dedupe key — returns the existing approval on repeat | |
| expiresInSeconds | No | Time to live before auto-expiry (default 86400, 60–604800) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behavioral details: the recipient can reply with approve/reject or quote the message, an approvalId is returned, and the outcome can be retrieved via polling or webhook. It also mentions the authentication requirement ('nrn_' prefix API key). These add value beyond the readOnlyHint/idempotentHint/destructiveHint flags without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three well-structured sentences that front-load the core purpose, then cover usage context, return value, follow-up mechanisms, and authentication. No sentence is redundant, and it remains readable despite the tool's complexity.
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 (9 parameters, nested callback object, no output schema), the description provides sufficient context about the request flow, return value, and how to obtain the decision. It leverages the rich schema descriptions for parameter details and adds enough guidance for an agent to invoke the tool effectively, though a brief note on response structure would make it fully complete.
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%, and each parameter already has a detailed description. The tool description adds some high-level context around `callback` and the API key but does not significantly enhance the per-parameter semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: asking a human to approve or reject an action over WhatsApp and returning the decision. It uses a specific verb-resource pair and distinguishes itself from related sibling tools like neuron_respond_approval, neuron_get_approval, and neuron_cancel_approval by focusing on the initiation of the approval request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to gate any action needing human sign-off' and provides concrete examples (refunds, deploys, spend, publishing). It also offers clear alternatives for receiving the outcome, such as polling neuron_get_approval / neuron_list_approvals or supplying a webhook callback, though it does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_request_pair_codeRequest Pair CodeAInspect
Request a numeric pairing code for a Baileys channel as an alternative to QR code scanning. Requires the phone number to pair with.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the Baileys channel | |
| phoneNumber | Yes | Phone number to generate the pair code for (E.164 format, e.g., '+2348012345678') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readOnly and non-destructive, and the description implies a request operation. However, it doesn't disclose side effects, permissions, or what the response contains. With no output schema, more detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no unnecessary words. First sentence describes the action and purpose, second adds the requirement. 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?
Adequate for a simple request tool, but lacks details on the return value (the pairing code) and any potential side effects. With no output schema, the description should at least hint at what the tool returns.
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 100% and already documents both parameters (id and phoneNumber) with descriptions. The description adds no new meaning beyond 'requires the phone number', which is already in 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?
Clearly states the action (request a numeric pairing code), the resource (Baileys channel), and distinguishes it from the sibling tool 'get_channel_qr' by positioning it as an alternative to QR code scanning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions the prerequisite (phone number required) and contrasts with QR scanning, giving context for when to use this tool. Could be improved by explicitly stating when not to use it, but it's clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_request_payoutRequest PayoutAInspect
Request a payout to transfer funds from the organization wallet to the linked bank account. A bank account must be saved first.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to transfer in the smallest currency unit — kobo for NGN (e.g., 100000 = NGN 1,000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With minimal annotations (readOnlyHint false), the description conveys that the tool transfers funds, which is a write operation. But it lacks details on potential errors, limits, or whether the action is reversible. More behavioral context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the action, second states a prerequisite. No unnecessary words, front-loaded with the main 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?
The description gives the core purpose and a prerequisite but does not mention what the response contains (e.g., payout details or confirmation). Since there is no output schema, adding that information would improve completeness.
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 100%; the schema already describes the amount parameter with unit and constraints. The description adds no additional semantics beyond what the schema provides.
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 requests a payout from the organization wallet to the linked bank account, using specific verb 'request' and resource 'payout'. It distinguishes from siblings like neuron_save_bank_account and neuron_verify_bank_account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the prerequisite that a bank account must be saved first, guiding the agent to ensure that step is complete before calling this tool. However, it does not mention when to prefer this over other payout-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_respond_approvalRespond to ApprovalAInspect
Approve or reject a pending approval programmatically — the decision surface for an authorized operator acting via MCP instead of replying on WhatsApp. Fires the configured callback and posts the outcome to the WhatsApp chat. Exactly-once: the first responder (here or on WhatsApp) wins; later responses return 410. Requires a bot API key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Bot API key with 'nrn_' prefix for authentication | |
| reason | No | Optional reason (recommended for rejections) | |
| decision | Yes | The decision to record | |
| approvalId | Yes | The approval request id (UUID) | |
| responderName | No | Optional display name of the operator making the decision |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool fires a callback, posts to WhatsApp, and enforces exactly-once semantics with first-wins and 410 for later responses. It also notes the API key requirement. These details supplement the annotations, which only indicate readOnly=false and non-idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, side effects, exactly-once semantics, and auth, but lacks explicit mention of successful return value or response format (no output schema provided). Still, it is quite complete for a mutation 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?
Schema coverage is 100%, so the baseline is 3. The description adds minimal parameter-specific detail beyond schema (e.g., it doesn't elaborate on reason or responderName), though it does confirm the decision values implicitly.
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 approves or rejects a pending approval programmatically, distinguishing from WhatsApp reply and from sibling tools like request/cancel/reflection actions. It specifies the resource (pending approval) and the action (decide).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context for when to use (MCP instead of WhatsApp) and the exactly-once behavior warns of potential 410 errors for duplicate responses. However, it doesn't explicitly name alternative tools or exclude usage for reflection approvals, leaving some ambiguity with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_resume_ad_requestResume Ad RequestAIdempotentInspect
Resume a paused ad request campaign. Distribution resumes from where it left off. Only paused ad requests can be resumed.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the paused ad request to resume |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is a non-read-only, idempotent, non-destructive action. The description adds behavior detail: 'Distribution resumes from where it left off.' This is helpful but does not disclose potential side effects. Adequate given 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?
Three concise sentences: action, behavior detail, precondition. No unnecessary words. Efficiently communicates 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?
For a simple mutation with one parameter and no output schema, the description covers the action, precondition, and resumption behavior. It does not explain error cases or return values, but given the simplicity, it is largely complete.
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 sole parameter 'adRequestId' is fully described in the input schema (100% coverage). The tool description does not add extra semantics beyond the schema, so baseline score of 3 applies.
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 'Resume' and the resource 'paused ad request campaign'. It distinguishes from sibling tools like 'pause_ad_request' and 'stop_ad_request' by specifying the precondition that only paused ad requests can be resumed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the condition for use: 'Only paused ad requests can be resumed.' It implies when to use but does not explicitly mention alternatives or when not to use (e.g., if already running). Still provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_resume_botResume BotAIdempotentInspect
Resume a previously paused bot so it begins processing new messages again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot to resume |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only, not destructive, and idempotent. The description confirms the behavioral effect but does not add details on edge cases (e.g., resuming an already running bot) or safety information 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, well-structured sentence that conveys the necessary information without any redundancy or unnecessary 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?
For a simple single-parameter tool with no output schema, the description is sufficiently complete. It explains the purpose and effect, though it could briefly mention behavior if the bot is already running.
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 parameter 'id' is fully documented in the input schema with a clear description. The tool description adds no additional meaning beyond what the schema provides, and schema coverage is 100%, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (resume), the target (a previously paused bot), and the outcome (begins processing new messages). It effectively distinguishes from sibling tools like pause_bot.
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 when a bot is paused, but does not explicitly state prerequisites or provide alternative choices. However, the context is clear given the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_resume_campaignResume CampaignAIdempotentInspect
Resume a previously paused campaign to restart message delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the paused campaign to resume |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive. The description adds that the campaign must be paused and that it restarts delivery, providing behavioral context beyond what annotations alone convey.
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, efficiently conveying purpose and prerequisite.
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 parameter and no output schema, the description is complete: it states the action, the prerequisite (paused campaign), and the result (restart delivery).
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 covers the single parameter id (UUID) with 100% description coverage. The description does not elaborate on the parameter beyond the schema, so baseline score of 3 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 action (resume), the resource (campaign), and the effect (restart message delivery). It distinguishes from siblings like pause_campaign and stop_campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires the campaign to be 'previously paused', guiding usage. While it doesn't mention alternatives, the condition is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_revoke_api_keyRevoke API KeyADestructiveIdempotentInspect
Permanently revoke an API key to immediately invalidate it and prevent further programmatic access. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot that owns the API key | |
| keyId | Yes | Unique identifier (UUID) of the API key to revoke |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds 'cannot be undone', reinforcing permanence, but adds limited additional 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 two sentences, front-loaded with the action and effect, and contains no extraneous 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?
For a simple revocation tool with two well-documented parameters and no output schema, the description is complete. It explains the effect, permanence, and immediate action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description does not add any extra meaning about the parameters, so it meets the baseline without enhancing 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 uses the strong verb 'revoke' and specifies 'permanently' and 'immediately invalidate'. It clearly distinguishes the tool from sibling tools like neuron_create_api_key and neuron_list_api_keys, as it focuses on revocation.
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 use when permanent invalidation is needed and notes irreversibility, but does not explicitly state when not to use or provide alternatives. This leaves some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_revoke_group_inviteRevoke Group InviteADestructiveInspect
Revoke the current group invite link and generate a new one. The old link will stop working. Requires admin.
| Name | Required | Description | Default |
|---|---|---|---|
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the destructive nature (old link stops working) and aligns with the annotation destructiveHint: true. It adds context about the admin requirement, going 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?
Two sentences, no unnecessary words, clearly front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and side effects well. However, it lacks information about the return value (new invite link) since there is no output schema.
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 100% with descriptions for both parameters. The description does not add extra meaning to the parameters beyond the schema, so baseline 3 applies.
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 the current group invite link and generate a new one'), the resource (group invite link), and the effect ('the old link will stop working'). It distinguishes from sibling tools like 'get_group_invite_link'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite ('Requires admin'), giving clear usage context. However, it does not provide explicit when-not-to-use guidance or contrast with other invite-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_revoke_invitationRevoke InvitationADestructiveIdempotentInspect
Revoke a pending organization invitation so it can no longer be accepted. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization | |
| invitationId | Yes | Unique identifier (UUID) of the invitation to revoke |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description reinforces irreversibility but does not disclose additional behavioral traits like error handling for non-existent invitations or permission requirements. Adds marginal value 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?
Two sentences, no fluff: first states purpose, second notes irreversibility. Every sentence is essential and front-loaded.
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 lacks details on return values, error cases (e.g., invalid invitation ID), or prerequisites. However, for a simple revoke action with full schema and annotations, it is minimally viable 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?
The input schema already provides full descriptions for both parameters (100% coverage). The description adds no extra parameter details, so baseline score of 3 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 action (revoke), the resource (pending organization invitation), and the consequence (cannot be undone). Among siblings like 'neuron_invite_member' and 'neuron_revoke_group_invite', it is unambiguous and 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?
The description implies when to use: when revoking a pending invitation that hasn't been accepted. It does not explicitly mention when not to use or differentiate from 'neuron_revoke_group_invite', but the 'pending' qualifier and irreversibility provide adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_rewrite_textRewrite TextAInspect
Rewrite or rephrase text using AI with specified tone, style, or instructions (e.g., make it more formal, translate, summarize).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The original text to rewrite or transform | |
| instruction | No | Instructions for how to rewrite the text (e.g., 'make it more professional', 'translate to Spanish', 'summarize in 2 sentences') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions AI-generated rewriting, implying non-deterministic results, but does not elaborate on behavior like potential variability or credit consumption. Annotations already indicate non-idempotency; the description adds little beyond purpose.
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 efficiently captures the tool's action and provides illustrative examples without redundancy. It is well-structured and front-loaded with the core functionality.
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 with two parameters and no output schema. The description covers the intended transformation but does not explicitly state the return value (rewritten text). However, the absence is minor given the tool's straightforward nature.
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 100%, but the description adds valuable examples for the 'instruction' parameter (e.g., 'make it more professional', 'translate to Spanish'), which clarifies usage beyond the schema's generic description. This extra context raises the score above baseline.
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 rewrites or rephrases text using AI, with specific examples like formalizing, translating, or summarizing. It distinguishes this from sibling tools that send, compose, or edit messages, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear examples of when to use (e.g., formalizing, translating, summarizing) but does not explicitly state when not to use or mention alternatives. While the context is clear, the lack of exclusions or comparisons to similar tools leaves minor room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_run_lead_sourceRun Lead SourceAInspect
Run a lead source now to pull new leads into the pool (queues the extraction).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Lead source UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly=false, idempotent=false, and destructive=false. The description adds valuable context by stating that the operation 'queues the extraction,' which reveals asynchronous behavior and that leads are added to the pool. No contradiction with 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, front-loaded sentence: 'Run a lead source now to pull new leads into the pool (queues the extraction).' It contains no filler and communicates purpose and behavior efficiently.
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 a simple one-parameter trigger with annotations and no output schema, the description sufficiently covers purpose, effect, and the queued/asynchronous nature of the operation. It could mention return behavior or error cases, but these are not critical for this low-complexity 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 provides 100% coverage for the single parameter 'id' with the description 'Lead source UUID.' The tool description does not add additional parameter-specific meaning, so it rests at the baseline for fully-schema-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Run') on a specific resource ('lead source') and the intended effect ('pull new leads into the pool'). It also notes the queued extraction behavior. However, it does not explicitly differentiate from related sibling tools such as neuron_extract_leads or neuron_create_lead_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 phrase 'Run a lead source now' clearly conveys immediate/manual execution, and the context of pulling new leads into the pool implies when this tool is appropriate. It does not provide explicit exclusions or alternatives, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_run_taskRun Bot Task NowAInspect
Trigger a task to run immediately (in addition to its normal schedule). Returns once the run is queued.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the task |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral details beyond annotations: it runs 'in addition to its normal schedule' and 'returns once the run is queued', clarifying that the operation is asynchronous and does not wait for completion. This is valuable context that the annotations (readOnlyHint=false, idempotentHint=false) do not 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?
One concise sentence that front-loads the purpose and includes essential behavioral timing information. 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?
The tool is simple with one parameter, no output schema, and annotations. The description covers the core trigger action and the asynchronous return behavior. A minor gap is that it doesn't describe the format or content of the returned value (e.g., run ID or status), but the mention of 'queued' implies an acknowledgement. Overall sufficiently complete for an agent to select and invoke 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 already provides complete coverage for the single 'id' parameter with a clear description ('UUID of the task'). The tool description does not add any parameter-level information, but given 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Trigger'), the resource ('a task'), and the key behavior ('run immediately in addition to its normal schedule'). This distinguishes it from task creation, updating, toggling, and retrieval. The title 'Run Bot Task Now' reinforces the 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?
The description provides clear context: use this to trigger an immediate run outside the normal schedule. It implies this complements rather than replaces scheduling, but does not explicitly name alternative tools like toggle_task or update_task. Thus there is clear context but no explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_save_bank_accountSave Bank AccountAIdempotentInspect
Save a verified bank account as the organization's payout destination. Verify the account first using neuron_verify_bank_account.
| Name | Required | Description | Default |
|---|---|---|---|
| bankCode | Yes | Nigerian bank code (e.g., '058' for GTBank, '044' for Access Bank) | |
| bankName | Yes | Full name of the bank (e.g., 'Guaranty Trust Bank') | |
| accountName | Yes | Account holder name as returned from bank verification | |
| accountNumber | Yes | 10-digit Nigerian bank account number |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool saves a verified account as the payout destination, which implies a write operation (consistent with readOnlyHint=false) and is idempotent (matches idempotentHint=true). It provides context beyond annotations by specifying the account must be verified and the destination purpose, but does not detail other side effects like overwriting existing payout settings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each serving a distinct purpose: stating the tool's action and providing usage guidance. No redundant information, and critical details are front-loaded.
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 save operation, the description covers the main action and prerequisite. However, it lacks information about return values or error states (no output schema), and could briefly address what happens if the account already exists (idempotency implies safe retry, but not explicitly stated). Overall, it is nearly complete given the tool's simplicity.
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 already has 100% coverage with detailed descriptions for all four parameters. The tool description does not add extra meaning beyond the schema; it only reiterates that these are for a verified bank account. Thus, it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Save a verified bank account') and the purpose ('as the organization's payout destination'). It distinguishes from the sibling tool 'neuron_verify_bank_account' by noting the prerequisite, making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to verify the account first using 'neuron_verify_bank_account', providing a clear prerequisite and sequential guidance. However, it does not discuss when not to use this tool or compare with other payout-related siblings like 'neuron_get_bank_account' or 'neuron_request_payout'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_search_contactsSearch ContactsARead-onlyIdempotentInspect
Search contacts by a query string across name, phone number, and email fields. Returns matching contacts ranked by relevance.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query string to match against contact name, phone, or email |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds that results are 'ranked by relevance', which is useful behavioral context but does not disclose potential limits, pagination, or ordering details 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 concise with two sentences, no redundant information, and front-loads the essential purpose and behavior. Every sentence adds 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 simple search tool with one parameter and strong annotations, the description covers the main purpose, searched fields, and output ranking. However, it lacks details on result limits or pagination, which might be important 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?
Schema coverage is 100% and the schema provides a basic description of the 'q' parameter. The description adds meaningful context by specifying that the query matches across name, phone, and email fields, and that results are relevance-ranked, which is not in 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 the verb 'search', the resource 'contacts', and what fields are queried (name, phone, email). It also specifies the output behavior (ranked by relevance), which distinguishes it from sibling tools like 'neuron_list_contacts' that simply list all contacts.
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 text-based search against contact fields, but does not explicitly state when to use this tool versus alternatives like 'neuron_semantic_search_contacts' or provide any when-not guidance. The usage is implied but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_search_knowledgeSearch KnowledgeARead-onlyIdempotentInspect
Perform semantic search across all entries and documents in a knowledge base to find relevant information.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query text to find relevant entries | |
| id | Yes | Unique identifier of the knowledge base to search | |
| limit | No | Maximum number of search results to return |
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 'semantic search' scope but does not disclose additional behavioral traits like result ranking, pagination, or error behavior. It 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, front-loaded sentence of 15 words. It conveys the essential purpose without any superfluous content. Every word contributes 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?
With no output schema, the description should explain what the tool returns (e.g., a list of relevant entries, ranking, snippet). It merely says 'find relevant information' without specifying output format, pagination, or result structure. This is insufficient for an AI 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?
Schema coverage is 100%, so all three parameters (q, id, limit) are fully described in the schema. The description does not add any additional meaning, format details, or usage constraints beyond what the schema provides. Baseline score of 3 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 tool performs semantic search across all entries and documents in a knowledge base. It uses a specific verb ('perform semantic search') and resource ('entries and documents in a knowledge base'), distinguishing it from sibling tools like 'search_contacts' and 'semantic_search_contacts'.
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 context (when searching a knowledge base) but does not explicitly state when to use it versus alternatives like 'search_contacts' or 'semantic_search_contacts'. No when-not or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_semantic_search_contactsSemantic Search ContactsARead-onlyIdempotentInspect
Search contacts using natural language AI-powered semantic search. Finds contacts based on the meaning of their notes — skills, services, schedules, preferences, etc. Returns ranked results with relevance scores and AI-generated match reasons.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 10, max: 20) | |
| query | Yes | Natural language search query (e.g., 'who can deliver to Lagos on Monday?') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds valuable context about returning ranked results, relevance scores, and AI-generated match reasons, which goes 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 two sentences, concise and front-loaded. Every sentence adds value with 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?
Given the rich annotations and complete schema, the description covers the essential functionality and return value. It could be slightly more complete by specifying the scope (e.g., 'searches across all contacts'), but overall it provides a good understanding.
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 100% with clear descriptions for both parameters. The description adds context that the query is natural language and search is AI-powered, but does not add new details beyond what the schema already provides. Baseline score for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs semantic search on contacts using natural language, focusing on the meaning of notes. It distinguishes itself from other contact-related tools by specifying AI-powered, meaning-based search and mentions return of ranked results with scores and reasons.
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 use when you need to search contacts by meaning of notes but does not explicitly say when to use this vs alternatives like neuron_search_contacts or neuron_list_contacts. It lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_broadcastSend BroadcastAInspect
Send a broadcast message to all its recipients. The broadcast must be in draft status. This triggers message delivery and cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the broadcast to send |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), the description adds that the action triggers message delivery and cannot be undone, which is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences covering action, precondition, and consequence. 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?
For a simple one-parameter tool with full schema coverage and no output schema, the description provides essential context (precondition, irreversibility) and is nearly complete.
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 100%, so the schema already documents the 'id' parameter sufficiently. The description does not add any extra meaning or syntax 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 action ('send a broadcast message'), specifies the resource ('broadcast'), and provides a precondition ('must be in draft status'). It distinguishes from sibling tools like create_broadcast or update_broadcast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states that the broadcast must be in draft status and that the action triggers delivery and is irreversible, guiding appropriate usage. It does not compare directly to alternatives but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_campaign_messageSend Campaign MessagesAInspect
Send a campaign message to selected eligible contacts via WhatsApp. Requires the campaign to be in 'active' status and contacts to be eligible.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the active campaign | |
| contactIds | Yes | Array of contact UUIDs to send the campaign message to |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only and not destructive. The description adds value by specifying prerequisites but does not disclose additional behavioral traits beyond what annotations provide, such as idempotency 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 concise (two sentences) and front-loaded with the primary action. Every word adds value, with no unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description effectively covers purpose and prerequisites for a simple tool with two parameters and no output schema. While it could mention response format or error scenarios, the current content is sufficient for correct 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?
The input schema covers 100% of parameters with descriptions. The description mentions campaign status and contact eligibility, but does not add new information beyond the schema. Baseline 3 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 action (send), resource (campaign message), and channel (WhatsApp). It also includes prerequisites (active campaign, eligible contacts), distinguishing it from other message-sending tools like `send_message` or `send_broadcast`.
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 prerequisites for using the tool (campaign status, contact eligibility), but does not explicitly state when not to use it or suggest alternative tools. While context implies distinctions, the lack of explicit guidance lowers the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_contact_cardSend Contact CardBInspect
Send a vCard contact card via WhatsApp with name, phone, and optional organization.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient JID or phone number | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| contactOrg | No | Organization or company name | |
| contactName | Yes | Full name of the contact to share | |
| contactPhone | Yes | Phone number in international format (e.g. '+2348012345678') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (no readOnly, destructive, etc.), so the description should compensate. It fails to disclose behavioral traits such as whether the action is reversible, if it creates a message, or any side effects like sending notification.
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, 13 words. It is extremely concise and front-loaded with the core action. No unnecessary 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?
Given the complexity (5 parameters, 4 required), no output schema, and sparse annotations, the description is too brief. It lacks information about return value, error conditions, or idempotency. For a tool that sends data, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds a summary listing 'name, phone, and optional organization' but no deeper semantics beyond what the schema provides. Baseline score of 3 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 action ('Send'), the resource ('vCard contact card'), and the medium ('via WhatsApp'). It also lists the key data sent (name, phone, optional organization). This differentiates it from sibling tools like 'send_message' or 'send_location'.
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, nor does it mention prerequisites (e.g., needing an active WhatsApp channel or contact existence). No context on when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_locationSend LocationAInspect
Send a location pin via WhatsApp with coordinates and optional name/address.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient JID or phone number | |
| name | No | Location name (e.g. 'Eko Hotel') | |
| address | No | Street address | |
| latitude | Yes | Latitude in decimal degrees | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| longitude | Yes | Longitude in decimal degrees |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-destructive operation. The description adds the fact that it sends a location via WhatsApp, which is consistent. No additional behavioral traits (e.g., side effects, 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?
Single, well-structured sentence with no unnecessary words. Information is front-loaded and easily parsed.
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 low complexity (simple send) and full schema coverage, the description is mostly complete. However, it could mention the return value (e.g., message ID) since no output schema is provided.
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 covers 100% of parameters with descriptions. The description only repeats 'coordinates and optional name/address' without adding new meaning. Baseline of 3 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 'send', the resource 'location pin via WhatsApp', and includes 'coordinates and optional name/address'. It effectively differentiates the tool from siblings like neuron_send_message or neuron_send_poll.
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 lacks any guidance on when to use this tool versus alternatives like neuron_send_message or neuron_send_contact_card. No mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_messageSend MessageBInspect
Send a message to an existing conversation. Supports text, image, and document message types with optional media attachments.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation | |
| content | Yes | Message content to send | |
| mediaUrl | No | URL of media to attach (required for image/document message types) | |
| messageType | No | Type of message: 'text' (default), 'image', or 'document' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, but the description adds little behavioral context. It does not disclose how the tool handles missing required fields (e.g., mediaUrl for image/document types), what the response contains, or any side effects. With no idempotentHint or openWorldHint, the description should compensate but does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded. No redundant information. Every word adds 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 4-parameter send tool with no output schema, the description is brief. It covers the core action and supported types but omits common expectations like return format (message ID, success status), error conditions (e.g., invalid conversation ID), and how this tool relates to other messaging siblings. Given the complexity, it is adequate but not fully complete.
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 covers all 4 parameters with descriptions (100% coverage). The description adds only that message types include text, image, document, and media attachments are optional. This aligns with schema but does not clarify defaults (e.g., messageType defaults to 'text') or provide further syntax guidance. Baseline 3 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 ('Send'), the resource ('message to an existing conversation'), and supported types (text, image, document with optional attachments). It is specific enough to differentiate from siblings like neuron_compose_message or neuron_send_broadcast, though it does not explicitly distinguish them.
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 minimal guidance: it says to use for existing conversations but does not explain when to prefer this over alternatives (e.g., neuron_compose_message for new conversations, neuron_send_broadcast for broadcasts). No 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.
neuron_send_pollSend PollAInspect
Send a poll message via WhatsApp. Polls support 2-12 options and optional multi-select. Only supported on Baileys channels.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient JID or phone number (individual or group) | |
| name | Yes | Poll question/title | |
| options | Yes | Poll answer options (2-12 items) | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| selectableCount | No | Max selections allowed. 0 = unlimited (default). 1 = single-choice. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the channel restriction ('Only supported on Baileys channels') and poll-specific behavior (2-12 options, multi-select) beyond the annotations, which already indicate mutation. However, it does not disclose side effects like irreversibility or required 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?
The description is three concise sentences, each adding relevant information without redundancy. 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?
For a tool with 5 parameters and no output schema, the description covers key aspects: purpose, constraints, and channel support. It could be more complete by explaining the returned result (e.g., message ID) but overall is 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?
Schema coverage is 100%, so the description adds no new semantic information beyond the schema. The description reinforces constraints (e.g., 2-12 options) already present in the schema, meeting the baseline score of 3.
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 'Send a poll message via WhatsApp' with specific constraints (2-12 options, optional multi-select, Baileys channels only), distinguishing it from sibling send tools like neuron_send_message or neuron_send_whatsapp.
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 polls, but does not explicitly state when to use this tool versus alternatives (e.g., for text messages use neuron_send_message). No when-not-to guidance or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_reactionSend ReactionAIdempotentInspect
Send or remove an emoji reaction on a WhatsApp message. Pass an empty emoji string to remove a reaction.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Chat JID (e.g. '2348012345678@s.whatsapp.net' or group JID) | |
| emoji | Yes | Emoji character (e.g. '👍', '❤️'), or empty string to remove reaction | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| messageId | Yes | WhatsApp message ID to react to |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds that the tool both sends and removes reactions, which is consistent with annotations but doesn't provide novel behavioral context beyond what annotations and schema already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and every word is essential. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple tool with no output schema. It covers the main action and the special removal case, leaving no ambiguity.
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 100% with full parameter descriptions. The description redundantly states the empty string behavior for removal, which is already in the schema. No new semantics added.
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?
Clearly states the action 'send or remove an emoji reaction on a WhatsApp message'. The verb and resource are specific, and it uniquely identifies the tool among siblings which include generic send_message and send_sticker.
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?
Provides guidance on how to remove a reaction by passing an empty emoji string. Lacks explicit when-not-to-use or alternatives, but the dual function is well explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_stickerSend StickerBInspect
Send a WebP sticker image via WhatsApp. Only supported on Baileys channels.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient JID or phone number | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| stickerUrl | Yes | URL to a WebP sticker image |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive. The description adds that the sticker must be WebP format and only works on Baileys channels. This provides some behavioral context beyond annotations, but it does not disclose potential side effects, authentication requirements, or what happens if the channel is inactive.
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, consisting of two short sentences. It conveys the core purpose without extraneous words. However, it is so brief that it omits potentially helpful information, which prevents a perfect score. The structure is clear and front-loaded.
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 there is no output schema, the description should explain what the tool returns (e.g., message ID, success status) or any error conditions. It does not. Additionally, it lacks usage context such as whether the recipient must be a valid WhatsApp contact or if the sticker must be hosted externally. The tool is relatively simple, but the description still feels incomplete.
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?
Input schema has 100% coverage with descriptions for all 3 parameters. The tool description does not add significant new meaning beyond what the schema already provides. For 'stickerUrl', the description says 'URL to a WebP sticker image' which mirrors the schema. Baseline of 3 is appropriate as the description adds minimal extra 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 clearly states the action 'Send', the resource 'sticker image', the platform 'WhatsApp', and a constraint 'Only supported on Baileys channels'. It effectively distinguishes this tool from other send tools like neuron_send_message or neuron_send_poll by explicitly mentioning sticker and WebP. However, it could more explicitly contrast with 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 versus alternatives. It only mentions a platform constraint (Baileys channels) but does not elaborate on prerequisites, context, or scenarios where other tools would be more appropriate. No when-not-to-use or alternative tool names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_send_whatsappSend WhatsApp MessageAInspect
Send a WhatsApp message to a phone number or group. Auto-resolves which channel to use (org default > first connected). Supports text, image, audio, video, and document types.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient: phone number (e.g., '2348012345678') or group JID (e.g., '120363XXX@g.us') | |
| text | Yes | Message text content | |
| sendAt | No | ISO 8601 date-time for scheduled delivery (e.g., '2025-12-31T10:00:00Z'). Message sends immediately if omitted. | |
| mediaUrl | No | URL of media to attach (required for non-text message types) | |
| channelId | No | Unique identifier (UUID) of a specific channel to override auto-resolution | |
| contactName | No | Display name for the recipient contact | |
| messageType | No | Message type: 'text' (default), 'image', 'audio', 'video', or 'document' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond falses, the description carries the burden. It states the tool sends messages and auto-resolves channels, and lists supported types. It lacks details on side effects (e.g., costs, rate limits, queuing) or what happens on failure. This is adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding essential information: action, auto-resolution, supported types. No filler. The key verb and resource are front-loaded. 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 the 7 parameters with full schema coverage and no output schema, the description covers the main purpose, channel resolution, and supported media types. It does not describe return values (implicitly the message send result) or scheduling behavior (present in schema), but is still fairly complete for a sending 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?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining channel auto-resolution (meaning of channelId override) and the range of message types supported. This helps an agent understand parameter intent beyond the schema descriptions.
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 sends WhatsApp messages to phone numbers or groups, specifies auto-resolution of the channel, and lists supported media types (text, image, audio, video, document). This distinguishes it from sibling tools like neuron_send_message (which may be generic) and other WhatsApp-specific sending 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 explains the channel auto-resolution behavior (org default > first connected), giving context on when channelId override is needed. However, it does not explicitly state when to use this tool over alternatives like neuron_send_message or neuron_compose_message, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_set_default_channelSet Default WhatsApp ChannelAIdempotentInspect
Set or clear the default WhatsApp channel for the organization. The default channel is used by neuron_send_whatsapp for auto-resolving which channel to send through.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization | |
| channelId | Yes | Identifier (UUID) of the channel to set as default, or null to clear the default |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false. The description adds behavioral context by explaining the tool's impact on neuron_send_whatsapp, which is beyond what annotations provide. 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?
Two sentences—front-loaded with action, no wasted words. 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?
For a simple idempotent tool with no output schema, the description covers core purpose and impact on send whattsapp. Missing details like behavior on invalid channel are acceptable given low complexity.
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 100%, so the schema already documents both parameters. The description implicitly supports channelId being null by mentioning 'clear', but adds no new semantics beyond that. Baseline 3.
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 'Set or clear the default WhatsApp channel for the organization.' It uses specific verb (set/clear) and resource (default WhatsApp channel), and distinguishes from siblings like neuron_update_channel and neuron_assign_bot_to_channel by focusing on the default channel concept.
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?
Description explains that the default channel is used by neuron_send_whatsapp for auto-resolving, providing context on when to use the tool. While it doesn't explicitly list exclusions or alternatives, the sibling context makes the purpose clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_set_group_join_approvalSet Group Join ApprovalAIdempotentInspect
Enable or disable join approval mode for a WhatsApp group. When enabled, join requests must be manually approved by admins. Requires admin.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | true to require admin approval for joins, false to allow direct joins | |
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (idempotent, non-destructive), the description adds context about the admin authorization requirement and the behavioral effect ('join requests must be manually approved by admins'). This helps the agent understand the tool's implications.
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 three short sentences (about 30 words) with no wasted words. It front-loads the core purpose and adds necessary context efficiently.
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 boolean toggle tool, the description covers the main functionality, effect, and prerequisite. It lacks information about return values or error cases, but this is acceptable given the low complexity and lack of output schema.
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 100%, so the baseline is 3. The description indirectly clarifies the 'enabled' parameter by explaining the mode, but does not provide additional meaning for 'groupJid' or 'channelId' beyond the schema descriptions.
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 (enable/disable) and the resource (join approval mode for a WhatsApp group). It explicitly mentions the admin requirement, which distinguishes it from other group management tools like neuron_handle_join_requests or neuron_get_group_invite_link.
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 when to use the tool (to toggle approval mode) and clearly states the prerequisite ('Requires admin'). However, it does not explicitly mention when not to use it or provide alternatives, such as using neuron_handle_join_requests for managing pending requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_set_presenceSet PresenceAIdempotentInspect
Set typing indicator or online/offline presence on a WhatsApp chat. Only supported on Baileys channels.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Chat JID to set presence for | |
| type | Yes | Presence type | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotent and non-destructive hints. Description adds the channel-specific constraint (Baileys only), which is useful context. No contradictions. Could elaborate on side effects like broadcasting typing indicator to others.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no redundant words. Highly concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema), description covers basic purpose and constraint. Lacks mention of return value or behavioral side effects like others seeing the typing indicator. Adequate but not fully complete.
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 covers all parameters with descriptions; baseline at 3. Description does not add meaning beyond what the schema provides, e.g., doesn't explain the JID format or the effect of each presence type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Set' with specific resource 'typing indicator or online/offline presence'. Distinguishes from siblings by focusing on presence and noting the Baileys channel limitation.
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?
Implies usage for showing typing status or changing online presence, but no explicit when-to-use vs alternatives or when-not-to-use. The channel constraint is helpful but not a full guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_start_channel_sessionStart Channel SessionAIdempotentInspect
Start a Baileys (direct WhatsApp) session for the channel. Generates a QR code for device pairing. Only applicable to Baileys-type channels.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the Baileys channel to start |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds that it 'Generates a QR code for device pairing,' but does not disclose what happens if the session is already active or whether starting again overwrites the prior session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no waste. The first sentence immediately states the core action, and the second provides relevant 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?
For a simple tool with one parameter and no output schema, the description covers the key points: action, outcome (QR code), and constraint (Baileys-type). It does not explicitly state that it returns the QR code, but the implication is sufficient.
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 100%; the description does not add extra meaning beyond the schema's parameter description. Baseline score 3 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 uses a specific verb ('Start') and resource ('Baileys session for the channel'), and distinguishes from siblings like neuron_start_social_channel_session by specifying 'Only applicable to Baileys-type channels'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states applicability ('Only applicable to Baileys-type channels'), which provides clear context for when to use. However, it does not explicitly mention when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_start_social_channel_sessionStart Social Channel SessionAIdempotentInspect
Start or reconnect a social media session for the channel. Initializes the platform client with stored credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to start |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true, which aligns with the description's mention of 'reconnect'. The description adds the detail about initializing with stored credentials, providing context beyond annotations. However, it does not disclose potential side effects or error conditions, so it is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, directly stating the purpose and behavior. It is concise, front-loaded, and contains no superfluous 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 simple input (one parameter) and no output schema, the description covers the essential behavior. It explains what happens (start/reconnect) and how (initializes with credentials). It could be slightly improved by mentioning the return value or success/failure indicators, but it is largely complete.
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 only one parameter 'id', and the schema already provides a full description ('Unique identifier (UUID) of the social channel to start'). The tool description does not add any additional meaning or context for the parameter beyond that.
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 ('start or reconnect') and the resource ('social media session for the channel'). It also explains the initialization with stored credentials. This effectively differentiates it from sibling tools like 'neuron_stop_social_channel_session' and 'neuron_start_channel_session'.
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 does not explicitly state when to use this tool versus alternatives. The context is implied by the tool name and the mention of 'social channel', but there is no direct guidance on prerequisites 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.
neuron_stop_ad_requestStop Ad RequestADestructiveInspect
Stop an active or paused ad request campaign permanently. Any remaining unspent budget is refunded to the organization wallet. This cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the ad request to stop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the description's 'cannot be undone' aligns. It adds the refund behavior, but does not disclose other side effects (e.g., campaign record retention) or permissions needed. With annotations providing the destructive hint, the description adds moderate 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?
Two sentences, front-loaded with the action, no extraneous information. Every sentence serves a purpose: stating the action and its permanent nature, and noting the budget refund.
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 mutation tool with one parameter and no output schema, the description covers the key effects. It could mention the return value or confirmation, but the tool's simplicity makes this 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?
Schema coverage is 100% and clearly describes adRequestId as a UUID. The description mentions 'ad request campaign' but adds no additional meaning beyond what the schema provides, so baseline 3 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 it stops an active or paused ad request campaign permanently, using the specific verb 'stop' and resource 'ad request campaign'. It distinguishes from sibling tools like pause (temporary) and delete (removal, without refund emphasis).
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 finality with 'cannot be undone' and mentions budget refund, which helps decide when to use this vs pause or delete. However, it does not explicitly list alternatives or state 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.
neuron_stop_campaignStop CampaignADestructiveIdempotentInspect
Permanently stop an active campaign and refund the remaining unspent budget to the organization's wallet. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the active campaign to stop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true and idempotentHint=true. The description adds that the action is permanent and refunds budget, providing useful context beyond the annotations. There is no contradiction with 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 two concise sentences, each adding value without unnecessary words or repetition. It is well-structured for quick 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 one required parameter and no output schema, the description explains the primary action and effect (refund, permanence). Combined with annotations, it provides sufficient context for the agent to understand usage and outcomes.
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 100% coverage for the single parameter 'id' with a clear description. The tool description does not add additional parameter-level information, so a baseline score of 3 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 'Permanently stop an active campaign and refund the remaining unspent budget to the organization's wallet.' It uses a specific verb ('stop'), identifies the resource ('active campaign'), and includes the refund effect, which distinguishes it from sibling tools like pause_campaign.
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 finality with 'This action cannot be undone,' but does not explicitly differentiate from pause_campaign or other alternatives. The refund detail provides context for when to use, but no direct comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_stop_channel_sessionStop Channel SessionAIdempotentInspect
Stop the active Baileys session for the channel and disconnect from WhatsApp. The channel can be restarted later.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the Baileys channel to stop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it mentions disconnecting from WhatsApp and restartability. Annotations already indicate idempotence and non-destructiveness, and the description aligns with and supplements these traits.
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 with two sentences that cover the core action and an important behavioral note. Every word is necessary and front-loaded.
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 parameter and no output schema, the description provides sufficient context (what it does, that the channel can be restarted). It could mention that only active sessions can be stopped, but that is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'id' is fully described in the input schema with 100% coverage. The description does not add additional meaning beyond what the schema provides, so baseline score applies.
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 specifies the action 'stop the active Baileys session' and 'disconnect from WhatsApp', with the added context that the channel can be restarted. It distinguishes from sibling tools like start_channel_session and stop_social_channel_session by focusing on the Baileys channel.
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 when the channel has an active session but does not explicitly state when to use this tool versus alternatives like stop_social_channel_session. No exclusion criteria or prerequisite conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_stop_social_channel_sessionStop Social Channel SessionAIdempotentInspect
Stop the active session for a social media channel. The channel can be restarted later.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to stop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that the session is restartable, which reinforces non-destructiveness. It does not detail side effects like disconnection or user impact, but the annotations cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 16 words, front-loading the key action. No wasted words; each sentence adds necessary information: action and restartability.
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 single-parameter tool with annotations, the description fully informs about purpose and key behavioral trait (restartability). No output schema needed. Complete for selection and 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?
Input schema has 100% description coverage for the single required parameter 'id', which is clearly described as a UUID for the social channel. The tool description does not add further parameter details, so baseline 3 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 action 'Stop the active session' on the resource 'social media channel'. It distinguishes from sibling tools like 'neuron_start_social_channel_session' and 'neuron_stop_channel_session' by specifying 'social' and 'stop' vs 'start'.
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 when to use by stating 'the channel can be restarted later', indicating temporary stoppage. However, it does not explicitly mention prerequisites or alternatives (e.g., 'neuron_pause_bot' or 'neuron_stop_channel_session').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_submit_ad_requestSubmit Ad Request for ReviewAInspect
Submit a draft ad request for admin review. The request must be in draft status. After submission, an admin must approve it before it can be funded.
| Name | Required | Description | Default |
|---|---|---|---|
| adRequestId | Yes | Unique identifier (UUID) of the draft ad request to submit |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no special hints (all false), so the description carries the burden. It explains that submission is a mutating operation that transitions the ad request to a pending approval state, requiring admin action before funding. This adds meaningful behavioral context beyond the raw 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 two sentences, front-loads the purpose, and contains no extraneous information. Every sentence is essential and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the workflow (draft -> submitted -> admin approval -> funding). It covers the preconditions and next steps, though it could mention the return value or confirmation. Still, it is largely complete for a submission 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?
Schema coverage is 100%, with the parameter description already explaining the UUID of the draft ad request. The tool description does not add additional parameter semantics beyond what the schema provides, so baseline 3 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 action ('Submit') and the resource ('draft ad request'), and distinguishes it from related tools like create, update, delete by specifying the workflow context (draft -> admin review -> funding).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite ('must be in draft status') and outlines the post-submission process (admin approval). While it doesn't name alternative tools, the context is clear enough for an agent to infer when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_submit_campaignSubmit Campaign for ReviewAInspect
Submit a draft campaign for admin review and approval. The campaign must be in 'draft' status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the draft campaign to submit for review |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's a mutation (readOnlyHint=false, destructiveHint=false). The description adds that it submits for admin review and approval, implying a status change. This provides useful 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 two sentences, no wasted words, and front-loads the action. Every sentence adds 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 simple mutation tool with one parameter and no output schema, the description adequately states purpose and precondition. It could mention what happens after submission (e.g., status change), but it's still fairly complete.
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 only one parameter (id) with a schema description that explains it is the UUID of the draft campaign. The tool description already mentions submitting a draft campaign, so the parameter meaning is clear. No additional semantics are needed.
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 ('submit'), the resource ('draft campaign'), and the precondition ('must be in draft status'). It differentiates from sibling tools like create_campaign, delete_campaign, update_campaign, etc.
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 specifies that the campaign must be in 'draft' status, providing a clear condition for use. Although it doesn't explicitly state when not to use it, the precondition is sufficient for guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_submit_to_list_poolSubmit List to PoolBInspect
Submit a contact list to the shared pool marketplace for other organizations to discover and use for ad distribution.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | Unique identifier (UUID) of the contact list to submit | |
| category | Yes | Audience category (e.g., 'delivery', 'tech', 'consumers', 'food') | |
| channelId | Yes | Unique identifier (UUID) of the WhatsApp channel used for sending messages | |
| description | No | Human-readable description of the audience and its characteristics | |
| demographics | No | Demographic information about the contact list audience | |
| pricePerDelivery | Yes | Price per successful message delivery in kobo (e.g., 5000 = NGN 50) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations providing safety info, the description carries the full burden. It says 'submit' but does not disclose side effects (e.g., whether the list is removed from owner), permissions needed, or reversibility. It lacks sufficient behavioral context for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear 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 6 parameters (4 required) and no output schema, the description is incomplete. It does not explain the return value or success criteria, nor does it mention the process (e.g., approval, immediate availability). Important context for a marketplace submission 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 100%, so baseline is 3. The description does not add meaning beyond the schema's parameter descriptions. It lists no parameter-specific guidance or examples.
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 'submit', the resource 'contact list', and the context 'shared pool marketplace for other organizations to discover and use for ad distribution'. It effectively distinguishes this tool from siblings like 'neuron_browse_list_pool' and 'neuron_install_from_pool'.
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 sharing a list, but does not explicitly state when to use this tool versus alternatives like 'neuron_publish_to_pool' or 'neuron_update_pool_item'. No when-not-to-use or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_switch_instanceSwitch Neuron InstanceAIdempotentInspect
Switch the MCP server to target a different Neuron backend instance. Auth tokens are preserved per instance — if you've previously logged in to an instance, switching back restores your session automatically.
Call with no args to list known instances and see which is active.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Base API URL of the Neuron instance (e.g., 'https://api.client.com/api/v1'). Omit to list known instances. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that auth tokens are preserved per instance and switching back restores session automatically, adding behavioral context beyond annotations (which are idempotentHint=true, destructiveHint=false, readOnlyHint=false). 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?
Two concise sentences that front-load the core purpose and provide essential usage details without unnecessary text.
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?
Covers switching, auth preservation, and the no-args listing feature. Missing details about output format when listing instances, but the tool is simple and the description is sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The one parameter 'url' is described in both the description and the schema with identical wording ('Base API URL...'). Schema coverage is 100%, so description adds no extra meaning beyond what the schema already provides.
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?
Clearly states the verb 'Switch' and the resource 'Neuron backend instance', which is unique among many sibling tools (no other 'switch' tool except 'neuron_switch_org' for organization).
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?
Provides explicit guidance on calling with no arguments to list known instances, and indicates the purpose of switching instances. Does not explicitly exclude alternatives, but the tool is the only one for this action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_switch_orgSwitch OrganizationAIdempotentInspect
Switch to a different organization. Returns a new access token scoped to the target organization and automatically sets it.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization to switch to |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint:true and destructiveHint:false, but the description adds critical context: 'Returns a new access token scoped to the target organization and automatically sets it.' This informs the agent about side effects (token change) 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?
A single sentence that is front-loaded with the action and includes key consequences. Every word adds value; no unnecessary 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 low complexity (1 param, no output schema) and annotation coverage, the description sufficiently explains the tool's primary effect. It does not cover error cases or confirmation, but completeness is high for the tool's simplicity.
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 100% with a single parameter orgId described as a UUID. The description does not add additional semantics beyond what the schema provides, so baseline 3 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 tool switches to a different organization, returns a new access token, and automatically sets it. This specific verb+resource combination distinguishes it from siblings like neuron_switch_instance, which likely switches a different 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?
The description implies usage for switching organizations but provides no explicit guidance on when to use it vs alternatives, prerequisites (e.g., having the target organization), or when not to use it. It does not mention exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_sync_knowledgeSync KnowledgeAIdempotentInspect
Trigger a synchronization operation to refresh embeddings, reindex content, or update the knowledge base state.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base to synchronize |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readOnly (write operation), idempotent, and non-destructive. Description adds that it triggers a sync but does not elaborate on side effects, asynchronous behavior, or what gets refreshed. Adequate but not enhanced 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?
Single sentence front-loading the action and purpose with no wasted words. Efficient and clear.
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?
Tool is simple (1 param, no output schema) but description does not explain return value or behavior (e.g., whether it's synchronous, returns success status). Some information missing for full contextual understanding.
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?
Only one parameter 'id' with description matching schema. Schema coverage is 100%, so description adds no extra semantics beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool triggers a synchronization operation for a knowledge base, mentioning specific actions like refreshing embeddings, reindexing, and updating state. This distinguishes it from sibling tools like create or update knowledge base.
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 a knowledge base needs syncing after updates. No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_sync_newslettersSync NewslettersAIdempotentInspect
Synchronize and import WhatsApp Channels from a connected WhatsApp session into Neuron. Discovers channels created outside Neuron.
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | Identifier (UUID) of the WhatsApp session channel to sync newsletters from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, which the description complements by stating it 'imports' and 'discovers' non-destructively. However, the description does not disclose what happens on re-sync (e.g., overwriting or deduplication) or how it interacts with existing data. The write nature is evident from 'import' but minimal additional 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 two sentences, front-loaded with the primary action and a secondary benefit. Every word is essential with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose and differentiator (discovering external channels), but lacks details on the return value (no output schema), the state after sync, and implicit dependencies like a connected WhatsApp session. Given the single parameter and annotations, it is minimally adequate but could be more complete.
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 100% with a single parameter channelId described as a UUID for the WhatsApp session channel. The description adds no additional meaning or constraints about this parameter 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 the tool synchronizes and imports WhatsApp Channels from a connected session, discovering channels created outside Neuron. The verb 'synchronize and import' and the resource 'WhatsApp Channels' are specific. Sibling tools like neuron_create_newsletter and neuron_post_to_newsletter have distinct purposes, but there is a slight naming inconsistency between 'newsletters' in tool name and 'WhatsApp Channels' in description.
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 when needing to import WhatsApp channels created externally into Neuron, but it does not explicitly state when to use this tool versus alternatives like neuron_create_newsletter or neuron_sync_whatsapp_contacts. There is no mention of prerequisites such as an active WhatsApp session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_sync_reflectionsSync ReflectionsAIdempotentInspect
Synchronize all approved reflections into the bot's active knowledge base, applying learned insights to future conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to sync reflections for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare idempotentHint=true and destructiveHint=false, but the description adds that it applies 'learned insights' from approved reflections. However, it does not explain whether it merges or overwrites existing knowledge, nor any potential side effects beyond the annotation 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?
Single sentence with no wasted words, clearly stating purpose. However, it could be slightly more structured by separating action from effect.
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 only one parameter and no output schema, the description covers the essential behavior. It does not mention return values, but given the simple action, the description is mostly 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?
Schema coverage is 100% for the single parameter 'botId'. The description adds context by linking 'botId' to 'the bot's active knowledge base', but does not add further meaning beyond what the schema already provides.
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 'synchronize' and the resource 'approved reflections' with the target 'bot's active knowledge base', distinguishing it from siblings like neuron_list_reflections and neuron_sync_knowledge.
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 this tool versus alternatives such as neuron_sync_knowledge. It assumes the agent knows it should be called after reflections are approved, but lacks explicit when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_sync_whatsapp_contactsSync WhatsApp ContactsAIdempotentInspect
Synchronize contacts from all connected WhatsApp channels into the organization's contact database. Creates new contacts for unseen numbers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotency and non-destructiveness. The description adds that it only creates contacts for unseen numbers, implying no updates. However, it does not clarify what happens to existing contacts or whether it syncs additional fields. More detail on the update behavior would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core purpose and a key behavioral detail. No unnecessary 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?
Given no parameters and no output schema, the description covers the essential behavior (sync, create new contacts). However, it lacks detail on what data is synchronized (e.g., only phone numbers or also names) and whether existing contacts are updated. Slightly more completeness would be ideal.
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 zero parameters and 100% schema coverage, the description has no burden to explain parameters. Baseline is 4 for no parameters. No additional parameter semantics needed.
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 (synchronize), the source (all connected WhatsApp channels), and the outcome (creates new contacts for unseen numbers). It distinguishes from sibling tools like neuron_add_to_contact_list and neuron_import_contacts by focusing on bulk sync from WhatsApp channels.
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 when to use the tool (when you want to sync WhatsApp contacts) but does not explicitly state when not to use it or mention alternatives like neuron_import_contacts or neuron_add_to_contact_list. Better guidance would improve selection accuracy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_takeover_conversationTakeover ConversationAIdempotentInspect
Transfer control of a conversation from the bot to a human agent. The bot will stop auto-responding until the conversation is released.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the conversation to take over |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true but no details on side effects. Description adds that the bot stops auto-responding until released, a key behavioral trait beyond annotations. No contradictions, though more detail on permissions or state could help.
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 of ~20 words, front-loaded with the core action. No wasted words; every phrase adds value. Ideal for quick 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?
For a simple tool with 1 parameter and no output schema, the description covers purpose and behavioral effect. Could mention prerequisites (e.g., conversation must exist) or that the action is reversible via release, but overall 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?
Schema coverage is 100% (1 parameter 'id' with description). The description does not add new meaning beyond the schema, just reiterates the UUID requirement. Baseline score of 3 as schema already suffices.
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?
Clearly states 'Transfer control of a conversation from the bot to a human agent', specifying the action (transfer), resource (conversation), and direction (bot to human). Distinct from siblings like release_conversation or close_conversation.
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?
Implicitly defines when to use (when a human needs to take over chat), but does not explicitly state when not to use it or mention alternatives like close_conversation. Clear context but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_test_toolTest ToolARead-onlyIdempotentInspect
Execute a dry-run test of a custom API tool with sample arguments to verify the endpoint responds correctly.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the tool to test | |
| args | Yes | Sample arguments object to pass to the tool for testing |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds 'dry-run test' and 'verify endpoint responds', but does not detail output, failure modes, or side effects 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?
A single, well-structured sentence with no wasted words, effectively conveying the tool's core function.
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 lacks information about return values or error handling. However, for a test tool with safe annotations, it provides a baseline adequate for selection.
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 100%, so the description adds minimal value beyond parameter names. The term 'sample arguments' loosely aligns with the 'args' parameter but does not enhance understanding.
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 executes a dry-run test of a custom API tool with sample arguments, which is specific and distinct from sibling tools that create, update, or delete 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 implies usage for testing tools but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_toggle_builtin_toolToggle Built-in ToolAIdempotentInspect
Toggle a built-in tool on or off for a specific bot. Enabled tools become available in the bot's conversations. Example tool IDs: delete_message, post_to_channel, post_status, web_search, send_direct_message, react_to_message, set_reminder, create_poll.
| Name | Required | Description | Default |
|---|---|---|---|
| botId | Yes | Unique identifier (UUID) of the bot to toggle the tool for | |
| toolId | Yes | Identifier of the built-in tool (e.g., 'delete_message', 'post_status', 'web_search') | |
| enabled | Yes | Whether to enable (true) or disable (false) the tool |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is readOnly=false, idempotent, not destructive. The description is consistent but adds little beyond stating the basic effect. 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?
One clear sentence plus a list of examples. Front-loaded with the action and purpose. No unnecessary 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?
For a simple toggle tool with no output schema, the description is nearly complete. It explains the effect and gives examples. A minor gap: it doesn't clarify if the change takes effect immediately or requires a bot restart.
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 covers all parameters with descriptions. The description adds value by providing example tool IDs, which helps the agent understand valid values for toolId without requiring external knowledge.
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: toggle a built-in tool on/off for a specific bot. It provides example tool IDs, adding specificity. However, it does not explicitly differentiate from the sibling tool neuron_bulk_toggle_builtin_tools, which could be done by noting it affects a single tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool vs alternatives like the bulk toggle. It does not indicate prerequisites or situations where toggling is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_toggle_featuredToggle Featured StatusAIdempotentInspect
Toggle the featured status of a pool item. Featured items appear prominently in the marketplace. Requires admin privileges.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the pool item to feature or unfeature |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds admin requirement and outcome (featured prominently), but contradicts the `idempotentHint: true` annotation since toggling is not idempotent. This contradiction reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Action and context are front-loaded. Excellent 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?
Covers core purpose and admin requirement, but lacks specifics about return value, error handling, or what happens on failure. Adequate for a simple toggle but not fully complete.
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 sole parameter `id` is fully described in the schema (100% coverage) and the description adds context about featured items in the marketplace, adding value beyond 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 the action (toggle featured status) on a specific resource (pool item), with context about marketplace prominence. The tool name and title align, and it is distinct from sibling tools like publish/unpublish or 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 mentions 'Requires admin privileges,' but does not explicitly state when to use this tool versus alternatives like `neuron_update_pool_item`. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_toggle_taskToggle Bot TaskAInspect
Pause or resume a scheduled task (flips its enabled state and reschedules the next run).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the task |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not idempotent, and not destructive. The description adds behavioral context by specifying that it flips the enabled state and reschedules the next run, which explains the non-idempotent nature and the scheduling side effect. This is useful beyond what annotations provide, though it does not cover auth or error scenarios.
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 one concise sentence that front-loads the action and provides essential detail in parentheses. Every word earns its place, with no fluff or repetition of the title.
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 low complexity (single parameter, simple toggle action) and full schema coverage, the description is sufficiently complete. It states the action, the effect on the task, and the rescheduling outcome. No output schema exists, but none is needed for a toggle operation.
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 fully describes the only parameter ('id' as 'UUID of the task'), providing 100% coverage. The description does not need to add more, and it doesn't. This meets the baseline for schema-heavy 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 uses a specific verb ('Pause or resume') with a clear resource ('scheduled task') and clarifies the mechanism ('flips its enabled state and reschedules the next run'). It is distinct from sibling tools like neuron_pause_bot or neuron_update_task by targeting the task's enabled state directly.
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 clearly implies when to use this tool: when you want to pause or resume a scheduled task. It does not explicitly name alternatives or exclusions, but the context is unambiguous and differentiates it from run/update/delete task operations. Thus it provides clear context without explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_unassign_bot_from_channelUnassign Bot from ChannelADestructiveIdempotentInspect
Remove the bot assignment from a WhatsApp channel. The channel will stop auto-responding to messages.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel to unassign the bot from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral consequence 'channel will stop auto-responding' beyond annotations (destructiveHint). But doesn't disclose reversibility, side effects, or impact on other channels. Annotations already indicate destructive and idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 16 words, no fluff. Efficiently communicates core purpose and effect.
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?
Simple tool with 1 param and no output schema. Description explains purpose and consequence. Could mention return value or confirmation, but 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?
Schema description coverage is 100% (parameter 'id' clearly documented). Description adds no additional meaning beyond 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?
Description clearly states the verb (remove/unassign), resource (bot assignment from a WhatsApp channel), and consequence (stops auto-responding). Distinguishes from sibling assignments and unassignments.
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?
Implies usage for removing bot assignment, but no explicit guidance on when to use vs alternatives like unassign_bot_from_social_channel, nor prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_unassign_bot_from_social_channelUnassign Bot from Social ChannelADestructiveIdempotentInspect
Remove the bot assignment from a social media channel. The bot will lose access to the channel's social media credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to unassign the bot from | |
| botId | Yes | Unique identifier (UUID) of the bot to unassign |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations: 'The bot will lose access to the channel's social media credentials' explains the destructive effect indicated by 'destructiveHint': true. It aligns with annotations and provides meaningful behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise and front-loaded. Every word is necessary; no fluff. It efficiently conveys the purpose and effect.
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 sufficiently explains the tool's effect on the bot's access. It could be improved by confirming the result (e.g., 'Returns success status'), but it is complete for a straightforward unassignment operation.
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 100% with both parameters described clearly (UUIDs for channel and bot). The tool description adds no additional meaning beyond what the schema already provides, so baseline of 3 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 action: 'Remove the bot assignment from a social media channel' with a specific verb and resource. It distinguishes itself from siblings like 'neuron_assign_bot_to_social_channel' and 'neuron_unassign_bot_from_channel' by specifying 'social channel'.
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 when to use the tool (when needing to remove bot assignment from a social channel) but does not explicitly exclude alternatives or provide context for when not to use it. Siblings like 'neuron_unassign_bot_from_channel' exist but are not mentioned, leaving potential ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_unblock_contactUnblock ContactAIdempotentInspect
Unblock a previously blocked WhatsApp contact.
| Name | Required | Description | Default |
|---|---|---|---|
| jid | Yes | Contact JID or phone number to unblock | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false. The description adds no further behavioral details beyond the basic action.
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, zero wasted words. Perfectly concise for the tool's simplicity.
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 mutation with well-documented parameters and no output schema, the description is adequate. It could mention what happens if contact is already unblocked, but not critical.
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 100% with clear descriptions. The description adds no additional semantic value beyond what schema provides.
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 ('Unblock') and resource ('previously blocked WhatsApp contact'), distinguishing it from the sibling tool 'neuron_block_contact'.
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 usage is straightforward: when you need to unblock a contact. It doesn't explicitly state prerequisites but the sibling tool implies it's for contacts that were blocked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_unpublish_from_poolUnpublish from PoolADestructiveIdempotentInspect
Permanently remove a published item from the marketplace pool. Organizations that installed this item will retain their copies.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the pool item to unpublish |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true, idempotentHint=true), description adds that the removal is permanent and existing installations retain copies. This adds valuable behavioral context. Could mention if reconfirmation or permissions are 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?
Two sentences, no fluff, front-loaded with action and consequence. Every sentence is essential.
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 parameter and no output schema, the description covers the main effect and a key consequence (retaining copies). Lacks mention of preconditions (e.g., item must be published) or permissions, but overall 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?
Only parameter 'id' is fully documented in schema (100% coverage). Description does not add extra meaning about the parameter beyond what schema provides, so baseline 3 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?
Description clearly states verb 'Permanently remove' and resource 'published item from the marketplace pool'. It distinguishes from siblings like 'publish_to_pool', 'install_from_pool', and 'update_pool_item' by specifying the action and 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?
Description implies usage context (unpublishing a pool item) but lacks explicit guidance on when to use this vs. alternatives (e.g., 'update_pool_item', 'submit_to_list_pool'). No when-not or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_ad_requestUpdate Ad RequestAIdempotentInspect
Update a draft or rejected ad request. Only draft and rejected ad requests can be edited. Rejected requests revert to draft on update.
| Name | Required | Description | Default |
|---|---|---|---|
| budget | No | Updated budget in kobo | |
| message | No | Updated ad message content | |
| mediaUrl | No | Updated media URL (set to null to clear) | |
| targetGoal | No | Updated target number of deliveries | |
| targetType | No | Target type: 'contacts' or 'groups' | |
| adRequestId | Yes | Unique identifier (UUID) of the ad request to update | |
| messageType | No | Updated message type: 'text', 'image', 'video', or 'document' | |
| targetingMode | No | Targeting mode: 'auto' for system matching or 'manual' for hand-picked pool entries | |
| targetDemographics | No | Updated demographic targeting criteria | |
| selectedPoolEntryIds | No | Pool entry UUIDs for manual contact targeting | |
| selectedGroupPoolEntryIds | No | Group pool entry UUIDs for manual group targeting |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds behavioral context beyond annotations: it restricts updates to specific statuses and specifies that rejected requests become draft. Annotations include idempotentHint=true, which aligns with update behavior. 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?
Two sentences, no fluff. Key information is front-loaded and every sentence adds 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, and description does not mention return values or error conditions. Given the tool's complexity (11 params, nested objects), some additional context about expected output or errors would be beneficial, but idempotentHint partially compensates.
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 100% with all 11 parameters described in the schema. Description does not add extra parameter semantics beyond stating the status constraint, which is relevant to adRequestId. Baseline score of 3 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?
Description clearly states the tool updates ad requests, specifying that only draft or rejected requests can be edited and that rejected requests revert to draft. It distinguishes from sibling tools like create_ad_request or delete_ad_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool (only for draft or rejected ad requests) and describes the side effect of rejected reverting to draft. Does not mention alternatives explicitly, but the constraint is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_blog_postUpdate Blog PostBIdempotentInspect
Update an existing blog post's content, metadata, status, or SEO fields. Only provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the blog post to update | |
| title | No | New title for the blog post | |
| status | No | New publication status for the post | |
| content | No | New body content in markdown format. Supports raw HTML inline via rehype-raw: images/GIFs via , videos via <video>, YouTube/Loom embeds via <iframe>, collapsible sections via <details>/<summary>, plus <mark>, <kbd>, <abbr>. | |
| excerpt | No | New short summary or preview text | |
| seoTitle | No | New custom SEO title override | |
| seoKeywords | No | New list of SEO keywords | |
| coverImageUrl | No | New URL for the cover image | |
| seoDescription | No | New meta description for search engines |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey idempotentHint=true and destructiveHint=false. The description adds 'Only provided fields are changed' (partial update behavior) which is not in annotations, but no further behavioral context (e.g., permissions, side effects). 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?
Two sentences, no wasted words. Purpose is front-loaded. Concise 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?
For a 9-parameter update tool with full schema descriptions and no output schema, the description adequately covers the purpose and partial update behavior. Lacks return value info but acceptable given schema richness.
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 100% with detailed parameter descriptions. The description does not add meaning beyond the schema, only summarizes categories. Baseline 3 applies.
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?
Clearly states 'Update an existing blog post' specifying the verb and resource, and lists categories of fields. However, it does not explicitly differentiate from sibling tools like 'publish_blog_post' for status changes.
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?
Provides no guidance on when to use this tool versus alternatives (e.g., 'publish_blog_post' for publishing, 'create_blog_post' for new posts). The note 'Only provided fields are changed' implies partial update but lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_botUpdate BotAIdempotentInspect
Update an existing bot's configuration. Only provided fields are modified; omitted fields remain unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the bot to update | |
| name | No | New display name for the bot | |
| llmModel | No | OpenRouter model ID (e.g., 'google/gemini-2.5-flash-lite', 'openrouter/auto') | |
| metadata | No | Arbitrary metadata object stored with the bot. Replaces the entire metadata field — include ALL existing keys you want to keep. Known keys: 'communityExitFollowUp' (auto-DM users who leave watched groups — { enabled: boolean, groupJids: string[], message: string with {name} placeholder }), 'learningConfig' (self-learning from conversations — { enabled: boolean, folder: string, groupChats: string[], dmPhones: string[], useAdminPhones: boolean }), 'loadBalancing' (multi-channel round-robin — { enabled: boolean, strategy: string }), 'welcomeNewMembers' (fine-tune welcome behavior — { batchWindowSeconds: number, groupJids: string[] }). Additional custom keys are preserved as-is. | |
| maxTokens | No | Maximum number of tokens the bot can generate per response | |
| assignment | No | One-sentence role definition for the bot (max 2000 chars) | |
| systemPrompt | No | New system prompt defining the bot's behavior and personality | |
| llmTemperature | No | Temperature parameter controlling response randomness (0 = deterministic, 2 = creative) | |
| welcomeMessage | No | Welcome message sent to new members joining groups the bot manages. Setting this field activates the batched welcome feature — new members are accumulated over a window (default 60s) and welcomed in a single message with @mentions. Set to null to disable. | |
| fallbackMessage | No | Message sent when the bot cannot understand user input (max 2000 chars) | |
| greetingMessage | No | Automatic greeting sent when a new conversation starts (max 2000 chars) | |
| escalationPrompt | No | Prompt template used when escalating to a human agent (max 5000 chars) | |
| responsibilities | No | Array of responsibility descriptions defining what the bot handles | |
| whatsappChannelId | No | Unique identifier (UUID) of the WhatsApp channel to associate with the bot |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation indicates idempotentHint=true, and the description reinforces this by explaining the partial update behavior ('only provided fields are modified'). This adds context beyond the annotations. No contradictions are present, though it doesn't detail auth requirements 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 concise sentence that immediately conveys the core purpose and key behavior. Every word is necessary, and it is front-loaded with the action. There is no unnecessary fluff.
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 has 14 parameters, nested objects, and no output schema. The description is short and does not explain what the tool returns upon success or what errors may occur. Given the complexity, the description could provide more context about expected outputs or prerequisites, making it only adequately complete.
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 100% description coverage, so the baseline is 3. The tool description does not describe individual parameters but provides an overall behavior context that helps interpret them. The schema already carries the parameter documentation burden, so no additional value is added by the 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 states 'Update an existing bot's configuration,' which clearly identifies the action (update) and resource (bot configuration). It distinguishes from sibling tools like neuron_create_bot or neuron_update_channel by specifying the exact resource being modified.
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 specifies that 'Only provided fields are modified; omitted fields remain unchanged,' which guides usage for partial updates. However, it does not explicitly mention when not to use the tool or provide alternatives like neuron_create_bot for creating new bots.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_broadcastUpdate BroadcastAIdempotentInspect
Update an existing broadcast's name, message content, or media before sending. The broadcast must still be in draft status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the broadcast to update | |
| name | No | New display name or label for the broadcast | |
| message | No | New message content to broadcast | |
| mediaUrl | No | New media URL to attach | |
| messageType | No | New message type (e.g., 'text', 'image', 'document') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the draft status constraint beyond what annotations provide. Annotations already indicate idempotentHint=true (safe to retry) and destructiveHint=false. The description does not discuss idempotency or error behavior but covers the key prerequisite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The first sentence states the core purpose and what fields can be updated. The second adds a vital constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (1 required) and no output schema, the description provides the essential constraint and purpose. It could mention the return value or behavior on invalid state (like non-draft) but is still fairly complete for a simple update operation.
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 100%, so the schema fully documents parameters. The description restates 'name, message content, or media' but does not add deeper semantics in format, defaults, or interaction between parameters. Baseline 3 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 action ('Update'), the resource ('broadcast'), and what can be updated ('name, message content, or media'). It also includes a constraint ('before sending') and distinguishes from sibling tools like 'create_broadcast' and 'send_broadcast'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says the broadcast 'must still be in draft status,' which provides a clear when-to-use condition. It also implies not to use after sending. However, it does not mention any alternative tools for cases where the broadcast is not in draft status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_campaignUpdate CampaignAIdempotentInspect
Update a campaign that is in 'draft' or 'rejected' status. Active or completed campaigns cannot be modified.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the campaign to update | |
| title | No | Updated campaign title | |
| message | No | Updated WhatsApp message template | |
| deadline | No | Updated campaign deadline in ISO 8601 date format | |
| guidelines | No | Updated participant guidelines | |
| description | No | Updated marketplace description | |
| totalBudget | No | Updated total campaign budget in kobo | |
| rewardPerDelivery | No | Updated reward per delivery in kobo (e.g., 5000 = NGN 50) | |
| requireMutualContact | No | Updated mutual contact requirement setting |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint false, idempotentHint true, destructiveHint false), the description adds a key behavioral constraint: only campaigns in specific statuses can be updated. This is valuable behavioral transparency 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?
The description is a single, concise sentence that efficiently communicates the tool's purpose and key constraint. 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?
The description is minimal but covers the essential context (status constraint). Without an output schema, it could mention typical responses or errors, but the brevity is acceptable for a clear use case. Somewhat incomplete for a mutation tool with many optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have full schema descriptions (100% coverage), so the description does not need to add parameter details. The description adds no parameter semantics beyond the schema, which is adequate.
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 updates campaigns, with a specific verb ('Update a campaign'), and includes a crucial condition that only 'draft' or 'rejected' status campaigns can be updated, distinguishing it from other update tools for different 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 explicitly states when to use this tool (for draft or rejected status) and when not to (active or completed campaigns cannot be modified). It provides clear context but does not name alternative tools for updating active/completed campaigns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_channelUpdate ChannelAIdempotentInspect
Update configuration of an existing WhatsApp channel. Only provided fields are modified; omitted fields remain unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the channel to update | |
| name | No | New display name for the channel | |
| phoneNumber | No | New phone number for the channel (E.164 format) | |
| metaAccessToken | No | New Meta Access Token (meta_cloud channels only) | |
| metaPhoneNumberId | No | New Meta Phone Number ID (meta_cloud channels only) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds 'only provided fields modified', which is useful but lacks details on potential side effects (e.g., phone number changes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with action and key constraint (partial update).
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?
Covers the update behavior adequately for a simple tool but omits expected response or error conditions. No output schema, so description could hint at return value.
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 100%, so baseline is 3. The description reinforces the partial update behavior but adds minimal value beyond the schema's per-parameter descriptions.
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 updates an existing WhatsApp channel with partial updates. This distinguishes it from create and delete siblings, providing a specific verb and 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?
No explicit guidance on when to use this tool versus alternatives (e.g., update_whatsapp_credentials). No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_contactUpdate ContactBIdempotentInspect
Update an existing contact's details. If notes are provided, they are appended as a new structured note entry without overwriting existing notes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the contact to update | |
| name | No | Updated full name for the contact | |
| tags | No | Updated tags for the contact (replaces existing tags) | |
| No | Updated email address for the contact | ||
| notes | No | New note to append to the contact's existing notes | |
| phone | No | Updated phone number in E.164 format (e.g., +2348012345678) | |
| doNotBroadcast | No | Set true to exclude this contact from all broadcasts, false to allow | |
| doNotAutoRespond | No | Set true so the bot never auto-responds to this contact, false to allow (manual/API and human sends are unaffected either way) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that notes are appended as a new structured entry, which means repeated calls with the same notes would add duplicate entries. This contradicts the idempotentHint=true annotation, which claims the operation is idempotent. Since the description directly conflicts with the annotation, behavioral transparency is poor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose, and includes only one extra behavioral detail about notes. No wasted words; all content is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for an agent because it omits any guidance on partial update semantics (whether unspecified fields are cleared or preserved) and, more importantly, the note-appending behavior contradicts the idempotentHint annotation, making the overall behavior misleading. The presence of a full schema covers parameters, but the annotation conflict and missing usage context leave significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents each parameter. The description adds no new parameter semantics beyond restating the notes behavior already described in the schema. Baseline 3 is appropriate when the schema carries the detail.
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 an existing contact's details,' which is a specific verb+resource. It distinguishes from create_contact and update_contact_list by focusing on an existing contact and adds a unique note-appending behavior that sets it apart from other update 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 phrase 'existing contact's' implies it is for modifying already-created contacts, but it does not explicitly mention when to use this tool versus alternatives like create_contact or other update_* tools. There are no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_contact_listUpdate Contact ListAIdempotentInspect
Update an existing contact list's name, slug, description, criteria, or refresh schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Updated display name for the list | |
| slug | No | Updated URL-friendly slug for the list | |
| criteria | No | Updated dynamic list criteria. Set to null to clear existing criteria. | |
| idOrSlug | Yes | Unique identifier (UUID) or URL-friendly slug of the contact list to update | |
| description | No | Updated description of the list's purpose | |
| refreshSchedule | No | Updated refresh schedule for dynamic lists |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, destructiveHint=false, idempotentHint=true. Description states 'Update' which aligns with non-readOnly. However, it does not disclose potential side effects like triggering a refresh for criteria changes or impact on members. Adequate but could add more 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?
Single sentence, no unnecessary words, efficiently conveys the tool's purpose and supported fields.
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 high schema coverage and annotations, description covers key fields. However, it omits that idOrSlug is required and that criteria can be nullified. Still fairly complete for a simple update 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?
Schema coverage is 100% with descriptions for all 6 parameters. The description lists parameters but adds no new information beyond what the schema already provides. Baseline 3 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?
Description clearly states the tool updates an existing contact list and lists specific fields (name, slug, description, criteria, refresh schedule). It distinguishes from siblings like create_contact_list by specifying 'existing' and from delete by being an 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?
No explicit guidance on when to use this tool vs alternatives like create_contact_list or other update tools. Usage is implied (update an existing list) but lacks contrast or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_group_descriptionUpdate Group DescriptionAIdempotentInspect
Update the description of a WhatsApp group. Requires the bot to be a group admin.
| Name | Required | Description | Default |
|---|---|---|---|
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| description | Yes | New group description (can be empty string to clear) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive; description adds admin requirement, no side effects mentioned but adequate given annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, action first then prerequisite.
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, full annotations, and complete schema, the description adequately covers purpose and key requirement.
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 covers all 3 parameters with descriptions (100%), so baseline 3; description adds no new semantic insight beyond 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?
Clearly states it updates the description of a WhatsApp group, distinguishing from siblings like update_group_subject and update_group_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?
Explicitly notes the prerequisite that the bot must be a group admin, but does not provide when-to-use vs. alternative update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_group_membersUpdate Group MembersADestructiveInspect
Add, remove, promote, or demote members in a WhatsApp group. Provide phone numbers or JIDs. Requires admin privileges.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on the participants | |
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) | |
| participants | Yes | Array of phone numbers or JIDs (e.g. ['2348012345678'] or ['2348012345678@s.whatsapp.net']) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the description's addition of 'requires admin privileges' provides useful behavioral context. However, it does not elaborate on failure modes, batch behavior (implied by participants array), or the tool's return 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 two sentences, front-loading the action and scope. Every word adds value with 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?
For a tool with 4 required parameters and an enum, the description covers the basics but omits the return format (does it return success? updated group state?). No output schema exists, so the description should 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 coverage is 100% with descriptions. The description reinforces that phone numbers or JIDs are acceptable, but this is already in the schema. No new meaning is added beyond what the schema provides.
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 specifies the exact actions (add, remove, promote, demote) and the resource (WhatsApp group members). It clearly distinguishes from sibling tools like neuron_get_group_participants (read-only) and neuron_leave_group (self-action).
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 states when to use this tool (managing group members) and prerequisites (admin privileges). However, it does not explicitly mention alternatives or when not to use it relative to similar sibling tools such as neuron_invite_member or neuron_remove_member.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_group_settingsUpdate Group SettingsAIdempotentInspect
Change WhatsApp group settings: 'announcement' (only admins send), 'not_announcement' (everyone sends), 'locked' (only admins edit info), 'unlocked' (everyone edits info). Requires admin.
| Name | Required | Description | Default |
|---|---|---|---|
| setting | Yes | Group setting to apply | |
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotation contradiction. Adds authorization context ('Requires admin') and explains effects of each setting, beyond annotations which only indicate idempotent and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no extraneous information; front-loaded with action and values.
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, but description does not explain return values or success/error responses. For a mutation tool, it could be slightly more complete, though purpose and parameters are well covered.
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 100%, but description enriches each enum value with behavior explanation (e.g., 'announcement (only admins send)'), adding significant meaning beyond 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?
Description clearly states 'Change WhatsApp group settings' and lists specific settings (announcement, not_announcement, locked, unlocked), distinguishing it from siblings like update_group_description or update_group_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions 'Requires admin' but does not provide when-to-use vs alternatives or when not to use. Context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_group_subjectUpdate Group SubjectAIdempotentInspect
Update the name/subject of a WhatsApp group. Requires the bot to be a group admin.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | New group name/subject | |
| groupJid | Yes | Group JID (ending in @g.us) | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false (mutation) and idempotentHint=true. The description adds the concrete behavioral requirement that the bot must be a group admin, which is not in annotations. However, it does not disclose side effects, error conditions (e.g., what if not admin), or response behavior beyond the update.
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 with two sentences: the first clearly states the purpose, and the second adds the critical prerequisite. No superfluous words, and the key information is front-loaded.
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 absence of an output schema, the description should ideally mention what the tool returns (e.g., success message, updated group). It does not, leaving the agent uncertain about the response. While the admin requirement is noted, the lack of return value information is a significant gap for a mutation 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?
Schema description coverage is 100%, with clear descriptions for channelId (UUID), groupJid (ending in @g.us), and subject (new group name). The description adds no additional meaning beyond what the schema provides, so baseline score of 3 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 'Update the name/subject of a WhatsApp group,' which is a specific verb ('Update') and resource ('name/subject of WhatsApp group'). This distinguishes it from sibling tools like update_group_description (description) and update_group_settings (broader settings), ensuring the agent knows exactly what the tool does.
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 a key prerequisite: 'Requires the bot to be a group admin.' However, it does not explicitly state when to use this tool over alternatives (e.g., use update_group_description for description changes). The sibling tools are listed but not referenced in the description for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_kb_entryUpdate Knowledge Base EntryAIdempotentInspect
Update the content, title, folder, or source of an existing knowledge base entry.
| Name | Required | Description | Default |
|---|---|---|---|
| kbId | Yes | Unique identifier of the knowledge base | |
| title | No | New title for the entry | |
| folder | No | New folder: 'general', 'skills', 'contexts', 'documents', or 'faqs' | |
| source | No | New source type for the entry | |
| content | No | New content for the entry | |
| entryId | Yes | Unique identifier of the entry to update | |
| metadata | No | New metadata key-value pairs |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true and destructiveHint=false. The description indicates it modifies an existing entry, but doesn't detail partial update behavior or effects. Consistent with 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?
Single sentence with no unnecessary words. Information 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 7 parameters and no output schema, the description is brief. It doesn't mention return values, error conditions, or that entry must exist. 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?
Schema coverage is 100% and each parameter has a description. The description lists some fields but adds no meaning beyond what the schema already provides. Baseline 3.
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 'Update' and the resource 'existing knowledge base entry', and lists specific fields (content, title, folder, source). This distinctly differentiates it from create and delete siblings.
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 vs. alternatives like create_kb_entry or delete_kb_entry. The context implies usage for modifying an existing entry, but lacks explicit when-not-to-use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_knowledge_baseUpdate Knowledge BaseAIdempotentInspect
Update the properties of an existing knowledge base such as name, description, or root instruction.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base to update | |
| name | No | New name for the knowledge base | |
| description | No | New description for the knowledge base | |
| rootInstruction | No | New root instruction or context |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-destructive, idempotent behavior. Description adds specific fields that can be updated, but does not disclose impact on unspecified properties 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?
Single concise sentence of 16 words, front-loaded with action and resource. No unnecessary 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?
Covers primary purpose and updatable fields. Lacks mention that the 'id' is required and that updates are for existing KBs only, but schema provides that. Adequate for a simple update 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?
Schema coverage is 100% with descriptions for all parameters. Description merely lists the same fields without adding extra meaning beyond schema 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?
Description clearly states the verb 'Update', resource 'existing knowledge base', and specific properties (name, description, root instruction). It distinguishes from sibling tools like 'create', 'delete', and 'get' operations.
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 this tool vs alternatives. It is implied that it is for modifying an existing knowledge base, but no context about prerequisites 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.
neuron_update_memberUpdate Member PermissionsAIdempotentInspect
Update a member's permissions within the organization, such as conversation access. Only provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization | |
| userId | Yes | Unique identifier (UUID) of the member to update | |
| canViewConversations | Yes | Whether the member can view conversations |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive behavior. The description adds that 'only provided fields are changed' (partial update), which is helpful. No contradictions with 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 that immediately states the tool's purpose and key behavior, with no extraneous 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 simple schema (3 parameters, fully described) and lack of output schema, the description provides adequate context for a straightforward update operation. It covers the essential aspects without missing critical 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 coverage is 100% with clear descriptions for each parameter. The description does not add significant meaning beyond the schema; it only mentions 'conversation access' which aligns with 'canViewConversations'. Baseline score of 3 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 action ('Update') and the resource ('a member's permissions within the organization'), specifying the scope ('such as conversation access'). It distinguishes from sibling tools like 'invite_member' and 'remove_member' by focusing on permission updates.
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 modifying member permissions but does not explicitly state when to use this tool versus alternatives (e.g., 'update_organization' for org-level settings), nor does it mention prerequisites like the member's existence or required roles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_newsletterUpdate NewsletterAIdempotentInspect
Update the name or description of an existing WhatsApp Channel newsletter. Only provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the newsletter to update | |
| name | No | New display name for the newsletter | |
| description | No | New description for the newsletter |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds useful context about partial update semantics ('Only provided fields are changed'), which goes beyond the annotations by clarifying the idempotent nature of the operation. However, it does not mention required permissions or 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 extremely concise with two short sentences. The first sentence front-loads the verb and resource. Every word earns its place, with no unnecessary text.
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 3 parameters with full schema coverage, no output schema, and annotations providing behavioral hints, the description adequately explains the partial update behavior. It could mention that the newsletter must exist, but that is generally implied by 'existing'. The completeness is high for a simple update 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?
Schema coverage is 100%, so the baseline is 3. The description does not add any additional meaning or detail beyond what the schema already provides for the parameters. It merely restates the field names ('name or description') which are already described in 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 the action (Update) and the specific resource (WhatsApp Channel newsletter), and specifies which fields can be updated (name or description). It also clarifies that only provided fields are changed, distinguishing it from a full replacement and from sibling update tools like 'update_channel'.
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 updating newsletter name/description but does not explicitly state when to use this tool versus alternatives like 'update_channel' or when not to use it. No exclusions or context about prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_organizationUpdate OrganizationAIdempotentInspect
Update organization settings such as name, description, or configuration preferences. Only provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New display name for the organization | |
| orgId | Yes | Unique identifier (UUID) of the organization to update | |
| autoOptOutBroadcast | No | Auto-exclude a contact from broadcasts when they send a broadcast opt-out message (e.g. 'stop messaging me'). Off by default. | |
| autoSuppressHostile | No | Auto-exclude a contact from broadcasts when they are hostile about being contacted (e.g. cursing us out for messaging them). Off by default. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only, destructive, and idempotent hints, so the bar for additional behavioral disclosure is lower. The description adds meaningful partial-update semantics—'Only provided fields are changed'—which clarifies that unspecified settings remain unchanged, going beyond what annotations state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the core purpose and adding a crucial usage caveat. No redundant or filler content; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool with clear annotations and full schema coverage, the description is adequate but not complete. It lacks explicit differentiation from sibling update_* tools and doesn't mention return behavior or permissions. The minor schema mismatch further prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds general partial-update context but also introduces 'description' and 'configuration preferences' that do not map to actual schema properties, creating minor ambiguity rather than enhancing parameter understanding.
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 updates organization settings, with a specific verb ('update') and resource ('organization settings'). However, it mentions updating 'description' and 'configuration preferences' that do not correspond directly to the schema's fields (name, autoOptOutBroadcast, autoSuppressHostile), which slightly dilutes precision.
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 use for organization-level updates but provides no explicit guidance on when to use this tool versus siblings like update_group_settings or update_bot. It does add a partial-update note ('Only provided fields are changed'), but no alternatives 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.
neuron_update_outbound_webhookUpdate Outbound WebhookAIdempotentInspect
Modify an existing outbound webhook's configuration, including its destination URL, subscribed event types, or filter prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the outbound webhook to update | |
| url | No | Updated destination URL that will receive webhook event payloads (HTTPS recommended) | |
| name | No | Updated human-readable name for the webhook | |
| eventTypes | No | Updated array of event types that should trigger this webhook | |
| filterPrompt | No | Updated LLM prompt for selectively filtering forwarded events |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true) declare key behaviors, but the description adds little beyond listing modifiable fields. It does not disclose update semantics (e.g., whether partial updates are supported, if URL validation occurs, or impacts on active subscriptions). With annotations carrying the main burden, the description offers minimal extra transparency.
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 15-word sentence that efficiently communicates the tool's purpose and key configurable aspects. It is front-loaded with the action and resource, with no redundant 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?
For an update tool with a well-documented schema and annotations, the description is mostly sufficient. However, it omits nuance about update behavior (e.g., idempotency, partial vs full update), which would be helpful for agents. The lack of output schema implies no complex return value to describe, keeping completeness high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters and their meanings. The description only paraphrases the schema items (URL, event types, filter prompt) without adding new detail or usage context, meeting the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Modify' or 'update' and identifies the resource as an existing outbound webhook. It lists the configurable fields (URL, event types, filter prompt), which distinguishes it from creating or deleting a webhook.
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 this tool versus alternatives like create_outbound_webhook or delete_outbound_webhook. Usage is implied (when an existing webhook needs modification), but no exclusions or context for decision-making are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_personaUpdate PersonaAInspect
Update a persona's name/description, or hand-tune its voiceProfile / exemplars.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persona UUID | |
| name | No | ||
| exemplars | No | ||
| description | No | ||
| voiceProfile | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show non-readOnly and non-destructive hints. The description adds the scope of mutations but does not clarify partial vs. full replacement semantics, which would be valuable for nested fields like voiceProfile. It neither contradicts prompts nor provides rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, 15-word sentence that is front-loaded with the verb and target, with no filler or redundancy. Every token adds functional 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?
Although the purpose is clear, the tool has nested objects, no output schema, and minimal annotations. The description does not mention update semantics (e.g., merge vs. replace), prerequisites, or return values, making it incomplete for safe invocation by 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?
Schema description coverage is only 20% (only 'id' documented). The description references all other parameters and labels voiceProfile/exemplars as 'hand-tune', giving some semantic distinction. However, it does not explain the structure or expected format of these nested objects, leaving meaningful gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update'), a clear resource ('persona'), and enumerates the exact fields affected ('name/description', 'voiceProfile / exemplars'). This distinguishes it from sibling tools like neuron_build_persona (creation) and neuron_delete_persona (removal).
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 clearly implies updating an existing persona and specifies the editable components, but it does not explicitly name alternatives or state when not to use it. Context is clear, but no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_pool_itemUpdate Pool ItemAIdempotentInspect
Update a pool item you have published — metadata (name, description, category, tags) and content fields (setupInstructions, defaultSecrets for tool_template items). The underlying resource is re-snapshotted and version is bumped on every update.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the pool item to update | |
| name | No | New display name for the pool listing | |
| tags | No | New list of tags for the pool listing | |
| category | No | New category name for the pool listing | |
| description | No | New detailed description for the pool listing | |
| defaultSecrets | No | Updated pre-filled secrets auto-populated on install, e.g. { OAUTH2_TOKEN_URL: 'https://...' } | |
| setupInstructions | No | Updated setup guide shown after installation (tool_template only, max 5000 chars) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's read-write, non-destructive, and idempotent. The description adds critical context: 'The underlying resource is re-snapshotted and version is bumped on every update,' which is 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?
Two sentences, front-loaded with purpose, no redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the effect (snapshot and version bump) but does not mention output or any constraints beyond the tool_template note. Adequate for a moderate complexity tool with good schema.
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 100%, so baseline is 3. The description adds value by grouping parameters into metadata and content fields, and specifying that defaultSecrets and setupInstructions apply only to tool_template items.
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 'Update' and the resource 'pool item you have published'. It specifies which metadata and content fields can be updated, distinguishing it from sibling tools like publish, unpublish, or pull updates.
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 modifying already-published pool items but does not explicitly mention when not to use it or provide alternatives like neuron_publish_to_pool or neuron_unpublish_from_pool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_privacy_settingUpdate Privacy SettingAIdempotentInspect
Update a specific WhatsApp privacy setting. Settings: lastSeen (all/contacts/contact_blacklist/none), online (all/match_last_seen), profilePicture (all/contacts/contact_blacklist/none), status (all/contacts/contact_blacklist/none), readReceipts (all/none), groupsAdd (all/contacts/contact_blacklist).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | New value for the setting (see description for allowed values per setting) | |
| setting | Yes | Privacy setting to update | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive. The description adds useful context by listing allowed values per setting. No mention of authorization or rate limits, but for a simple update this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states purpose, second lists all settings with allowed values efficiently.
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 update nature, no output schema, and full schema coverage, the description is complete and informative for 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?
Schema coverage is 100%, and the description adds value by detailing allowed values for each setting beyond the enum in 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 'Update a specific WhatsApp privacy setting' and lists all available settings with their allowed values. This distinguishes it from siblings like neuron_get_privacy_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?
The description provides explicit allowed values per setting, making it clear when to use. However, it does not explicitly mention when not to use or alternatives like neuron_get_privacy_settings for reading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_profile_nameUpdate Profile NameAIdempotentInspect
Update the bot's WhatsApp display name on the given channel.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New display name | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false, destructiveHint=false, idempotentHint=true. Description adds no further behavioral context beyond stating it's an update. No contradiction with 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?
Single sentence of 12 words, front-loaded with verb and resource, 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?
For a simple 2-parameter tool with no output schema, the description is adequate but lacks mention of prerequisites or restrictions (e.g., bot must be assigned to channel). Could be more complete.
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%, with both parameters documented. The tool description adds minimal extra meaning beyond the schema's parameter descriptions.
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 'Update', the resource 'bot's WhatsApp display name', and the context 'on the given channel'. It differentiates from sibling tools like 'update_profile_picture' or 'update_profile_status'.
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. Does not mention prerequisites like needing a bot and channel already set up, or specify that this is for WhatsApp channels only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_profile_pictureUpdate Profile PictureAIdempotentInspect
Update the bot's WhatsApp profile picture from an image URL.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | URL of the image to set as profile picture | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the update uses an image URL, but does not disclose details such as overwrite behavior, error handling, or authorization needs. Annotations already confirm idempotency and non-destructiveness, so the description adds minimal value 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 a single, concise sentence that front-loads the key action and resource. No extraneous 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?
For a simple tool with two parameters and no output schema, the description covers the basic action but lacks information about expected outcomes, side effects, or required prerequisites. 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?
Schema coverage is 100%, so baseline is 3. The description does not add significant meaning beyond what the schema already provides for the parameters.
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 'update', the resource 'bot's WhatsApp profile picture', and the method 'from an image URL'. It is specific and distinguishes from sibling tools like 'neuron_remove_profile_picture' and 'neuron_update_profile_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 is provided on when to use this tool versus alternatives, nor are there any prerequisites or exclusions mentioned. The sibling 'neuron_remove_profile_picture' exists but is not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_profile_statusUpdate Profile StatusBIdempotentInspect
Update the bot's WhatsApp status/bio text.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | New status/bio text | |
| channelId | Yes | WhatsApp channel identifier (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, readOnlyHint=false, etc. The description adds no behavioral context beyond stating 'update'. It does not disclose what happens if the status is too long, whether it overrides previous text, or if there are 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, front-loaded sentence with no extraneous information. Every word contributes to clarity.
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 two-parameter tool with no output schema, the description covers the basic purpose but omits potential constraints (e.g., max length, idempotency implications). It lacks sibling differentiation, which would improve completeness.
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 100% for both parameters, so the description need not add much. However, it does not clarify parameter semantics beyond the schema (e.g., that 'status' is a free-text string with no format restrictions). Baseline 3 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 action ('update'), the resource ('the bot's WhatsApp status/bio text'), and is specific. It distinguishes from sibling tools like neuron_update_profile_name and neuron_update_profile_picture, which change different profile fields.
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 many sibling update tools, the description should indicate when this is appropriate (e.g., for WhatsApp status only) and mention exclusions, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_scheduled_messageUpdate Scheduled MessageAIdempotentInspect
Update the message content, media, or send time of a scheduled message. Only messages with status 'scheduled' can be updated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the scheduled message to update | |
| sendAt | No | New ISO 8601 date-time for scheduled delivery (must be in the future) | |
| message | No | New message text content | |
| mediaUrl | No | New media URL to attach | |
| contactName | No | Updated display name for the recipient | |
| messageType | No | New message type: 'text', 'image', 'audio', 'video', or 'document' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive behavior. The description adds the behavioral constraint about status, which is not in annotations. It could be improved by mentioning error conditions or prerequisites beyond status, but it adds 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?
Two concise sentences with no wasted words. The first sentence states the action, the second adds a critical constraint. 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?
The description covers the core functionality and constraint, but lacks information about return values (no output schema), required permissions, or error scenarios. Given the tool's moderate complexity and absence of output schema, the description is adequate but could be more complete.
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 100% with descriptions for all parameters. The description only explicitly mentions 'message content, media, or send time', which maps to three of six parameters (message, mediaUrl, sendAt). It does not add meaning beyond the schema, so baseline 3 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 'Update' and the resource 'scheduled message', specifying the updatable fields (content, media, send time). It distinguishes from siblings like 'neuron_cancel_scheduled_message' by adding the constraint that only messages with status 'scheduled' 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?
The description provides a clear condition for use ('Only messages with status scheduled can be updated'), implying when to use. However, it does not explicitly mention alternatives like cancel or create new, 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.
neuron_update_social_channelUpdate Social ChannelAIdempotentInspect
Update an existing social media channel. Can update label, username, or refresh credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to update | |
| label | No | New display name for the channel | |
| username | No | Updated social media username | |
| credentials | No | Updated session credentials as JSON string |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write, non-destructive, idempotent operation. The description adds value by listing the updatable fields, but does not disclose potential side effects (e.g., credential refresh consequences) 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 (two short sentences) and front-loads the main action. Every word adds value, with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and updatable fields, but lacks guidance on parameter constraints (e.g., that id is required) and does not mention return values or side effects. Given the tool's simplicity and existing schema descriptions, it is minimally complete.
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 100% (all parameters have descriptions). The description lists the updatable fields, echoing the schema but providing no additional semantic detail beyond what the schema already states.
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 ('Update') and the resource ('existing social media channel'), and lists the specific fields that can be modified (label, username, credentials). This distinguishes it from related tools like create or delete social channel.
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 explicit guidance on when to use this tool versus alternatives like neuron_update_channel or neuron_update_whatsapp_credentials. It only states what the tool does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_taskUpdate Bot TaskBInspect
Update a scheduled task's instruction, schedule, timezone, enabled state, or config. Only provided fields change.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the task | |
| title | No | ||
| config | No | Safety / execution config for the task. | |
| enabled | No | ||
| schedule | No | Schedule payload matching scheduleKind. cron: { time: 'HH:MM', days?: number[] } (0=Sunday..6=Saturday; empty/omitted = every day). interval: { everyMinutes: number }. once: { runAt: ISO8601 string }. manual: {}. | |
| timezone | No | ||
| instruction | No | ||
| scheduleKind | No | cron = recurring at a clock time (slot); interval = every N minutes; once = a single future moment; manual = only runs on demand. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description must disclose behavior. The phrase 'Only provided fields change' usefully indicates a partial update, implying non-provided fields remain untouched. However, it does not describe side effects (e.g., whether changing schedule or enabled state takes effect immediately, or whether validation is performed). This is a moderate disclosure.
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 is front-loaded with the action and target, then enumerates the updateable fields. It adds the key partial-update behavior without unnecessary words. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested config and schedule objects and no output schema, but the input schema provides rich descriptions for schedule and config. The description still misses important context such as what is returned, whether the update is atomic, and how required fields (id) are handled. It is adequate but not fully complete for a complex update operation.
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 only 50%, but the description merely lists top-level field names without adding meaning to the undocumented fields (title, enabled, timezone, instruction). It does not explain defaults, validation rules, or how scheduleKind interacts with schedule. This does not compensate for the schema's gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and identifies the resource ('a scheduled task') with a clear list of mutable fields (instruction, schedule, timezone, enabled state, config). This distinguishes it from sibling tools like create/delete/toggle by clearly stating it modifies an existing scheduled task.
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 is given about when to use this tool versus alternatives. In particular, the 'enabled state' overlaps with the sibling tool neuron_toggle_task, and the description does not clarify whether to use this or the toggle tool for enabling/disabling. It also does not mention prerequisites like the task's existing scheduleKind or id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_toolUpdate ToolAIdempotentInspect
Modify an existing custom API tool's configuration, including its endpoint, authentication, or request template.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the tool to update | |
| name | No | Updated human-readable name for the tool | |
| type | No | Updated type of the tool integration | |
| config | No | Updated tool configuration | |
| authType | No | Updated authentication type | |
| rateLimit | No | Updated maximum requests per minute | |
| timeoutMs | No | Updated request timeout in milliseconds | |
| description | No | Updated description of the tool's purpose |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive, which is consistent. Description doesn't elaborate on side effects, validation, or requirements beyond basic update. No annotation 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, 16 words, efficient and front-loaded with the action. No filler or redundant 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?
Covers the basic update purpose but doesn't mention the full range of configurable fields (rate limit, timeout, description, etc.) or the required id. Could be more comprehensive for a tool with 8 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already describes parameters. Description adds marginal value by naming example parameters (endpoint, auth, request template) but doesn't exceed schema's clarity.
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 uses specific verb 'modify' with resource 'existing custom API tool' and lists aspects like endpoint, authentication, request template. It clearly distinguishes from siblings which update other entities (bots, contacts, etc.) or create 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?
Clearly implies use when updating a custom tool's configuration. Doesn't explicitly state when not to use or mention alternatives like recreating the tool. Could provide more context on prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_webhookUpdate WebhookAIdempotentInspect
Modify an existing inbound webhook's configuration, such as its name, event type, or processing prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the webhook to update | |
| name | No | Updated human-readable name of the webhook | |
| isActive | No | Whether the webhook should be active and accepting requests | |
| eventType | No | Updated event type this webhook handles | |
| processingPrompt | No | Updated prompt instructions for processing webhook data |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only, non-destructive, idempotent, and open-world behavior. The description adds that it modifies configuration like name, event type, or processing prompt, but does not disclose potential side effects (e.g., whether updating affects active webhooks or requires deactivation). Adequate but not rich.
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, front-loaded with the verb and resource. It is concise with no unnecessary words. Every part serves the 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 5 parameters, no output schema, and annotations covering safety, the description is fairly complete for a straightforward update operation. It could explicitly state that it applies only to inbound webhooks (implied by name) and mention partial update capability (only id required). Minor gaps.
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 provides examples of modifiable fields (name, event type, processing prompt) but does not add meaning beyond the schema's property descriptions. It does not explain parameter formats 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 tool modifies an existing inbound webhook's configuration, using specific verb 'Modify' and resource 'inbound webhook'. It distinguishes from sibling tools like create_webhook, delete_webhook, and update_outbound_webhook by specifying 'inbound'.
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 updating existing inbound webhooks but does not explicitly state when to use this tool versus alternatives (e.g., create_webhook for new, delete_webhook for removal). No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_update_whatsapp_credentialsUpdate WhatsApp CredentialsAIdempotentInspect
Update WhatsApp Business API credentials for the organization. These credentials are required for sending messages via the WhatsApp Cloud API.
| Name | Required | Description | Default |
|---|---|---|---|
| orgId | Yes | Unique identifier (UUID) of the organization | |
| whatsappAccessToken | Yes | WhatsApp access token for API authentication (keep confidential) | |
| whatsappPhoneNumberId | Yes | WhatsApp phone number ID from the Meta Business dashboard | |
| whatsappBusinessAccountId | Yes | WhatsApp Business Account ID from the Meta Business dashboard |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, readOnlyHint=false, destructiveHint=false. The description adds context that updating credentials is necessary for message sending, but it does not disclose potential side effects like invalidating existing sessions or requiring re-authentication. With annotations covering safety, the description adds moderate 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?
Two sentences with zero waste. The first sentence states the action concisely, and the second provides the rationale. Perfectly front-loaded 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 that there is no output schema and the tool is a simple credential update, the description covers the basic purpose. However, it could be improved by mentioning what the tool returns (if anything) or confirming that the update is applied immediately. Overall 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?
All parameters are described in the input schema (100% coverage), so the baseline is 3. The description merely groups the parameters under the umbrella of 'WhatsApp Business API credentials' and reiterates their importance, but adds no new semantic information 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 the verb 'Update' and the resource 'WhatsApp Business API credentials'. It also explains the purpose: these credentials are required for sending messages via the WhatsApp Cloud API, which distinguishes this tool from related tools like neuron_send_whatsapp or neuron_sync_whatsapp_contacts.
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 that this tool should be used to set up credentials before sending WhatsApp messages, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. No sibling tools directly compete, so the lack of explicit alternatives is acceptable but still leaves room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_upload_documentUpload DocumentAInspect
Upload a text document to a knowledge base. The document will be automatically chunked and indexed for semantic search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier of the knowledge base | |
| folder | No | Folder path to organize the document within the knowledge base | |
| content | Yes | Text content of the document to upload | |
| filename | Yes | Name of the file being uploaded |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false) but no destructive or idempotent behavior. Description adds useful behavioral context: the document is automatically chunked and indexed. This goes beyond annotations and provides key processing details. 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 with a clear, concise structure. It is front-loaded with the verb and resource, followed by the key processing outcome. 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?
Given the tool has 4 parameters and no output schema, the description covers the core purpose and processing. It could mention return value or prerequisites (e.g., knowledge base must exist), but for a simple upload tool it is fairly complete. No missing critical 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?
Schema description coverage is 100%, with each parameter having a clear description in the schema (id, folder, content, filename). The tool description does not add additional meaning beyond the schema, so baseline 3 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?
Description clearly states the action (upload), resource (text document to a knowledge base), and the automatic processing (chunked and indexed for semantic search). It distinguishes from similar tools like neuron_create_kb_entry by emphasizing automatic chunking and indexing.
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?
Description provides clear context for when to use this tool (uploading a text document for semantic search), but does not explicitly mention when not to use or compare with alternatives. Thus it scores 4 per rubric: clear context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_upload_mediaUpload MediaCInspect
Upload a media file (image, video, audio, or document) by providing its base64-encoded content. Returns a URL for use in messages and broadcasts.
| Name | Required | Description | Default |
|---|---|---|---|
| base64 | Yes | Base64-encoded file content (without data URI prefix) | |
| filename | Yes | Original filename including extension (e.g., 'photo.jpg', 'report.pdf') | |
| mimetype | Yes | MIME type of the file (e.g., 'image/jpeg', 'image/png', 'application/pdf', 'video/mp4') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide minimal safety info (readOnlyHint=false, destructiveHint=false), and the description adds only that base64 encoding is required and a URL is returned. Missing details like file size limits, accepted MIME types beyond categories, URL expiration, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states action and input format, second states output usage. No redundancy, front-loaded information, 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?
Adequately covers basic purpose, input, and output, but lacks details on file size limits, allowed file types beyond categories, and behavior for invalid inputs. For a simple upload tool, this is minimally viable but incomplete.
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 covers 100% of parameters with descriptions, but the description essentially repeats 'base64-encoded content' without adding constraints like max file size, allowed formats, or examples. Baseline 3 not met because description adds no value beyond 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?
Description clearly states the tool uploads a media file (image, video, audio, or document) and returns a URL, but fails to differentiate from the sibling tool 'neuron_upload_document', which suggests overlap and may 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?
No guidance on when to use this tool versus alternatives like 'neuron_upload_document' or send-related tools. No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_validate_social_channelValidate Social ChannelARead-onlyIdempotentInspect
Test whether the stored credentials for a social channel are still valid by making a test API call to the platform.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier (UUID) of the social channel to validate |
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 useful context that it makes a test API call to the external platform, implying network activity and potential rate limit effects, beyond the annotation 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?
A single sentence of 16 words that is front-loaded with purpose. No wasted words; every part adds 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?
With one required parameter, clear annotations, and no output schema, the description is complete. It explains what the tool does, how it does it, and the input meaning. No missing information for an agent to select or invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description for 'id' is already clear. The tool description does not add additional parameter semantics beyond restating the schema, so baseline 3 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 'validate' (test) and the resource 'stored credentials for a social channel'. It explains the action 'by making a test API call to the platform', which distinguishes it from simple status check tools like get_social_channel_status.
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 use for checking credential validity but does not explicitly state when to use it versus sibling tools (e.g., get_social_channel_status) or provide when-not-to-use guidance. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_verify_bank_accountVerify Bank AccountARead-onlyIdempotentInspect
Verify a Nigerian bank account number via Paystack to confirm the account holder name before saving.
| Name | Required | Description | Default |
|---|---|---|---|
| bankCode | Yes | Nigerian bank code (e.g., '058' for GTBank, '044' for Access Bank) | |
| accountNumber | Yes | 10-digit Nigerian bank account number to verify |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not repeat that. It adds that it uses Paystack, which implies a third-party dependency but does not detail failure modes or costs. Given the annotation coverage, this is adequate.
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 immediately conveys the action, resource, and purpose. No extraneous words or repetition.
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 simple parameters with schema coverage, no output schema, and annotations covering safety, the description sufficiently explains the tool's role in the workflow (verification before saving). A minor gap is the absence of output format, but not required since no output schema.
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?
Both parameters (bankCode, accountNumber) are fully described in the input schema with examples. The description does not add additional meaning beyond the schema, so baseline 3 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?
Description clearly specifies the action (verify a Nigerian bank account number via Paystack) and purpose (confirm account holder name before saving). It distinguishes from sibling tools like neuron_get_bank_account and neuron_save_bank_account by the verb and 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?
The phrase 'before saving' implies this tool should be used prior to calling neuron_save_bank_account. While not explicit about when not to use or alternatives, the context from sibling names makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_verify_wallet_fundingVerify Wallet FundingARead-onlyIdempotentInspect
Verify a wallet funding transaction using the Paystack payment reference to confirm the payment was successful.
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | Paystack payment reference returned from the checkout session |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, providing a full behavioral profile. The description adds context about verifying a funding transaction, but does not disclose error handling or return behavior. It aligns with annotations, but does not significantly add beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clearly written sentence that efficiently communicates the tool's action and input. Every word earns its place; no unnecessary 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?
The tool has no output schema, so the description should explain what the verification returns or signals. It does not mention the output format, success/failure indicators, or error behavior. For a verification tool, this is a notable gap that reduces completeness.
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 100%, and the parameter 'reference' already has a clear description in the schema. The tool description merely restates that it uses the reference, adding no new semantic value beyond what the schema provides. Baseline 3 applies.
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 explicitly states the tool's purpose: to verify a wallet funding transaction using a Paystack payment reference. It uses a specific verb (verify) and resource (wallet funding transaction), clearly differentiating it from related tools like 'neuron_fund_wallet' and 'neuron_checkout'.
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 after a checkout session to confirm payment, but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. The purpose is clear enough for an agent to infer, but lacks explicit contrasts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_wallet_balanceWallet BalanceARead-onlyIdempotentInspect
Retrieve the current wallet balance for the organization, including available and pending amounts.
| 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 destructiveHint=false, so the safety profile is clear. Description adds minimal behavioral context beyond 'available and pending amounts', but lacks details on permissions 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, 16 words, no wasted words. Front-loaded with verb 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?
For a simple read-only tool with no parameters and good annotations, the description is complete. It specifies what is returned (balance with available and pending amounts). No output schema 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?
No parameters exist. Schema coverage is 100%. Description adds no parameter info, but 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?
Description uses specific verb 'Retrieve' and resource 'wallet balance', clearly states scope and included data. Distinguishes from sibling tools like neuron_wallet_transactions and neuron_fund_wallet.
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?
Clear context for when to use the tool (to get current balance). Does not explicitly state when not to use or mention alternatives, but the simplicity of the tool makes exclusions unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_wallet_transactionsWallet TransactionsBRead-onlyIdempotentInspect
Retrieve the wallet transaction history for the organization, with optional filtering by transaction type.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| type | No | Filter by transaction type: 'credit' or 'debit' | |
| limit | No | Number of transactions per page (default: 20) |
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 safe, read-only nature is clear. The description adds optional filtering context but does not disclose pagination behavior, sorting, or response structure beyond what is implied by the parameters.
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 14 words, front-loading the key purpose. Every word is functional, and there is no redundant or extraneous text.
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 no output schema, the description could explain what the returned transaction history includes (e.g., fields like date, amount, balance). However, 'transaction history' is reasonably understood, and the parameters cover the main use case of filtering. Adequate but not fully 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?
Schema coverage is 100%, so all parameters have descriptions. The description only repeats the filtering concept already in the schema for the 'type' parameter, adding no new semantic value beyond what is already structured.
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 'Retrieve' and the resource 'wallet transaction history', making the purpose evident. It distinguishes from sibling tools like 'neuron_wallet_balance' and 'neuron_fund_wallet' by focusing on historical records rather than current balance or funding actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only implies usage for retrieving transaction history with optional filters, but does not mention exclusion criteria or suggest specific contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
neuron_whoamiCheck Current AccountARead-onlyIdempotentInspect
Check which Neuron account is currently logged in, including user name, email, role, and organization.
| 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, destructiveHint=false, and idempotentHint=true. The description adds value by explicitly listing the returned fields (name, email, role, organization), providing richer 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, well-formed sentence of 16 words, front-loaded with the action. No unnecessary words 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?
Given no input parameters and no output schema, the description sufficiently explains the tool's purpose and the data it returns (name, email, role, organization). Annotations confirm it is safe and idempotent, making the description complete.
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%. The description adds no parameter information, but per guidelines, zero parameters baseline is 4. No additional meaning needed.
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 'Check' and the resource 'account', specifying the exact information returned (user name, email, role, organization). It distinguishes from sibling tools like login, logout, and get_profile.
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 clearly indicates when to use the tool: to check the currently logged-in account. While it does not explicitly list alternatives or when-not-to-use, the context is straightforward for a read-only info retrieval tool.
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!
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI assistants to manage WhatsApp business operations including chatbots, broadcasts, campaigns, and contacts through 120+ MCP tools.10039MIT
- AlicenseCqualityCmaintenance244 WhatsApp Business tools for AI agents: send messages, automate workflows, run marketing campaigns, and manage CRM. Supports Streamable HTTP and stdio transports.100172MIT
- AlicenseBqualityBmaintenanceBridges the WhatsApp HTTP API with AI assistants to enable full control over messaging, chat management, and interactive workflows through 63 specialized tools. It allows users to automate WhatsApp tasks and receive real-time AI feedback directly on their mobile devices.63204MIT
- AlicenseAqualityBmaintenanceConnects AI assistants to the official Meta WhatsApp Cloud API for managing conversations and sending various message types through natural language. It provides tools for media management, template messages, and real-time webhook processing without the risk of account bans.186823MIT