La Growth Machine MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@La Growth Machine MCP ServerSearch for a lead with email john@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
La Growth Machine MCP Server
A Model Context Protocol (MCP) server that wraps the full La Growth Machine API, giving Claude (and any MCP-compatible client) direct access to your LGM workspace.
Features
27 tools covering every LGM API endpoint:
Category | Tools |
Members |
|
Identities |
|
Audiences |
|
Leads |
|
Campaigns |
|
Inbox Webhooks |
|
Inbox Messaging |
|
Website Visitors |
|
Conversations |
|
Related MCP server: GoHighLevel MCP Server
Prerequisites
Node.js >= 18
A La Growth Machine account with API access (Business plan, currently at 100 EUR/month)
Your LGM API key from Settings > API
Installation
git clone https://github.com/GigRadar/lgm-mcp-server.git
cd lgm-mcp-server
npm install
npm run buildClaude Desktop Setup
Add the following to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"lgm": {
"command": "node",
"args": ["/absolute/path/to/lgm-mcp-server/dist/index.js"],
"env": {
"LGM_API_KEY": "your-api-key-here"
}
}
}
}Replace /absolute/path/to/lgm-mcp-server with the actual path where you cloned the repo, and your-api-key-here with your LGM API key.
Then restart Claude Desktop to pick up the new server.
Claude Code Setup
claude mcp add lgm -- node /absolute/path/to/lgm-mcp-server/dist/index.jsSet the environment variable before launching:
export LGM_API_KEY=your-api-key-hereUsage Examples
Once connected, you can ask Claude things like:
"List all my LGM campaigns and their stats"
"Search for a lead by email john@example.com"
"Create a new lead in audience X with these details..."
"Send a LinkedIn message to https://linkedin.com/in/someone saying..."
"Show me the activity logs for lead ID abc123"
"Set up a webhook to receive inbox events at https://my-server.com/webhook"
Development
npm run build # Compile TypeScript
npm run test # Run unit tests
npm run test:e2e # Run E2E tests (requires LGM_API_KEY)
npm run test:all # Run all testsAPI Reference
Base URL: https://apiv2.lagrowthmachine.com/flow
All requests are authenticated via apikey query parameter. Rate limit: 50 calls per 10 seconds.
Full API docs: Postman Documentation
Known Limitations
POST /inbox/emailcan only reply to existing email threads — it cannot initiate new email conversations. You must provide areplyToMessageId(fromget_conversation_messages) or setreplyInLastThread: true. Use eitherleadIdorleadEmail, not both.
License
ISC
Available Tools
27 toolscreate_audience_from_linkedinB
Import leads into an audience from a LinkedIn URL (regular search, Sales Navigator, or post URL)
| Name | Required | Description | Default |
|---|---|---|---|
| audience | Yes | Audience name to import leads into | |
| identityId | Yes | Identity ID to use for the LinkedIn import | |
| linkedinUrl | Yes | LinkedIn search URL, Sales Navigator URL, or post URL | |
| linkedinPostCategory | No | Category filter for LinkedIn post (e.g. 'likes', 'comments') | |
| excludeContactedLeads | No | Exclude leads already contacted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only says 'Import leads into an audience' without explaining key behaviors: whether existing leads are updated or duplicated, whether the import is synchronous, what authentication is needed, or what the outcome (success/failure) looks like. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core action and resource without any wasted words. Every element—verb, resource, URL types—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 the tool has 5 parameters (3 required), no output schema, and no annotations, the description is too brief. It does not explain what the tool returns (e.g., imported lead count, success message), how the LinkedIn post category parameter interacts with the URL, or any prerequisites (e.g., identity must be authenticated). The schema covers parameter formats but not operational 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 each parameter has a clear inline description (e.g., 'Identity ID to use for the LinkedIn import'). The tool description itself does not add extra meaning beyond the schema, but the schema already provides adequate semantics. 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 'import' and clearly identifies the resource: 'leads into an audience from a LinkedIn URL'. It further specifies the types of LinkedIn URLs (regular search, Sales Navigator, or post URL), which immediately distinguishes it from sibling tools like list_members, search_lead, or remove_lead_from_audiences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 use case (importing leads from LinkedIn) but provides no explicit guidance on when to use this tool vs alternatives like create_or_update_lead or search_lead. It does not state when not to use it or mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_inbox_webhookA
Create an inbox webhook for real-time notifications on inbox events (LinkedIn and Email messages)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Webhook destination URL (must be publicly accessible) | |
| name | Yes | Name for this webhook | |
| campaigns | No | Array of campaign IDs to filter events for, or ['all'] for all campaigns |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the webhook receives notifications on inbox events, which is good. However, it doesn't mention whether creation is idempotent, if there are limits on webhooks, what authentication is needed, or if the URL must be publicly accessible (this is only in the parameter schema). The description adds some value but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose concisely. It front-loads the main action. However, it could be slightly more structured (e.g., listing supported event types or constraints), but it's efficient for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (all straightforward) and no output schema, the description does a decent job but is incomplete. It doesn't explain what events trigger notifications, the return value (e.g., webhook ID), or how to verify creation. Sibling tools like 'list_inbox_webhooks' and 'delete_inbox_webhook' suggest CRUD operations, but the description doesn't hint at the lifecycle.
Complex tools with many parameters or behaviors need more documentation. 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 3 parameters. The description does not add parameter-specific details beyond what the schema already provides via descriptions. Since coverage is high, baseline is 3; the description adds marginal value by implying the event types (LinkedIn and Email), which maps to the url and name parameters. A slight bump to 4 because the description sets the context for what the webhook does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 inbox webhook for real-time notifications on LinkedIn and Email events. The verb 'create' and resource 'inbox webhook' are specific. It doesn't explicitly distinguish from sibling tools like 'list_inbox_webhooks' or 'delete_inbox_webhook', but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to set up real-time event notifications, which provides some context. However, it doesn't specify when to use this versus other tools like the native webhooks (rb2b_native_webhook, warmly_native_webhook, vector_native_webhook) or how to choose between them. No explicit 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.
create_or_update_leadB
Create a new lead or update an existing lead in a specified audience
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | Phone number | |
| No | Twitter/X handle | ||
| audience | Yes | Audience ID to add the lead to | |
| jobTitle | No | Job title | |
| lastname | No | Lead's last name | |
| proEmail | No | Professional email address | |
| firstname | No | Lead's first name | |
| companyUrl | No | Company website URL | |
| persoEmail | No | Personal email address | |
| companyName | No | Company name | |
| linkedinUrl | No | LinkedIn profile URL | |
| customFields | No | Custom fields as key-value pairs (custom variables / snippets) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states 'create or update' but does not explain how the tool determines whether to create or update (e.g., matching criteria, what fields trigger an update). It also does not disclose side effects, required permissions, or whether the operation is idempotent. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 13 words, which is concise and front-loaded. However, it could be more informative by adding a brief note on update behavior or matching criteria without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 12 parameters, no output schema, and no annotations, the description is minimally adequate. It tells the core function but does not explain return values, how existing leads are matched, or how to handle errors. For a complex tool, more detail is needed for full 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 the baseline is 3. The description does not add any additional meaning beyond the schema; it does not elaborate on parameter behavior, such as how customFields work or how the tool identifies existing leads. The description adds no value over the structured 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: 'Create a new lead or update an existing lead in a specified audience'. It specifies the verb (create/update), the resource (lead), and the context (audience). This distinguishes it from sibling tools like 'search_lead', 'remove_lead_from_audiences', and 'update_lead_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 when to use the tool (to create or update a lead) but provides no explicit guidance on when not to use it or alternatives. For example, it does not clarify when to use this tool over 'update_lead_status' or 'search_lead'. The usage context is implied, but 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.
delete_inbox_webhookA
Delete an inbox webhook by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | The webhook ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the destructive nature ('delete'), but does not mention whether the webhook must exist, whether the operation is irreversible, or any side effects. Basic disclosure is 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, clear sentence of 6 words with no filler. Every word is necessary and serves the purpose 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 one-parameter tool with no output schema, the description is minimally complete. However, it lacks context about error handling, idempotency, or prerequisites like whether the webhook must exist, which would be useful 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 description coverage is 100%, so the parameter is already documented. The description adds 'by its ID' which aligns with the schema description but provides no additional semantic value 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 explicitly states the action (delete), the resource (inbox webhook), and the identifier (by its ID). This clearly distinguishes it from sibling tools like list_inbox_webhooks and create_inbox_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 deletion of a specific webhook, but provides no explicit guidance on when to use or when not to use, nor any alternatives. Given the simplicity, it's adequate but lacks context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_conversation_noteB
Add or replace a note on an inbox conversation. Identify the conversation by conversationId, or by lead identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | 'append' to add to existing note, 'replace' to overwrite | |
| note | Yes | Note content to add or replace | |
| No | Lead email to identify the conversation | ||
| leadId | No | The lead ID | |
| campaignId | No | Campaign ID for context | |
| identityId | No | Identity ID for context | |
| linkedinUrl | No | Lead LinkedIn URL to identify the conversation | |
| campaignName | No | Campaign name for context | |
| conversationId | No | The conversation ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose all behavioral traits. It states the tool adds or replaces a note, but does not mention permissions needed, idempotency, side effects, or what happens if the conversation does not exist. This is minimal disclosure for a mutation tool with no 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 core action. No unnecessary words. Could be improved by listing identification methods more explicitly, but current structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and no annotations, the description is too brief. It does not explain identification priority (e.g., what if multiple identifiers are given?), nor does it describe return values or error behavior. Sibling tools are not differentiated, leaving the agent guessing about appropriate use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description groups 'lead identifiers' but does not add new meaning beyond the schema's parameter descriptions (email, leadId, linkedinUrl). The grouping is mildly helpful but not substantial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 or replace a note') and the target resource ('inbox conversation'), with explicit identification methods (conversationId or lead identifiers). This distinguishes it from sibling tools that perform different functions like sending messages or listing 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 provides guidance on how to identify the conversation but does not give any when-to-use or when-not-to-use context. Siblings like 'send_linkedin_message' or 'get_conversation_messages' could be confused, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_detailC
Get detailed information about a specific audience
| Name | Required | Description | Default |
|---|---|---|---|
| audienceId | Yes | The audience ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool provides 'detailed information' but does not specify what that information includes (e.g., attributes, metrics), whether the operation is read-only, if there are any side effects, or any authentication requirements. The agent is left guessing about the return format and behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the key purpose. It could earn its place more by adding behavioral specifics, but as written it avoids redundancy and is 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?
Given the tool has 1 parameter and no output schema, the description is incomplete. It does not explain what 'detailed information' means, what fields or data the agent can expect in the response, or any performance considerations. For a tool that returns a potentially rich object of audience details, 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 coverage is 100%, with a single 'audienceId' parameter already described as 'The audience ID'. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'detailed information about a specific audience'. The verb 'get' and resource 'audience' are specific, and the input schema confirms the single required parameter 'audienceId', making the purpose unambiguous. However, it does not explicitly distinguish this from sibling tools like 'get_audience_leads' or 'list_audiences'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'get_audience_leads' (which returns leads, not audience details) or 'list_audiences' (which lists all audiences). The description does not mention prerequisites, context, or 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.
get_audience_leadsB
List leads in a specific audience with pagination
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of leads to skip | |
| limit | No | Max leads to return | |
| audienceId | Yes | The audience ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions 'pagination', which hints at iterative retrieval behavior, but does not disclose whether the tool is read-only, destructive, or has any rate limits. A 3 is appropriate because the description adds some value (pagination) but leaves behavioral traits like idempotency or side effects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (6 words) and front-loaded with the core action. It is concise but lacks a sentence on usage context or exclusions. Still, it earns its place without 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 that there is no output schema, the description could be improved by indicating what fields are returned or whether the response is paginated in a standard way. The complexity is moderate (3 params, all simple), but the omission of return structure lowers 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 the schema already documents all three parameters with descriptions. The description adds no extra parameter meaning beyond what the schema provides. Baseline score 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 'List leads in a specific audience with pagination' clearly states the verb (list), resource (leads), scope (in a specific audience), and feature (pagination). It distinguishes itself from siblings like 'list_members' and 'list_audiences' by specifying 'leads' and 'audience'. However, it could be slightly more explicit about the exclusion of other filtering or ordering options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 retrieving leads from a given audience, but it does not provide explicit guidance on when to use it versus alternatives like 'search_lead' (which likely searches across audiences) or 'get_audience_detail' (which might return audience metadata). No 'when-not' or alternative tool mentions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignB
Get a single campaign by ID with full details
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | The campaign ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Get a single campaign by ID with full details', which is a read operation, but it fails to disclose any behavioral traits such as error handling, authentication requirements, or what happens if the campaign ID does not exist. Minimal transparency beyond the tool's name.
Agents need to know what a tool does to the 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 sentence with no wasted words. It is appropriately short and front-loaded with the key action and resource. 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?
Given the simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It does not explain what 'full details' entails, potential error conditions, or the response format. The context signals show a straightforward tool, but the description should provide more completeness to be fully useful 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 description coverage is 100% (the single parameter campaignId has a description). The description adds 'with full details' which hints at the response but does not add meaning to the parameter itself. Since the schema already documents the parameter, the description provides marginal value, scoring 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 explicitly states 'Get a single campaign by ID with full details', which clearly identifies the verb (get), resource (campaign), scope (single by ID), and distinguishes it from siblings like get_campaigns (plural) and get_campaign_stats (stats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a single campaign's full details, but it does not explicitly state when to use it versus alternatives (e.g., get_campaigns for multiple campaigns) or provide any exclusions or prerequisites. Given the presence of many sibling tools, more 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.
get_campaign_leads_statsA
Get per-lead statistics for a campaign. Supports cursor-based pagination (getLeadsAfter/getLeadsBefore) for simple page-by-page access, OR offset-based pagination (skip/limit) and status filtering — when skip>0 or status is provided, all pages are fetched client-side and then filtered/sliced.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of leads to skip for offset-based pagination. Triggers full fetch of all pages. | |
| limit | No | Max leads to return (default 25) | |
| status | No | Filter leads by status, e.g. 'replied', 'converted', 'notinterested'. Triggers full fetch of all pages. | |
| campaignId | Yes | The campaign ID | |
| getLeadsAfter | No | Lead ID to get results after (cursor-based forward pagination, single page) | |
| getLeadsBefore | No | Lead ID to get results before (cursor-based backward pagination, single page) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly discloses the critical behavioral trait that offset-based pagination with skip>0 or status filtering fetches all pages client-side, then filters/slices. However, it does not describe the return format (what fields constitute 'per-lead statistics'), auth requirements, error handling, or rate limits. The disclosure is adequate for the main performance implication but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the primary purpose in the first sentence. The second sentence packs all pagination details and behavioral nuance without redundancy. Every word earns its place, and there is 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?
Given the tool has 6 parameters, no output schema, and no annotations, the description covers purpose, pagination modes, and a key behavioral note. However, it fails to describe the return value structure (what fields are in the 'per-lead statistics' array), which is a significant gap for an agent to correctly process the tool's output. It also does not mention that campaignId is required (though schema covers it) or handle edge cases like empty results. The description is incomplete for a tool of this 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 each parameter already has a description in the schema. The description adds value by grouping parameters into two distinct pagination strategies (cursor-based vs. offset-based) and explaining the behavioral consequence of using offset/status parameters. This context is not present in the individual schema descriptions and enhances the agent's understanding of parameter interactions. It could be clearer about mutual exclusivity between cursor and offset 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 'Get per-lead statistics for a campaign,' which is a specific verb+resource combination. It distinguishes the tool from siblings like get_campaign_stats (aggregate stats) and get_campaign_leads (likely just leads). However, 'per-lead statistics' is somewhat vague without specifying what statistics are included (e.g., replies, conversions), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 two pagination modes and warns that offset-based pagination (skip/status) triggers a full client-side fetch, which is a valuable usage constraint. However, it does not explicitly state when to use this tool vs. alternatives (e.g., 'for aggregate stats, use get_campaign_stats'), nor does it provide guidance on when not to use it beyond the pagination trade-off. The guidance is partially present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_messagesC
Get messages sent in a campaign
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | The campaign ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral transparency. It correctly implies a read operation ('Get') but does not explicitly state that it is non-destructive, does not mention rate limits, pagination, or what happens if the campaign ID is invalid. A 3 is given because it does the minimum by indicating it's a read 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 a single short sentence, which is concise. However, it could benefit from additional context without becoming verbose, but current length is not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 parameter, no output schema), but the description lacks contextual completeness. It doesn't specify the return format (e.g., list of message objects with timestamps, content, etc.), or whether results are paginated, ordered, or filtered. The many sibling tools also suggest more nuanced guidance would be valuable.
Complex tools with many parameters or behaviors need more documentation. 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 clearly described as 'The campaign ID'. The description adds no additional meaning beyond the schema. Per guidelines, with high schema coverage the baseline is 3, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves messages linked to a campaign. It is clear about the action ('Get') and the resource ('messages'), but it does not distinguish itself from sibling tools like 'get_conversation_messages' which also retrieves messages, or 'get_campaign' which retrieves campaign-specific data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. For example, it doesn't clarify if this returns only sent messages or includes drafts, or if it should be used alongside 'get_campaign_stats' or 'get_campaign_leads_stats'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignsB
Retrieve all campaigns with pagination support (max 25 per page)
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of campaigns to skip (for pagination) | |
| limit | No | Max campaigns to return (max 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It correctly implies a read-only operation ('Retrieve') and explicitly states the pagination limit. However, it does not mention other important traits like authentication requirements, rate limits, or what happens on empty results, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the essential purpose and a key constraint. Every word contributes value, with no redundancy or 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?
Despite having a simple schema and no output schema, the description omits any indication of what the tool returns (e.g., an array of campaign objects). It also does not mention sorting, filtering, or required permissions. For a listing tool with no annotations, this leaves the agent uncertain about the response 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 description coverage is 100%, and both parameters ('skip', 'limit') are already well-documented in the schema. The description adds no additional meaning beyond what the schema provides, such as accepted ranges or formatting. 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 uses the specific verb 'Retrieve' and clearly identifies the resource 'all campaigns' with a key constraint (pagination, max 25). This distinguishes it from sibling tools like 'get_campaign' (singular) or 'get_campaign_stats', which address different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 such as 'get_campaign' for a single campaign or 'get_campaign_stats' for aggregated data. There is no mention of prerequisites, exclusions, or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_statsB
Get engagement statistics for a campaign (replies, conversions, channel breakdowns)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | The campaign ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden of behavioral disclosure. It hints at the output structure (replies, conversions, channel breakdowns) and implies a read operation, but it does not clarify whether the campaign must be active, if there are rate limits, or what happens on error. The examples provide some insight but leave significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with examples in parentheses, making it short and front-loaded. It efficiently conveys the core purpose. However, given the lack of annotations and output schema, adding a second sentence about expected return format or usage context would improve completeness without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no annotations, and no output schema, the description provides the basic purpose and sample statistics but lacks crucial details such as the exact return structure, behavior on invalid campaignId, security requirements, or error handling. It leaves the agent with significant unknowns for proper 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, campaignId, has a schema description of 'The campaign ID', which already covers its meaning. The tool description does not add any further context (e.g., format, required state). With 100% schema description coverage, the baseline is 3, and the description fails to elevate 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 ('Get engagement statistics') and specifies the resource ('for a campaign') with examples of the statistics provided (replies, conversions, channel breakdowns). While it distinguishes from siblings like get_campaigns and get_campaign, it does not explicitly differentiate from the similar sibling get_campaign_leads_stats, which may cause 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 implies the tool should be used when campaign-level engagement metrics are needed, but it offers no explicit guidance on when to prefer this over alternatives (e.g., get_campaign_leads_stats) or any prerequisites (e.g., campaign must exist, access rights). The usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_conversation_messagesC
Get messages from a specific conversation with pagination
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (starts at 0) | |
| conversationId | Yes | The conversation ID (24-char hex ObjectId) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of disclosing behavior. The description only mentions pagination but does not state whether the operation is read-only, destructive, or requires authentication. Important details like rate limits, data freshness, or what happens with empty results are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 6 words, fitting a single sentence. It is front-loaded with the core action and resource. The brevity is acceptable but could be expanded slightly to include usage guidelines without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description should provide more context about the tool's behavior. It lacks information about what is returned, pagination limits, message ordering, or required permissions. For a tool with only 2 parameters and simple schema, it is under-specified.
Complex tools with many parameters or behaviors need more documentation. 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 is 3. The description adds no additional meaning beyond what the schema already provides for the two parameters. It mentions pagination, which indirectly relates to the 'page' parameter, but does not clarify the relationship between page number and message ordering or other pagination 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 retrieves messages and specifies the resource as 'specific conversation' with pagination. It uses an active verb 'Get' and identifies a distinct resource. However, it doesn't explicitly differentiate from the sibling tool 'get_campaign_messages' which also retrieves 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 provides no guidance on when to use this tool versus the many sibling tools, such as 'get_campaign_messages' or 'get_lead_conversations'. There is no mention of prerequisites, context, or scenarios where it should be avoided. The pagination behavior is mentioned but not explained in terms of usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_conversationsB
Get all conversations for a specific lead across channels
| Name | Required | Description | Default |
|---|---|---|---|
| leadId | Yes | The lead ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic purpose without revealing any behavioral traits such as pagination behavior, ordering, error conditions, authentication requirements, or rate limits. For a tool that returns data across channels, additional transparency is expected.
Agents need to know what a tool does to the 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 redundant words. Every word contributes to the purpose, 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 simple one-parameter tool with no annotations and no output schema, the description could be considered minimally adequate. However, it lacks details about the return format, potential pagination, or any cross-channel specifics. Given the complexity of 'across channels', more context 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% (leadId is described as 'The lead ID' in the schema). The description does not add any additional meaning beyond what the schema provides. Baseline score of 3 is appropriate as the schema already documents the parameter 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 'Get all conversations for a specific lead across channels' with a specific verb (get), resource (conversations for a lead), and scope (all, across channels). This distinguishes it from sibling tools like get_conversation_messages (which gets messages within a conversation) or 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 usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like get_conversation_messages or search_lead, nor does it specify prerequisites or exclusions. The agent receives no context for choosing this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_logsB
Get activity logs for a specific lead (messages sent, enrichments, status changes, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| leadId | Yes | The lead ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Get activity logs', implying a read-only operation, but does not disclose any behavioral traits such as pagination, rate limits, error handling for invalid leadId, or whether the logs are real-time. Limited 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 (14 words) that is front-loaded with the action and resource, and includes illustrative examples. No wasted or 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 single-parameter tool with no output schema, the description is reasonably complete. It defines the input (leadId) and the nature of the output (activity logs with examples). It could be improved by specifying the output structure or any limitations, but it is adequate for basic 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% (leadId with description 'The lead ID'). The description adds no additional meaning beyond the schema; it merely restates that the tool is for a specific lead. Hence baseline 3, no added 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 verb 'Get' and the resource 'activity logs for a specific lead', with examples of log types. However, it does not explicitly differentiate this tool from similar siblings like 'get_lead_conversations', which also retrieves lead-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 activity logs are needed, but provides no explicit context on when to use this tool versus alternatives (e.g., get_lead_conversations) or any prerequisites. 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.
list_audiencesB
List all audiences in your LGM account. Audiences are groups of leads targeted in campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states it lists audiences, but does not mention authentication requirements, pagination, ordering, or any side effects. Minimal transparency beyond the surface 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?
Two concise sentences. The first front-loads the action and resource. The second defines the resource. No wasted words or 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 no parameters, no output schema, and no annotations, the description is adequate for a simple list tool. However, it lacks information on return format, pagination, or authentication, and does not fully compensate for missing 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?
There are zero parameters, so the input schema is fully covered. The description adds context about what audiences are, which is useful. Per guidelines, no parameters gives a baseline of 4, and the description meets that with relevant 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 the verb 'List' and the resource 'audiences' with context that they are groups of leads targeted in campaigns. It distinguishes from siblings like get_audience_detail and get_audience_leads by implying a broad listing, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 see all audiences, but provides no guidance on when not to use it or alternatives like get_audience_detail for a specific audience or get_audience_leads for leads within an audience.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_identitiesB
List all connected identities in your LGM account. An identity is the profile (LinkedIn, email, etc.) used to send messages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It only states 'list all connected identities', which implies a read operation, but does not mention any authentication requirements, rate limits, or what happens if no identities exist. The term 'connected' is also left undefined.
Agents need to know what a tool does to the 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, no wasted text. It is front-loaded with the action and resource, then provides a clear definition. Every sentence 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?
Given the tool has zero parameters and no output schema, the description is fairly complete—it explains what the tool does and defines the resource. However, it could mention the return type (e.g., list of identity objects) or that it returns all identities without filtering. Still, for a simple list tool, 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?
There are no parameters, so schema coverage is 100%. The description adds value by defining what an identity is ('profile (LinkedIn, email, etc.) used to send messages'), which helps the agent understand the resource beyond the empty schema. This exceeds 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 verb ('list all') and resource ('connected identities'), and defines what an identity is (profile used to send messages). It distinguishes from sibling tools like list_members and list_audiences by focusing on a specific resource, though it does not explicitly contrast with 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?
No guidance is provided on when to use this tool versus alternatives. While the simple nature of listing all identities makes usage obvious, the description lacks explicit context such as 'use this to view available sender profiles' 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.
list_inbox_webhooksA
List all inbox webhooks configured in your workspace
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In the absence of annotations, the description implies a read-only operation via the verb 'list'. However, it does not explicitly state safety traits like nondestructive behavior, pagination behavior, or any rate limits. It is minimally 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?
A single sentence that front-loads the verb and resource with no wasted words. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no annotations, the description provides only the minimal intent. It does not hint at the structure of returned webhooks (e.g., fields like ID, name, trigger) or whether the list is paginated. A bit more context would help 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 input schema has zero parameters, so the baseline is 4. The description adds meaning by specifying that only webhooks 'configured in your workspace' are listed, clarifying the scope beyond the bare tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all'), the resource ('inbox webhooks'), and the scope ('configured in your workspace'). It uniquely identifies the tool's purpose among siblings like create_inbox_webhook and delete_inbox_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 is provided on when to use this tool versus alternatives. There is no discussion of prerequisites, typical use cases, or situations where sibling tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_membersA
List all members (users) associated with your LGM workspace
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It indicates a read operation ('List'), which is non-destructive, but does not disclose rate limits, authentication requirements, or any pagination behavior. With zero parameters and no output schema, the description is minimal but not misleading.
Agents need to know what a tool does to the 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, concise sentence that contains the essential action ('List all members') and scope ('associated with your LGM workspace'). 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?
Given the tool has no parameters, no output schema, and no annotations, the description is nearly complete for a simple list operation. It could benefit from noting if the response includes any identifying details (e.g., names, IDs), but the current text effectively conveys the core 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?
There are zero parameters, and schema description coverage is 100% (nothing to document). The description adds no param-specific details because none exist. Baseline 4 is appropriate as the schema conveys all necessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all members (users) in the workspace. The verb 'List' and resource 'members' are specific, and it distinguishes from sibling tools like list_audiences or search_lead by focusing on workspace 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 when you need a list of workspace members, but it does not provide when-not-to-use guidance or mention alternatives among siblings (e.g., list_identities might return a different set of users). No explicit exclusion or comparison is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rb2b_native_webhookB
Webhook endpoint for RB2B website visitor tracking. Each visitor is pushed into the specified audience.
| Name | Required | Description | Default |
|---|---|---|---|
| audienceName | No | Audience name to push visitors into | RB2B_Website_Visitors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions 'pushed into the specified audience' but doesn't explain whether this creates a new lead, updates an existing one, or requires authentication. The lack of details on potential side effects (e.g., duplicate handling) is a significant gap.
Agents need to know what a tool does to the 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: only two sentences that convey the purpose and core action without extraneous words. Every part is essential and earns its place, making it efficient for an AI agent 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?
Given the tool has 1 optional parameter and no output schema, the description is mostly adequate but lacks completeness for a webhook tool. It doesn't clarify what happens when audienceName is omitted (using the default), error conditions, or what triggers the push. This is a minimal viable description but leaves some 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 description coverage is 100% (the single parameter audienceName has a description: 'Audience name to push visitors into'). The description adds no extra meaning beyond the schema, but since schema coverage is high, the baseline of 3 is appropriate. The justification mentions the parameter explicitly in the description, earning a 4 for 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?
The description clearly states the tool is a 'Webhook endpoint for RB2B website visitor tracking' and explains the action: 'Each visitor is pushed into the specified audience.' This gives a specific verb+resource combination, distinguishing it from sibling tools like 'warmly_native_webhook' and 'vector_native_webhook' by name and 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 tracking website visitors and assigning them to an audience, but lacks explicit guidance on when to use this tool versus alternatives like 'warmly_native_webhook' or 'vector_native_webhook'. No information on prerequisites, setup steps, or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_lead_from_audiencesA
Remove a lead from one or more audiences. Identify the lead by at least one identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| crm_id | No | CRM ID of the lead | |
| No | Twitter/X handle | ||
| audience | Yes | Audience ID, array of IDs, or 'all' | |
| lastname | No | Last name | |
| proEmail | No | Professional email | |
| firstname | No | First name | |
| persoEmail | No | Personal email | |
| linkedinUrl | No | LinkedIn profile URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states 'Remove' which implies mutation, but does not explain side effects (e.g., does the lead remain in other audiences?), error handling (e.g., lead not found), or required permissions. This is insufficient.
Agents need to know what a tool does to the 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, with the first sentence stating the core purpose and the second adding a key requirement. No unnecessary words, and the key information is front-loaded. 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 simplicity of the tool (single action, no nested objects, no output schema), the description covers the main purpose and the identifier requirement. It could mention the result of the operation (e.g., success/failure) or idempotency, but for a removal action 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 description coverage is 100%, so the baseline is 3. The description adds value by stating that the lead must be identified by at least one identifier, clarifying the relationship among the multiple identifier parameters (crm_id, twitter, etc.). This goes beyond the individual 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 action: 'Remove a lead from one or more audiences.' It specifies the resource (lead) and the target (audiences), and adds the requirement to identify the lead by at least one identifier. This distinguishes it from sibling tools like create_or_update_lead or search_lead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 prerequisite ('Identify the lead by at least one identifier') but does not explicitly state when to use this tool versus alternatives, nor does it discuss exclusions or when not to use it. The context is clear enough for a simple removal action, but lacks deeper guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_leadB
Search for a lead by email, LinkedIn URL, lead ID, name, or company
| Name | Required | Description | Default |
|---|---|---|---|
| No | Email address to search | ||
| leadId | No | LGM lead ID | |
| lastname | No | Last name | |
| firstname | No | First name | |
| companyUrl | No | Company URL / domain | |
| companyName | No | Company name | |
| linkedinUrl | No | LinkedIn profile URL to search |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It states only that a search is performed, but does not reveal whether the operation is read-only (e.g., safe to call repeatedly), what happens with multiple matches, error conditions, or any authentication requirements. The description is too minimal to guide safe invocation.
Agents need to know what a tool does to the 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, very concise and efficient. However, it lacks front-loading of critical aspects (e.g., return type, required fields). It earns a high score for brevity but loses a point for missing structure that could improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 7 optional parameters and no output schema or annotations, the description is too brief. It does not explain how to combine search criteria, what the expected result format is (single lead vs. list), or any constraints. Given the complexity, the description is incomplete and leaves the agent with significant 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 description coverage is 100%, so the baseline is 3. The description enumerates the search fields (email, LinkedIn URL, lead ID, name, company) but adds no new meaning beyond what the property descriptions already provide. It does not clarify how parameters interact (e.g., are they AND or OR, is a minimum required). Thus, the description offers marginal added 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 ('search for a lead') and lists the multiple search criteria (email, LinkedIn URL, lead ID, name, or company). This verb+resource+scope is specific and distinguishes it from sibling tools like list_members or get_audience_detail, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of when to prefer search_lead over other look-up tools like get_audience_leads or list_members, nor any context about search behavior (e.g., whether it returns best match or multiple results). The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_email_messageA
Reply to an existing email thread with a lead. Cannot initiate new email conversations — use replyToMessageId (get it from get_conversation_messages) or replyInLastThread. Requires either leadId or leadEmail (not both).
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email addresses | |
| bcc | No | BCC email addresses | |
| leadId | No | ID of the target lead | |
| message | Yes | Email message content | |
| subject | No | Email subject line (for new threads) | |
| leadEmail | No | Email address of the lead | |
| identityId | Yes | ID of the email identity that will send the message | |
| replyToMessageId | No | Specific message ID to reply to | |
| replyInLastThread | No | Reply in the most recent email thread with this lead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly conveys that the tool only replies and does not start new threads, and highlights the mutual exclusivity of leadId and leadEmail. However, it does not mention authentication requirements, rate limits, or error handling (e.g., what happens if the thread does not exist), leaving some gaps in 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 sentences long, front-loaded with the primary purpose, and includes all critical constraints without extraneous words. Every sentence provides essential information, making it highly efficient for an AI agent 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 tool with 9 parameters, 2 required, nested objects, and no output schema, the description covers the core behavior (reply-only), the two reply methods, and the leadId/leadEmail constraint. The only minor gap is the subject parameter: it is described as 'for new threads' but the tool cannot create new threads, so a brief note on when subject might be used (e.g., if the reply becomes a new thread in some cases) 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?
The input schema has 100% coverage, with descriptions for all parameters. The description adds value beyond the schema by explaining the reply mechanism (replyToMessageId from get_conversation_messages, replyInLastThread) and the 'either leadId or leadEmail' constraint. It also clarifies that subject is for new threads, though the tool cannot initiate new threads – a slight inconsistency but still informative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 replying to an existing email thread with a lead, explicitly distinguishing from initiating new conversations. It uses specific verbs ('Reply to') and identifies the resource ('email thread with a lead'), which differentiates it from sibling tools like send_linkedin_message or get_conversation_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 provides explicit guidance on when to use this tool (to reply to an existing thread) and when not to use it (cannot initiate new conversations). It names alternative parameters (replyToMessageId or replyInLastThread) and specifies the leadId/leadEmail constraint, offering clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_linkedin_messageA
Send a LinkedIn text or voice message to a lead. Requires either leadId or linkedinUrl, and either message or audioUrl.
| Name | Required | Description | Default |
|---|---|---|---|
| leadId | No | The lead ID to message | |
| message | No | Text message to send (required if audioUrl not provided) | |
| audioUrl | No | URL to a voice message audio file | |
| memberId | Yes | ID of the member (user) performing the action | |
| identityId | Yes | ID of the LinkedIn identity that will send the message | |
| linkedinUrl | No | LinkedIn profile URL (if leadId not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that both text and voice messages are supported via message and audioUrl parameters. However, it does not mention permission requirements, rate limits, success/error behavior, or what happens when the LinkedIn message fails to send (e.g., lead not found, privacy restrictions).
Agents need to know what a tool does to the 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 covers the core functionality and necessary input conditions efficiently. While concise, it could be slightly improved by front-loading the action more directly (e.g., 'Send a LinkedIn message to a lead...') which it already does. 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 tool has 6 parameters (including two pairs of conditional requirements) and no output schema, the description is adequate but incomplete. It does not explain what the tool returns (e.g., success confirmation, message ID) or error handling. For a communication tool with complex prerequisites, mentioning the 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 the schema documents all six parameters clearly. The description adds value by summarizing the mutual exclusivity of leadId/linkedinUrl and message/audioUrl, which is not explicitly stated in the schema. This context helps the agent understand parameter dependencies beyond individual 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 ('Send a LinkedIn text or voice message'), the target class ('to a lead'), and the required input conditions (either leadId or linkedinUrl, and either message or audioUrl). This distinguishes it from siblings like send_email_message which targets email, not LinkedIn.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 specifies the condition for using the tool (requires leadId or linkedinUrl, and either message or audioUrl), which is helpful. However, it does not provide guidance on when NOT to use it or point to an alternative tool for similar purposes (e.g., use send_email_message for email), though the sibling list implicitly differentiates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_lead_statusB
Update the status of a lead within specific campaigns. Identify the lead by at least one identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| crm_id | No | CRM ID of the lead | |
| status | Yes | New status for the lead (e.g. CONVERTED, NOTINTERESTED) | |
| No | Twitter/X handle | ||
| campaign | Yes | Campaign ID, array of IDs, campaign name, or 'all' | |
| lastname | No | Last name | |
| proEmail | No | Professional email | |
| firstname | No | First name | |
| persoEmail | No | Personal email | |
| linkedinUrl | No | LinkedIn profile URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The description indicates the tool modifies data (update), which implies a write operation. It does not disclose any destructive potential (e.g., whether status changes are reversible), required permissions, or side effects (e.g., triggering notifications). The behavioral disclosure is minimal but not contradictory.
Agents need to know what a tool does to the 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-loading the main action and then adding a key constraint. Every sentence is useful and there is no fluff. It is appropriately concise for a tool with many 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?
Given 9 parameters (all with schema coverage) and no output schema, the description is adequate but incomplete. It explains the identification requirement but does not describe the return value or confirm success/failure behavior. For a mutation tool with no annotations, additional context on idempotency or error handling would be expected for full 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 the schema already documents all 9 parameters. The description adds the requirement to identify by at least one identifier, which is a semantic constraint not captured in the schema. However, it does not explain the interplay between identifiers (e.g., precedence, combination logic) or the meaning of the 'campaign' anyOf types (e.g., when to use array vs 'all'). The description adds marginal 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 the tool updates the status of a lead within specific campaigns, with a requirement to identify the lead by at least one identifier. It distinguishes itself from sibling tools like search_lead (searching) and create_or_update_lead (general create/update), but does not explicitly differentiate 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 description advises to 'identify the lead by at least one identifier', which implies usage context. However, it does not provide explicit guidance on when to use this tool versus alternatives like create_or_update_lead, or when not to use it (e.g., if only partial identifiers are available). No exclusions 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.
vector_native_webhookB
Webhook endpoint for Vector website visitor tracking. Each visitor is pushed into the specified audience.
| Name | Required | Description | Default |
|---|---|---|---|
| audienceName | No | Audience name to push visitors into | Vector_Website_Visitors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states that visitors are pushed into an audience. It omits critical behaviors such as HTTP method (likely POST), required authentication, payload format, response/return values, and error handling. This is a significant transparency gap for a webhook integration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that directly state purpose and action with no fluff or redundant content. It is efficiently front-loaded with the tool's identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a webhook endpoint with no output schema and no annotations. The description explains the high-level purpose but lacks essential integration details like how to call it (method, payload, headers), what the response looks like, and any prerequisites. The gaps are significant for a tool that would be used in real webhook scenarios.
Complex tools with many parameters or behaviors need more documentation. 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 audienceName, and the schema already provides a clear description ('Audience name to push visitors into'). The tool description adds minimal extra semantic value by linking this parameter to the action, 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 tool is the webhook endpoint for Vector website visitor tracking, with a specific action of pushing each visitor into an audience. This distinguishes it from sibling webhooks like rb2b_native_webhook and warmly_native_webhook by naming Vector explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 Vector visitor tracking but does not explicitly state when to choose this over the other webhook tools or provide alternatives. The sibling names suggest similar tools, yet no exclusion or differentiation guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
warmly_native_webhookB
Webhook endpoint for Warmly website visitor tracking. Each visitor is pushed into the specified audience.
| Name | Required | Description | Default |
|---|---|---|---|
| audienceName | No | Audience name to push visitors into | Warmly_Website_Visitors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the tool pushes visitors into an audience, but does not disclose whether it is idempotent, whether existing visitors are updated or duplicated, what triggers it, or what the response looks like. However, for a webhook endpoint, the core behavior (pushing visitors) is clear enough for basic usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short at one sentence, but it front-loads the purpose. It could benefit from mentioning that it is an inbound webhook (e.g., 'Receives data from...'), but as a minimal description it is efficient and without 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 has one parameter, no output schema, and no annotations, the description should explain the return behavior (e.g., success/error response, idempotency). The current description is incomplete for a webhook endpoint that likely returns an HTTP status or confirmation.
Complex tools with many parameters or behaviors need more documentation. 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, audienceName, which has a default and description. The description adds no additional meaning beyond the schema, so the 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 is a webhook endpoint for Warmly website visitor tracking and that each visitor is pushed into a specified audience. It sufficiently describes the verb, resource, and scope, distinguishing it from siblings like get_audience_detail or list_audiences, though it lacks mention of the webhook context (receiving/receiving requests) which 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?
There is no guidance on when to use this tool compared to siblings such as create_or_update_lead or rb2b_native_webhook. The description does not mention prerequisites (e.g., setting up the webhook in Warmly), or scenarios where it is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource or action: members, audiences, leads, identities, campaigns, webhooks, and messaging. Even overlapping areas like lead search vs. audience leads are clearly differentiated by the scope. The three webhook tools are for different external services, avoiding confusion.
Most tools follow a consistent verb_noun pattern in snake_case (e.g., list_members, get_audience_detail, create_or_update_lead). The only deviation is the three native webhook tools (rb2b_native_webhook, etc.) which lack a verb prefix, but this is a minor inconsistency given their endpoint nature.
With 27 tools, the server is comprehensive and covers multiple domains (audiences, leads, campaigns, messaging, webhooks). While the count is on the higher side, each tool has a clear purpose and the scope justifies the number. It is slightly above ideal but still well-scoped.
The server has significant lifecycle gaps: there is no way to create or delete campaigns, no delete audience or delete lead, and no update audience. The focus is heavily on reading and sending messages, but full CRUD operations are missing for key resources, which will cause agent failures in workflows requiring deletion or creation of campaigns.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Work your Luca workspace from any MCP client: 183 API tools + 15 task tools for leads and calls.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Run B2B outreach from your AI agent: 250+ tools for campaigns, leads, LinkedIn and email workflows.
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnects MCP clients like Claude and Cursor to MemberPass workspace, exposing 42 tools for managing projects, plans, subscriptions, members, access codes, payments, webhooks, and analytics.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage GoHighLevel CRM data including contacts, conversations, opportunities, calendars, and forms through MCP tools and resources.50AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceFastMCP server exposing the full operational surface of the Apollo.io REST API to AI assistants. Provides 27 tools for outbound sales automation including campaign health, sequence management, mailbox warmup, CRM operations, and programmatic template/sequence editing with audit logging.3MIT
- AlicenseBqualityDmaintenanceEnables users to manage Waalaxy LinkedIn automation campaigns through MCP tools using browser automation (Playwright) to interact with the Waalaxy web interface.62Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GigRadar/lgm-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server