HDW MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Most tools have distinct purposes targeting specific platforms (Instagram, LinkedIn, Google, Reddit) and actions (get, search, send). However, there is some overlap between get_linkedin_profile and get_linkedin_email_user, as both retrieve LinkedIn user details, which could cause minor confusion. Overall, the tool boundaries are clear with minimal ambiguity.
Naming Consistency5/5Tool names follow a highly consistent verb_noun pattern throughout, such as get_instagram_user, search_linkedin_posts, and send_linkedin_chat_message. All tools use snake_case with clear action prefixes (get, search, send), making them predictable and easy to understand. There are no deviations in naming conventions.
Tool Count3/5With 26 tools, the count is borderline high for a social media data and interaction server, leaning towards heavy. While it covers multiple platforms and actions, the number may feel overwhelming for an agent to navigate efficiently. A more focused set could improve usability without sacrificing functionality.
Completeness4/5The tool set provides comprehensive coverage for LinkedIn operations, including CRUD-like actions (get, search, send) for profiles, posts, comments, and messages, with minor gaps such as updating or deleting LinkedIn content. Instagram and Reddit tools are more limited (only get/search), but the server's primary focus on LinkedIn is well-covered for core workflows.
Average 2.9/5 across 26 of 26 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 1 community issues answered or closed in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'Get' but doesn't disclose behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, or that it involves web scraping (implied by the 'timeout' parameter). The description is minimal and lacks critical context for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Get Instagram user posts'), which is efficient and front-loaded. However, it may be overly brief, risking under-specification. Every word serves a purpose, but more detail could improve clarity without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool with parameters (including a 'timeout' hinting at scraping), the description is incomplete. It doesn't cover return values, error handling, or behavioral aspects like scraping implications. For a tool with potential complexity, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (user, count, timeout). The description adds no meaning beyond the schema, as it doesn't explain parameter interactions or usage examples. With high schema coverage, the baseline score of 3 is appropriate, but no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Instagram user posts' clearly states the action (get) and resource (Instagram user posts), but it's vague about scope and doesn't differentiate from sibling tools like 'get_instagram_user' or 'get_instagram_post_comments'. It lacks specificity about what 'posts' includes (e.g., recent posts, all posts, metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are sibling tools for Instagram (e.g., 'get_instagram_user', 'get_instagram_post_comments'), but the description doesn't mention them or specify contexts like needing user details versus posts. Usage is implied only by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 states 'Get Instagram post comments' but fails to reveal critical behaviors: it implies data retrieval but doesn't mention that it involves scraping (as hinted in the schema's 'timeout' parameter), potential rate limits, authentication needs, or what the output looks like. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words, front-loading the core action and resource without any wasted language. It efficiently communicates the basic purpose in a minimal format, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving scraping as implied by the schema), lack of annotations, and no output schema, the description is incomplete. It fails to address key contextual aspects like scraping behavior, output format, error handling, or how it differs from sibling tools. This leaves the agent with insufficient information for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are documented in the schema itself. The description adds no additional meaning beyond the schema, such as explaining the relationship between parameters or usage examples. Given the high coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract from the schema's information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Instagram post comments' clearly states the verb ('Get') and resource ('Instagram post comments'), making the purpose understandable. However, it lacks specificity about what 'Get' entails (e.g., retrieval, listing, scraping) and does not differentiate from sibling tools like 'get_linkedin_post_comments', leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, context for use, or comparisons to sibling tools such as 'get_instagram_user_posts', which might be relevant for related tasks. This absence leaves the agent without direction on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions 'Get' but doesn't specify if this is a read-only operation, whether it requires authentication, rate limits, or what happens on errors. The description lacks critical behavioral context for a tool that likely involves web scraping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and likely involving web scraping (implied by 'scrapping' in timeout description), the description is inadequate. It doesn't explain what information is returned, error conditions, or important behavioral constraints like rate limits or authentication requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value by mentioning 'URL, alias or ID' for the user parameter, but doesn't provide additional context beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('Instagram user information'), and specifies the input types ('by URL, alias or ID'). However, it doesn't explicitly distinguish this tool from its sibling Instagram tools (like get_instagram_user_posts), which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or suggest scenarios where this tool is preferred over others, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the account ID source but doesn't describe what 'top' means (recency? engagement?), whether this is a read-only operation, potential rate limits, error conditions, or what format the messages are returned in. The description provides minimal behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that convey essential information. The first sentence states the core functionality, and the second provides important authentication context. No unnecessary words or redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'top' means in the context of chat messages, doesn't describe the return format or structure, and provides minimal behavioral context. The authentication note is helpful but doesn't compensate for the overall lack of completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get top chat messages') and resource ('LinkedIn management API'), making the purpose understandable. However, it doesn't differentiate this tool from sibling tools like 'get_linkedin_conversations' or 'send_linkedin_chat_message', which would require more specific scope definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that 'Account ID is taken from environment' which provides some context about authentication, but offers no guidance on when to use this tool versus alternatives like 'get_linkedin_conversations' or 'send_linkedin_chat_message'. No explicit when/when-not scenarios or sibling tool comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 states it 'gets' information, implying a read-only operation, but doesn't mention potential side effects, authentication requirements, rate limits, error conditions, or what format the detailed information returns. This leaves significant gaps for an AI agent to understand how to invoke it safely and effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. There's zero waste—every word contributes to stating what the tool does. It's appropriately sized for a simple lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that presumably returns complex company data. It doesn't explain what 'detailed information' entails, potential authentication needs, or error handling. For a LinkedIn API tool with likely rich output, this leaves the agent under-informed about how to interpret results or handle failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('company' and 'timeout') thoroughly. The description adds no additional meaning beyond what's in the schema—it doesn't explain what 'detailed information' includes or how parameters affect the output. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does 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 'detailed information about a LinkedIn company', making the purpose unambiguous. It distinguishes from siblings like 'get_linkedin_company_employees' (which focuses on employees) or 'get_linkedin_profile' (which focuses on individual profiles). However, it doesn't specify what 'detailed information' includes, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_linkedin_google_company' or 'search_linkedin_posts', nor does it specify prerequisites like needing authentication or valid company identifiers. Usage is implied only by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. 'Get employees' implies a read operation, but it doesn't disclose rate limits, authentication requirements, data freshness, pagination behavior, or what happens when companies parameter contains invalid URNs. For a tool with 6 parameters and no output schema, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a tool with clear naming and good schema documentation, though its brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain what the tool returns (employee profiles? basic info?), how results are structured, whether all parameters work together, or any limitations. For a data retrieval tool with multiple filtering options and no output schema, users need more context about what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond implying the tool operates on LinkedIn company data. It doesn't explain relationships between parameters (e.g., how keywords interacts with first_name/last_name) or provide context about the companies parameter beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('employees of a LinkedIn company'), making the purpose immediately understandable. It distinguishes this tool from siblings like get_linkedin_company (which gets company info) or get_linkedin_user_connections (which gets personal connections). However, it doesn't specify whether this retrieves current employees, all employees, or includes filtering capabilities beyond what the parameters imply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With siblings like search_linkedin_users (which might search across LinkedIn) and get_linkedin_user_connections (which gets connections for a specific user), there's no indication whether this tool is for company-specific employee lookup, how it differs from broader searches, or any prerequisites for accessing company employee data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions the Account ID source but lacks details on permissions, rate limits, pagination, error handling, or what the returned list contains. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose upfront. It avoids unnecessary words, though it could be slightly more structured by separating the authentication note into a second sentence for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a read operation with three parameters), no annotations, and no output schema, the description is minimally adequate. It covers the basic action and authentication but lacks details on return values, error cases, or behavioral constraints, leaving room for improvement in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the three parameters (connected_after, count, timeout). The description adds no additional parameter information beyond what's in the schema, such as date format examples or usage tips. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get list') and resource ('LinkedIn conversations from the messaging interface'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_linkedin_chat_messages' or 'get_linkedin_user_connections', which might also retrieve conversation-related data, leaving some ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that 'Account ID is taken from environment,' which provides some context about authentication, but it offers no guidance on when to use this tool versus alternatives like 'get_linkedin_chat_messages' or other LinkedIn tools. There are no explicit when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'First result is usually the best match,' which hints at result quality but doesn't cover critical aspects like rate limits, authentication needs, error handling, or what 'increases execution time' means for the 'with_urn' parameter. For a search tool with external dependencies, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) and front-loaded with the core purpose. Every sentence adds value: the first defines the tool, the second provides a useful heuristic about result quality. Zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for this tool's complexity. It doesn't explain what the output looks like (e.g., company details, URLs, URNs), error conditions, or how it integrates Google search with LinkedIn data. For a 4-parameter tool with external dependencies, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain search algorithm details or result formatting). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for LinkedIn companies using Google search.' It specifies the resource (LinkedIn companies) and method (Google search). However, it doesn't explicitly differentiate from sibling tools like 'get_linkedin_company' or 'google_search', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. There are multiple sibling tools for LinkedIn data (e.g., 'get_linkedin_company', 'google_search'), but no indication of when this hybrid approach is preferred or what its limitations are compared to direct LinkedIn API tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool gets comments but lacks behavioral details such as rate limits, authentication requirements, pagination behavior, error handling, or what happens if the URN is invalid. This is a significant gap for a tool that likely interacts with an external API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like API limits or errors, and lacks details on return values (e.g., comment structure, pagination). For a tool with 4 parameters and likely external dependencies, more context is needed to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters (urn, count, sort, timeout). The description adds no additional parameter semantics beyond the schema, such as explaining URN format constraints or sort behavior implications. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('LinkedIn comments for a post'), specifying it operates on posts identified by URN. It distinguishes from siblings like get_linkedin_post_reactions by focusing on comments rather than reactions, but doesn't explicitly contrast with get_linkedin_user_comments which might retrieve comments made by a user rather than on a post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. For example, it doesn't mention when to prefer this over get_linkedin_user_comments or how it relates to send_linkedin_post_comment. The description only states what it does, not the context for its application.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions retrieving reposts but does not cover critical aspects like rate limits, authentication requirements, error handling, or the format of returned data. This leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently conveys the core purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not address behavioral traits, return values, or usage context, which are essential for a tool that interacts with an external API like LinkedIn. This leaves the agent with insufficient information to use the tool effectively beyond basic parameter passing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description adds no additional semantic context beyond implying the 'urn' parameter specifies the post. Since the schema handles parameter details adequately, the baseline score of 3 is appropriate, as the description does not compensate or add value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get LinkedIn reposts') and the target resource ('for a post by URN'), making the purpose understandable. However, it does not explicitly differentiate from sibling tools like 'get_linkedin_post_reactions' or 'get_linkedin_post_comments', which also retrieve post-related data but for different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as other LinkedIn post-related tools (e.g., for reactions or comments). It lacks context about prerequisites, limitations, or scenarios where this tool is preferred, leaving usage decisions ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions the URN format requirement but fails to describe key behaviors such as pagination, rate limits, authentication needs, error handling, or the structure of returned comments. This leaves significant gaps for an agent to understand how the tool operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes a helpful example. It avoids unnecessary words, though it could be slightly more structured by separating guidelines from the core statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., comment objects, metadata), error conditions, or behavioral constraints like rate limits. For a tool with 4 parameters and no structured output, more contextual information is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents all parameters. The description adds minimal value by reiterating the URN format example, which is already in the schema, and does not provide additional context like default behaviors or usage tips. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get LinkedIn comments') and resource ('for a user by URN'), providing a specific example of the required URN format. However, it does not explicitly differentiate this tool from sibling tools like 'get_linkedin_post_comments' or 'get_linkedin_user_posts', which reduces the score from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'get_linkedin_post_comments' for comments on a specific post or 'get_linkedin_user_posts' for user posts. It lacks context on prerequisites, exclusions, or comparisons with sibling tools, offering only basic parameter instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that 'Account ID is taken from environment', which adds useful context about authentication. However, it lacks critical details: no information on rate limits, pagination (beyond the 'count' parameter), error handling, or what the returned list contains (e.g., fields like names, IDs). For a read operation with zero annotation coverage, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two concise sentences. The first sentence states the core purpose, and the second adds authentication context. There's no wasted verbiage, and it's front-loaded with the main functionality. A minor deduction because the authentication note could be more integrated, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that retrieves social media connections. It lacks details on return format (e.g., structure of connection objects), error cases, or usage limits. The authentication hint is helpful but doesn't compensate for missing behavioral and output context, making it inadequate for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 thoroughly. The description adds no parameter-specific information beyond what's in the schema. According to scoring rules, when coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of LinkedIn user connections'), making the purpose unambiguous. It distinguishes from siblings by focusing specifically on user connections rather than posts, comments, or other LinkedIn entities. However, it doesn't explicitly differentiate from 'get_linkedin_profile' which might also retrieve user data, leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'search_linkedin_users' or 'get_linkedin_profile'. It mentions that 'Account ID is taken from environment', which hints at authentication context but doesn't clarify prerequisites or exclusions. No explicit when/when-not instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions the URN format requirement, which adds some context, but fails to describe key traits like whether this is a read-only operation, potential rate limits, authentication requirements, or what the output looks like (e.g., list of posts with fields). For a tool with no annotations, this is a significant gap 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It includes a necessary example for the URN parameter, which adds clarity without verbosity. There's no wasted text, making it appropriately sized for its function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieving user posts from LinkedIn) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication, rate limits, or output format, which are crucial for an agent to use it correctly. The high schema coverage helps with parameters, but overall context is insufficient for a tool with no structured safety or output information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (urn, count, timeout) with descriptions. The description adds minimal value by reiterating the URN format example from the schema, but doesn't provide additional semantics like why the prefix is needed or how count/timeout affect performance. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get LinkedIn posts') and target ('for a user by URN'), providing a specific verb and resource. It distinguishes from siblings like 'get_linkedin_post_comments' or 'search_linkedin_posts' by focusing on user-specific posts rather than comments or search results. However, it doesn't explicitly differentiate from 'get_linkedin_profile' which might also retrieve user data, making it a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'search_linkedin_posts' for broader searches or 'get_linkedin_profile' for user metadata. There's no context about prerequisites, such as authentication needs or rate limits, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 only states what the tool does and the URN format, lacking details on permissions needed, rate limits, error handling, response format, or whether it's a read-only operation (implied by 'Get' but not explicit). For a tool with potential API constraints, this is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes a critical example for the URN. There is no wasted verbiage, and it directly addresses the essential information needed to invoke the tool, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool with three parameters and no behavioral context. It doesn't explain what 'reactions' entail (e.g., types, data structure), how results are returned, or any operational constraints. For a social media data tool, this leaves significant gaps in understanding its full context and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents parameters (urn, count, timeout). The description adds minimal value by reiterating the URN format example from the schema but doesn't provide additional context like URN sourcing, count/timeout implications, or default behaviors. This meets the baseline for high schema coverage without enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get LinkedIn reactions for a user by URN'. It specifies the verb ('Get'), resource ('LinkedIn reactions'), and target ('user by URN'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_linkedin_post_reactions', which targets posts rather than users, though this distinction is implied by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions the URN requirement but doesn't clarify scenarios for choosing this over other LinkedIn tools (e.g., 'get_linkedin_user_posts' or 'get_linkedin_post_reactions'), prerequisites like authentication, or limitations such as data availability. This leaves the agent without contextual usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 states it's a search operation but doesn't mention any behavioral traits such as rate limits, authentication needs, response format, or potential errors. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like rate limits or response structure, which are crucial for a search tool. The schema covers parameters well, but overall context is insufficient for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters (query, count, timeout). The description doesn't add any meaning beyond what the schema provides, such as search syntax tips or result formatting, which keeps it at the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search') and resource ('information using Google search API'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools, which are all for different platforms (Instagram, LinkedIn, Reddit) rather than alternative search tools, so the distinction is inherent but not explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context-specific scenarios, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'advanced search' but doesn't describe what that means operationally - no information about rate limits, authentication requirements, result format, pagination, or performance characteristics. The description doesn't explain what 'Sales Navigator filters' means in practice or how results differ from regular LinkedIn searches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point about what makes this search 'advanced' (Sales Navigator filters).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with 20 parameters and no annotations or output schema, the description is inadequate. It doesn't explain what the tool returns, how results are structured, or any behavioral aspects. While the schema covers parameters well, the description fails to provide the contextual understanding needed for effective tool selection and use, especially given the absence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 20 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. It mentions 'Sales Navigator filters' which hints at the parameter categories, but provides no additional syntax, format, or usage guidance beyond the comprehensive schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('search') and resource ('LinkedIn users') with the specific context of 'using Sales Navigator filters'. It distinguishes from generic LinkedIn user tools by specifying the advanced Sales Navigator filtering capability. However, it doesn't explicitly differentiate from 'search_linkedin_users' sibling tool, which appears to be a more general search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'search_linkedin_users' tool or explain when Sales Navigator filters are appropriate versus basic LinkedIn searches. There's no discussion of prerequisites, limitations, or typical use cases for this advanced search functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions 'various filters' but doesn't describe important behavioral aspects: whether this is a read-only operation, what happens when no results are found, whether results are paginated, rate limits, authentication requirements, or what the output format looks like. The description is too minimal for a search tool with 10 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. It's appropriately sized for a search tool, though it could potentially benefit from a bit more context given the complexity of the parameters. There's no wasted language or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 10 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (post objects, metadata, error conditions), doesn't mention performance characteristics or limitations, and provides no context about how the search actually works (API calls, scraping, etc.). The 'timeout' parameter suggests scraping behavior that isn't mentioned in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 10 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'various filters like keywords, content type, authors, etc.' but doesn't provide additional context about parameter interactions, default behaviors, or practical usage examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for LinkedIn posts with various filters'. It specifies the resource (LinkedIn posts) and action (search with filters), making the verb+resource combination explicit. However, it doesn't distinguish this tool from sibling tools like 'search_linkedin_users' or 'search_reddit_posts' beyond mentioning 'LinkedIn posts'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this search tool should be preferred over 'get_linkedin_user_posts' (which retrieves posts from specific users) or 'search_reddit_posts' (which searches a different platform). There's no context about use cases, prerequisites, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'various filters' but doesn't describe important behavioral aspects: whether this is a read-only operation, what permissions are required, rate limits, pagination behavior, or what the return format looks like. For a search tool with 13 parameters, this is insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. It's appropriately sized for a search tool, though it could potentially be more front-loaded with critical information about the tool's scope and limitations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with 13 parameters and no output schema, the description is incomplete. It doesn't explain what results look like, how filters interact, whether all filters are optional, or any limitations beyond what's implied. With no annotations and no output schema, users need more context about the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds minimal value beyond the schema by listing some filter types ('keywords, name, title, company, location etc.'), but doesn't provide additional semantic context about how filters combine or their relative importance. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for LinkedIn users with various filters'. It specifies the resource (LinkedIn users) and action (search with filters). However, it doesn't explicitly differentiate from sibling tools like 'linkedin_sn_search_users' or 'get_linkedin_company_employees', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With multiple LinkedIn-related search tools in the sibling list (like 'linkedin_sn_search_users', 'search_linkedin_posts', 'get_linkedin_company_employees'), there's no indication of when this specific user search tool is appropriate versus other search or retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only mentions 'various filters' without detailing behavioral traits like rate limits, authentication needs, or potential side effects (e.g., scraping implications from the 'timeout' parameter). This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It lacks details on return values, error handling, or operational constraints (e.g., the 'timeout' hinting at scraping), leaving the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so parameters are well-documented in the schema. The description adds minimal value by mentioning 'various filters' but doesn't elaborate on parameter meanings beyond what the schema provides, aligning with the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('search') and resource ('Reddit posts'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'search_linkedin_posts' or 'google_search' beyond mentioning Reddit specifically, which is why it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'google_search' or other search tools in the sibling list. It mentions 'various filters' but doesn't specify contexts or exclusions, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions the Account ID source but lacks critical details such as rate limits, error handling, whether the message is sent immediately or queued, or what happens on failure. For a mutation tool (sending messages) with zero annotation coverage, this is a significant gap 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words, but it could be slightly more structured by separating the authentication note into a second sentence for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool (sending messages) with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., success/failure responses, side effects), and while the schema covers parameters well, the overall context for safe and effective use is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents all four parameters thoroughly. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or provide examples). This meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('send a chat message') and the target platform ('via LinkedIn management API'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'send_linkedin_connection' or 'send_linkedin_post', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that 'Account ID is taken from environment,' which provides some context about authentication, but it doesn't offer guidance on when to use this tool versus alternatives (e.g., 'send_linkedin_connection' or 'send_linkedin_post'), nor does it specify prerequisites or exclusions. This leaves the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions the action 'send' implying a write operation but lacks details on permissions, rate limits, confirmation of success, or potential side effects (e.g., LinkedIn's invitation limits). This leaves significant gaps 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words, though it could be slightly more structured by separating authentication details from the action. Overall, it's appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a mutation (sending an invitation) with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., success criteria, error handling), output expectations, and detailed usage context, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('user' and 'timeout'). The description adds no additional parameter semantics beyond what's in the schema, such as format examples for 'user' beyond the schema's note or context for 'timeout' usage. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send a connection invitation') and target resource ('LinkedIn user'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'send_linkedin_chat_message' or 'send_linkedin_post' beyond the resource type, missing explicit distinction in the action context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by noting that 'Account ID is taken from environment,' which hints at authentication but doesn't specify when to use this tool versus alternatives like 'get_linkedin_user_connections' for viewing connections or 'send_linkedin_chat_message' for messaging. No explicit when/when-not or alternative recommendations are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions 'Account ID is taken from environment,' which adds some authentication context, but fails to cover critical traits like whether this is a destructive write operation, potential rate limits, error handling, or what happens on success (e.g., returns a post ID). For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two short sentences that are front-loaded with the core purpose. Every word serves a purpose, with no wasted text or redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., side effects, error cases), return values, and differentiation from sibling tools. The minimal content doesn't compensate for the missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters (text, comment_scope, visibility, timeout). The description adds no parameter-specific information beyond what's in the schema, such as examples or constraints. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a post') and target resource ('on LinkedIn'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'send_linkedin_chat_message' or 'send_linkedin_post_comment', which are also LinkedIn posting tools but for different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance with 'Account ID is taken from environment,' which hints at authentication context but doesn't explain when to use this tool versus alternatives. No explicit when/when-not instructions or comparisons to sibling posting tools (e.g., chat messages, comments) are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 states it's a read operation ('Get'), implying non-destructive behavior, but lacks details on permissions required, rate limits, error conditions, or what 'user details' specifically includes (e.g., profile fields, contact info). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and uses clear, direct language. Every element ('Get', 'LinkedIn user details', 'by email') earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is minimally adequate for a simple lookup tool but lacks depth. It covers the basic purpose and key parameter (email), but doesn't address behavioral aspects like what 'user details' returns, potential errors, or usage constraints. For a tool with 3 parameters and no structured output, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters (email, count, timeout). The description mentions 'by email', which aligns with the required 'email' parameter, but adds no additional semantic context beyond what the schema provides, such as email format requirements or how 'count' affects results. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and target resource ('LinkedIn user details'), with the specific lookup method 'by email' distinguishing it from other LinkedIn tools that might use different identifiers. However, it doesn't explicitly differentiate from similar sibling tools like 'get_linkedin_profile' or 'search_linkedin_users', which could also retrieve user information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'get_linkedin_profile' (which might use a different identifier) or 'search_linkedin_users' (which might offer broader search capabilities). There's no mention of prerequisites, limitations, or typical use cases for email-based lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 states the action is to 'Get' reactions, implying a read-only operation, but does not disclose any behavioral traits such as rate limits, authentication needs, pagination, or what the return format looks like (e.g., list of reactions with details). For a tool with no annotations, this is a significant gap 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, with every part contributing to clarity, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral aspects, usage context, and return values. With no output schema, the description should ideally hint at the response format, but it does not, leaving gaps in completeness for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for 'count', 'timeout', and 'urn' parameters. The description adds no additional meaning beyond the schema, such as explaining URN format constraints or usage tips. Since schema coverage is high, the baseline score is 3, as the description does not compensate but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does 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 'LinkedIn reactions for a post by URN', specifying it retrieves reactions for a LinkedIn post using a URN. However, it does not distinguish this from sibling tools like 'get_linkedin_post_comments' or 'get_linkedin_user_reactions', which handle related but different data types, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'get_linkedin_post_comments' for comments or 'get_linkedin_user_reactions' for user-specific reactions. It mentions the URN requirement but does not clarify usage context, exclusions, or prerequisites, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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. While 'Get' implies a read operation, the description doesn't address important aspects like authentication requirements, rate limits, data freshness, privacy considerations, or what happens when a profile isn't found. For a tool accessing external platform data with no annotation coverage, this 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a tool with a clear primary function and doesn't bury important information in unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data retrieval tool with 100% schema coverage, the description is minimally adequate. However, the lack of annotations means important behavioral context is missing, and without an output schema, there's no information about what the detailed profile data actually looks like. The description should ideally mention the scope of 'detailed information' or reference the parameter-controlled sections.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema - it mentions 'detailed information' but doesn't clarify what that includes or how parameters control it. With complete schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('detailed information about a LinkedIn user profile'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar sibling tools like 'get_linkedin_user_connections' or 'get_linkedin_user_posts', which also retrieve LinkedIn user data but focus on specific aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With many sibling tools that retrieve LinkedIn user data (e.g., get_linkedin_user_connections, get_linkedin_user_posts), there's no indication of when this comprehensive profile tool is preferred over more specific ones, nor any mention of prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions that 'Account ID is taken from the environment', which adds some context about authentication. However, it lacks details on permissions, rate limits, error handling, or what happens after creation (e.g., response format). For a mutation tool with zero annotation coverage, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. Both sentences earn their place: the first defines the action and target, and the second clarifies authentication. There is no wasted text, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error cases), usage guidelines, and return values. The authentication note helps but does not compensate for the overall gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (text, timeout, urn). The description adds no additional meaning beyond what the schema provides, such as explaining URN formats or timeout implications. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Create a comment') and the target resources ('on a LinkedIn post or on another comment'), distinguishing it from sibling tools like send_linkedin_post (which creates posts) or send_linkedin_chat_message (which sends messages). It also specifies that the Account ID is taken from the environment, adding operational context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when to comment on a post versus a comment, nor does it differentiate from other LinkedIn interaction tools like send_linkedin_post or send_linkedin_chat_message. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/anysiteio/anysite-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server