LinkedIn MCP Pro Max
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Most tools have clearly distinct purposes (e.g., interact_with_post vs create_linkedin_post, job vs application). Some minor overlap exists between generate_resume and tailor_resume, but descriptions clarify the distinction. Profile and its sub-section tools (experience, skills, education) are logically separated but could be slightly ambiguous.
Naming Consistency2/5Naming conventions are mixed: some tools are verb_noun (create_linkedin_post, generate_resume, list_templates), while others are bare nouns (job, profile, company, experience, skills, education, server, application). This inconsistency makes the tool set feel less predictable, even though the noun tools share a pattern of action-based arguments.
Tool Count5/5With 14 tools, the server covers a broad but well-scoped set of LinkedIn features (posts, jobs, profiles, resumes, applications). The count is within the ideal 3-15 range and each tool addresses a meaningful function without redundancy.
Completeness4/5The server covers core LinkedIn workflows: profile management (experience, skills, education), job search/apply, post creation/interaction, and resume/cover letter generation. Minor gaps exist, such as no post deletion or edit, and no direct messages/connections, but these are not critical for the apparent job-seeker focus.
Average 3.7/5 across 14 of 14 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
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?
With no annotations provided, the description must disclose behavioral traits. It fails to mention side effects (e.g., disconnecting sessions), permissions required, or reversibility of the restart. 'Manage' implies control but lacks detail about what the restart entails or what the agent should expect.
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 fairly concise, but the inclusion of a code block for allowed_args_for_action is slightly redundant and interrupts flow. The main sentence is short, and the argument list is helpful. Overall, it earns its place without being verbose.
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?
The tool is simple with only one action and one optional reason, so the description covers the main inputs. However, it omits any description of the output schema (though present) and ignores behavioral context like whether the restart is disruptive. The main description is vague; a clearer statement like 'Restart the MCP server' would improve 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?
The schema has no descriptions for properties (0% coverage), so the tool description must clarify parameter meanings. It explains that 'action' is the server action ('restart') and 'reason' is optional. This adds some value beyond the raw schema, but it largely restates the parameter names and schema constraints (const, default).
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 states 'Manage the MCP server' and then specifies the action 'restart', making it clear the tool is for restarting the server. It is distinct from sibling tools (e.g., create_linkedin_post, job) which handle content or career data. However, the verb 'Manage' is somewhat broad; the intent is clearer after reading the argument details.
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?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of exclusions. The description only defines the action and parameters, not the context in which restarting the server is appropriate.
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?
Annotations are absent, so the description must disclose side effects. It only gives terse action names and parameter lists; it fails to mention that 'update' changes live data, whether profile ownership is required, or what 'analyze' returns. This is under-disclosed for a tool with write actions.
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 compact, opens with a one-line purpose, and uses a structured Args list plus a dict for allowed combinations. It avoids prose while still conveying the action-per-argument relationships.
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?
The tool has multiple actions and 5 parameters, and while the description maps parameters to actions, it lacks information about what each action does (especially 'analyze'), whether updates overwrite existing fields, and any prerequisites such as authentication. Given an output schema exists, return values are covered, but overall action context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value by defining each parameter's role and the allowed_args_for_action constraint matrix, which is missing from the input schema. Since schema coverage is 0%, this extra context is essential and helps the agent avoid invalid combinations.
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 uses 'Manage LinkedIn profiles' as a clear verb+resource, and the Args section enumerates four specific actions. However, it doesn't differentiate this from sibling tools that also target profile sub-resources (experience, skills, education), so the purpose is clear but not sibling-distinct.
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 an allowed_args_for_action mapping, which tells the agent which parameters apply to each action. Yet it offers no guidance on when to choose this tool over alternatives (e.g., use experience tool to update work history), and no explicit when-not-to-use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only says 'Get' which implies a read operation, but does not disclose any other behaviors such as authentication, rate limits, or error handling.
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 one line plus an args line, highly concise and front-loaded with the core purpose.
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 simple one-parameter get tool with an output schema, the description covers the basic operation and parameter, but lacks usage guidance and behavioral details. It is adequate but minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains that company_id is 'LinkedIn company ID or URL slug', providing meaning beyond the schema's bare type string. This compensates for the 0% schema description 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 states 'Get company information from LinkedIn' with a specific verb and resource. It distinguishes from sibling tools like job and profile by focusing on company-level data.
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. It only states what it does without mentioning exclusions or alternative 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 is the sole source of behavioral disclosure. It mentions actions and that education_id is required for update, but does not state side effects such as irreversibility of delete, permission requirements, or the fact that it modifies the live LinkedIn profile. For a mutation-heavy tool, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise one-line intro followed by a readable parameter list. Each parameter gets a single line with a clear description and example where useful, avoiding unnecessary verbosity.
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?
The description covers all parameters and actions, and the presence of an output schema reduces the need to document return values. However, it lacks context about when to use the tool, prerequisites, and consequences of mutations. For a tool with 9 parameters and multiple actions, it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the Args list documents all 9 parameters with brief explanations and examples (e.g., 'start_year: Start year string (e.g. 2018)'). It also clarifies that education_id is required for update and marks several fields as optional, adding real meaning beyond the raw 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 identifies the resource ('education entries') and domain ('LinkedIn profile'), and the Args list specifies the actions add/update/delete. This distinguishes it from sibling tools like experience and skills. However, 'Manage' is somewhat generic without the Args list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource name and action parameter: it is used to manage education entries. However, there is no explicit guidance on when to choose this tool over siblings like experience or skills, and no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It does not mention side effects, permissions, or any side effects beyond generating content. It only hints at output formats (html, md, pdf), but lacks details about what happens to the output (e.g., file creation, return payload) or any preconditions like profile access. The description is largely parameter-focused rather than behavior-focused.
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 concise, starting with a one-sentence purpose followed by a structured args block. Every line earns its place, with no redundant words or filler. The format is easy to parse and front-loads the core purpose.
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?
The description covers all parameters and provides output format options, but lacks broader context such as prerequisites (e.g., must have a valid LinkedIn profile), expected behavior, or edge cases. The presence of an output schema reduces the need to describe return values, but without annotations, more behavioral context would be expected for full completeness. It is minimally adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaningful parameter details that go beyond the bare schema types. It explains that profile_id accepts 'me' for self, template has options 'professional' and 'concise', and output_format has 'html', 'md', 'pdf'. This significantly helps an agent fill parameters correctly, compensating for the lack of schema descriptions.
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 tool's function with a specific verb 'Generate' and a specific resource 'a personalized cover letter for a specific job posting' (e.g., 'Generate a personalized cover letter'). It effectively distinguishes itself from sibling tools like generate_resume and tailor_resume by focusing on cover letters rather than resumes.
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 explicit guidance on when to use this tool versus alternatives such as generate_resume or tailor_resume. It only states what the tool does and lists parameters, leaving the agent to infer usage context from the sibling names without clear decision criteria.
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 only states 'Manage skills' and lists arguments; it does not disclose side effects (e.g., idempotency on delete, whether adding an existing skill fails), permission requirements, or rate limits. The description is not misleading but is minimal and adds little beyond what the schema already shows.
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, using only two lines, and structured with an 'Args' block that clearly lists parameters. Every word contributes value; there is no redundant information or filler. It is front-loaded with the main purpose and follows with parameter details.
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?
The tool is simple (two parameters) and an output schema exists, so return values are likely covered elsewhere. However, for a mutation tool with no annotations, the description lacks any mention of behavioral implications like error conditions (e.g., deleting a non-existent skill) or idempotency. It also fails to provide any usage context relative to sibling tools. The description is adequate for basic invocation but not complete for nuanced decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no descriptions for properties. The description compensates by explaining 'action' as 'add or delete' and giving examples for 'skill_name' ('Python', 'Machine Learning'). This adds meaningful context beyond the raw enum and string types, helping the agent understand the expected values and their semantics.
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 tool's function: 'Manage skills on your LinkedIn profile' with specific actions 'add' or 'delete'. It distinguishes from sibling tools like experience, education, and profile by targeting specifically the skills section of a LinkedIn profile. The scope is clear and unambiguous.
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 prerequisites, edge cases, or when to prefer other sibling tools. The only usage indication is the action parameter, which is more about parameter selection than contextual usage. No explicit exclusion or alternative references are present.
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?
Annotations are absent, so the description must carry the burden of behavioral disclosure. It does not mention any side effects, access requirements, or transformation behavior beyond the generic 'generate' verb. There is no discussion of how the resume is tailored or whether the operation modifies stored data, making it insufficiently transparent.
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 concise and well-structured, with a one-sentence purpose followed by a bulleted argument list. Every word contributes, and the format is easy for an agent to parse.
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?
The description covers the core purpose and parameters, and an output schema exists to explain return values. However, it omits broader contextual details such as prerequisites, integration with other tools like list_templates, and any limitations of the tailoring process, leaving some gaps for an agent operating in a complex workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section supplements the schema by explaining the meaning of each parameter, such as 'profile_id: LinkedIn profile ID or ''me'' for self' and providing valid options for template and output_format (html, md, pdf). This adds semantic value beyond the bare schema, which has no descriptions.
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 begins with 'Generate a resume tailored to a specific job posting,' which clearly identifies the action (generate) and the object (resume) with a distinguishing scope (tailored to a job posting). This differentiates it from sibling tools like generate_resume and generate_cover_letter.
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 does not provide any guidance on when to use tailor_resume versus other resume-related tools. It neither mentions specific use cases nor explicitly excludes alternatives. The only clue is the phrase 'tailored to a specific job posting,' but no explicit comparison or context is 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, the description carries the full burden of behavioral disclosure. It discloses that experiences are managed on the LinkedIn profile, and notes position_id is required for update, but does not detail side effects of add/update/delete, authentication requirements, or the meaning of is_current beyond a parameter name. The allowed_args_for_action is a constraint map, not a behavioral explanation.
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 well-structured: a one-sentence summary, a clear list of parameters with examples, and an allowed-args map. Given the complexity of 12 parameters and three actions, the length is appropriate and each component adds value, avoiding wasteful prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description adequately covers the input semantics for all parameters and action combinations. It is missing some operational context such as how delete matches entries using title/company, or what happens if multiple entries share the same title, but overall it is fairly complete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero descriptions, so the description fully compensates by explaining every parameter with examples and clarifying the special role of position_id. The allowed_args_for_action map adds explicit per-action parameter constraints, going well beyond the schema's type/default definitions.
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 identifies the tool as managing experience entries on LinkedIn, which distinguishes it from sibling tools like education, job, and profile. The action enum and allowed args specify add/update/delete, adding clarity. However, the verb 'Manage' is generic, and the description does not explicitly contrast with related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource name and the action parameter, indicating when to add, update, or delete experience entries. However, there is no explicit when-to-use vs alternatives guidance, no exclusions, and no mention of tool selection relative to siblings like education or job.
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?
Because no annotations are provided, the description carries the full burden of behavioral disclosure, yet it only lists actions and filter parameters. It does not disclose that 'apply' likely submits an application or any side effects, permissions, rate limits, or response behavior, leaving the agent without safety or impact context.
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 opens with a one-sentence purpose statement, then uses a clean argument list with inline defaults and allowed values, followed by a compact action-to-argument mapping. For a tool with 10 parameters and 4 actions, the length is necessary and every line adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the action variants, all parameters, defaults, filters, and per-action restrictions, which is strong for a complex job tool. It omits the side-effect behavior of 'apply' and any mention of related tools, leaving minor but notable gaps given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate, and it does thoroughly: it explains every parameter's purpose, adds enum values for job_type and experience_level, gives count range '1-50 default 20', and provides date_posted options. The allowed_args_for_action mapping further clarifies which arguments are legal for each action, going far 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 opening sentence 'Discover and manage LinkedIn job postings' clearly states the tool's resource and domain, and listing the four actions (search, details, recommended, apply) makes the intended scope concrete. It does not explicitly call out sibling tools or sharpen the vague verb 'manage,' so it falls short of perfect differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a detailed allowed_args_for_action mapping, which tells the agent exactly which parameters are valid for each action and notes that job_id is required for details and apply. However, it gives no explicit guidance on when to prefer this tool over related siblings like 'application' or 'company,' so the comparative usage dimension is missing.
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, the description bears the full burden of disclosing side effects and requirements. It mentions the actions (read, like, comment) but does not disclose potential consequences such as the permanence of likes/comments, authentication requirements, or rate limits. This is a significant gap for a tool that modifies external state.
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 concise, front-loaded with the main purpose, and structured as a clean Args list. Each sentence contributes meaning with no fluff or redundancy. It effectively conveys the necessary information in a compact format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with an output schema, the description covers the essential aspects: what the tool does, the parameters, and their roles. It does not explain return values (covered by output schema) or prerequisites, but given the context signals (simple params, output schema present), it is mostly complete. Minor gap: it doesn't explicitly state that 'comment' is required when action='comment', though this is logically inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, leaving parameters as bare types and defaults. The description adds context for all three parameters: post_url is the URL of the LinkedIn post, action is the strategy ('read', 'like', or 'comment') with default 'read', and comment is the text for the 'comment' action. This fully compensates for the lack of schema descriptions.
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 tool's purpose: 'Interact with a specific LinkedIn post (read, like, comment).' The verb 'interact' is specified with concrete actions, and the resource 'LinkedIn post' is explicit. This distinguishes it from siblings like create_linkedin_post, which focuses on creation, and other unrelated tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing the actions ('read', 'like', 'comment') and the post_url parameter, making it clear the tool is for engaging with an existing post. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention scenarios where it should not be used. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It only states the listing action and parameter values; it does not disclose auth requirements, return format, or any side effects. This is minimal 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 two sentences, front-loaded with the action, and includes a clear Args block. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with an output schema, the description covers the core purpose and parameter semantics. It lacks contextual links to sibling generation tools, but the output schema likely covers return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single parameter with no description. The description explicitly enumerates allowed values ('resume', 'cover_letter', 'all') and explains the parameter's purpose, which fully compensates for the schema's 0% coverage.
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 uses a specific verb ('List') with a specific resource ('all available templates for resumes and cover letters'), clearly distinguishing it from sibling tools that generate or tailor resumes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need to see available templates) but provides no explicit when-to-use or alternative commands. Sibling tools like generate_resume suggest context, but the description lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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. It discloses that the tool uses AI enhancement and supports specific output formats, which is useful. However, it does not mention whether data is persisted, authentication requirements, or potential side effects. For a generative tool, the main behavior is clear, but deeper transparency is missing.
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 concise and well-structured, with a front-loaded purpose statement followed by a compact Args list. Every sentence earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, 1 required, and an output schema, the description adequately covers the purpose, parameter semantics, and output formats. It is mostly complete, though it lacks explicit usage differentiation from sibling tools, which is a minor gap at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an Args block that explains all three parameters: profile_id ('LinkedIn profile ID or 'me' for self'), template ('modern, professional'), and output_format ('html, md, pdf'). This fully compensates for the 0% schema description coverage and adds meaning beyond the raw schema.
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 tool's function with a specific verb ('Generate'), resource ('professional resume'), source ('LinkedIn profile'), and method ('AI enhancement'). It distinguishes itself from sibling tools like tailor_resume by focusing on generation from a profile, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a resume from LinkedIn data but provides no explicit when-to-use guidance or alternatives. It does not mention when to prefer this over tailor_resume or generate_cover_letter, leaving the context clear but without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses action-specific argument constraints and notes that 'list' filters results by status. This provides useful behavioral context beyond a bare function signature, though it omits details on error handling or overwrite semantics.
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 structured and front-loaded with a one-sentence purpose, followed by a compact Args list and an allowed_args map. Every line is informative; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all actions, parameters, and per-action constraints. It doesn't explain return values, but an output schema exists. Minor gaps remain around edge-case behavior like update on missing records, but overall the description is sufficient for a small tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning to each parameter (e.g., job_id as LinkedIn ID, status with allowed values, notes/url as optional) and defines per-action allowed args. This enriches the bare type-only schema, which otherwise has 0% coverage.
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 tool's function—managing tracked job applications locally—and enumerates the three actions (list/track/update). It uses a specific verb 'Manage' and resource 'tracked job applications', distinguishing it from sibling tools like 'job'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance via the allowed_args_for_action mapping, which tells the agent exactly which parameters are valid for each action. This serves as clear usage instructions, though it doesn't explicitly compare to alternative tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description discloses the multi-step pipeline, including the AI writer, image generation, and browser upload. It also notes configuration requirements (IMAGE_GEN_API_BASE), fallback behavior if image generation fails (publish text-only), and the return JSON structure, providing comprehensive behavioral context beyond the tool's basic function.
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 lengthy but well-structured with sections for pipeline, arguments, and returns. It is front-loaded with the core purpose and every sentence adds necessary detail, though some redundancy exists between the pipeline list and arg explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all aspects needed for correct invocation: inputs, defaults, side effects, error handling, configuration prerequisites, and return schema. The presence of a specified return JSON structure makes the tool self-contained despite missing formal output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero property descriptions, yet the description explains each parameter: topic with example, tone with specific style options, include_cta with its effect, and include_image with the conditional requirement and fallback. This fully compensates for the schema gap.
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 'Generate and publish a new LinkedIn post using an internal AI writer' – a specific verb and resource. It differentiates from the sibling 'interact_with_post' by focusing on creating new content rather than engaging with existing posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It describes the full workflow and options, but does not explicitly state when to choose this over 'interact_with_post' or other content tools. The purpose is clear enough that usage context is implied, but no explicit alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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/mdnaimul22/linkedin-mcp-pro-max'
If you have feedback or need assistance with the MCP directory API, please join our Discord server