Skip to main content
Glama
AmmYoo7

linkedin-safe-mcp

by AmmYoo7

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct action and resource: auth, profile, posts, comments/likes, job search, and local job tracking are cleanly separated. Even similar pairs like get_job vs get_saved_job are disambiguated by explicit descriptions.

    Naming Consistency4/5

    The majority follow a clear verb_noun pattern (create_post, delete_post, search_jobs, get_saved_job, update_job_status). Minor deviations like auth_status and login/logout break the pattern slightly but remain intuitive.

    Tool Count4/5

    At 16 tools the server is slightly above the ideal 3-15 range, but the count is justified by covering authentication, LinkedIn social actions, job search, and a local job tracker. Each tool serves a concrete purpose.

    Completeness5/5

    The surface covers the full workflow: auth lifecycle, profile retrieval, post creation/deletion, commenting/liking, job searching/details, and complete CRUD plus notes/status tracking for saved jobs. There are no significant dead ends or missing core operations.

  • Average 4.3/5 across 16 of 16 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 2 commits 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.

  • 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.json to 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

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the burden of behavioral disclosure. It clearly communicates the scope of the operation ('get'), the resource scope ('tracked job'), and the return content (snapshot, description, status changes, notes). This is adequate for a non-mutating retrieval tool, though it does not mention auth requirements or error 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, focused sentence that front-loads the resource ('one tracked job') and then lists the included data. Every clause adds useful information, with no redundancy or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the low parameter count and the presence of an output schema, the description covers the essential selection and invocation information. It clearly states the output contents and the singular scope, though it could be more explicit about how this tool differs from get_job and what qualifies as a 'tracked job'.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has 0% description coverage, leaving the single job_id parameter undocumented. The description adds the context that job_id refers to a 'tracked job', which helps distinguish it from other job-related IDs, but does not explain the format, origin, or how to obtain a valid job_id.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('get') and resource ('one tracked job') and clearly identifies the returned content: a snapshot with description and full event history. This distinguishes it from siblings like list_saved_jobs (plural) and get_job (not necessarily tracked/saved).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'one tracked job' implies use for retrieving a single saved job's full details, which differentiates it from list_saved_jobs. However, it does not explicitly state when to use this versus get_job, or mention any exclusions or alternatives.

    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?

    With no annotations, the description carries the full burden of behavioral disclosure. It clearly states that tokens are deleted, which is the core destructive action, and specifies the local scope. However, it does not mention downstream effects such as invalidating server-side sessions, the need to re-authenticate, or irreversibility, which would be more transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single concise sentence with no filler. It front-loads the action and resource, and every word earns its place. Ideal for a simple tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is low complexity: no parameters, no nested objects, and an output schema exists. The description explains the core behavior and scope. It is slightly thin on post-conditions or side-effect warnings, but for a logout action with minimal inputs, it is sufficiently complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so the baseline is 4. The description need not explain parameter semantics. The input schema already confirms no parameters, and the description does not add or require any param-related detail.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb 'Delete' and names the exact resource ('stored LinkedIn tokens') and scope ('for this machine'). This clearly distinguishes logout from siblings like login and auth_status, and leaves no ambiguity about what action the tool performs.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies the usage context: when you want to sign out and remove locally stored tokens on this machine. However, it does not explicitly state when to use this tool versus alternatives, nor does it list exclusions or prerequisites. The guidance is minimal but adequate for an obvious action.

    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?

    With no annotations provided, the description carries the responsibility for behavioral disclosure. It usefully states the login requirement and what is returned, but it does not mention failure behavior if unauthenticated, potential rate limits, or the read-only nature beyond the word 'Get'.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two short sentences with no filler. The core purpose and the key prerequisite are both front-loaded and easily scannable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter tool with an output schema present, the description provides the essential context: what resource is fetched and that authentication is required. Nothing critical seems missing for an agent to select and invoke this tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so there is nothing meaningful for the description to add about parameter semantics. The schema is fully complete, and the description focuses on output contents rather than inputs, which is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Get') and identifies the exact resource ('authenticated user's LinkedIn identity'), listing the returned fields (name, email, person URN). This clearly separates it from authentication actions and content-manipulation siblings.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description conveys a clear prerequisite ('Requires login'), implying it should only be called after authentication. However, it does not explicitly distinguish when to use this tool versus siblings like auth_status, nor does it mention any exclusions.

    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 action is performed as the authenticated user, but does not describe side effects, idempotency, errors, or whether liking an already-liked post is treated as a no-op.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence that states the action and then clarifies the parameter. Every word earns its place, with no redundant or vague filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This is a simple one-parameter tool, and the description covers the core action, the authentication context, and the accepted input format. An output schema exists, so return values do not need explanation. Minor gaps around behavioral edge cases keep it from a 5.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema only defines `post` as a string with no description, giving 0% schema coverage. The description fully compensates by explaining that `post` is either a post URN or a linkedin.com post URL, adding essential meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb and resource: 'Like a LinkedIn post' with the context 'as the authenticated user.' This clearly distinguishes it from sibling tools like comment_on_post or create_post.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when the agent needs to like a post and notes that it operates as the authenticated user. However, it does not explicitly state when to avoid using it or mention alternatives like comment_on_post versus like_post.

    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?

    There are no annotations, so the description carries the behavioral burden. It discloses that the note is timestamped and that the operation does not change status, which is a meaningful side-effect boundary. It does not discuss auth or failure modes, but for a simple two-parameter append operation it provides the key behavioral contract.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is one well-structured sentence with no filler. It front-loads the action and target, provides helpful examples in parentheses, and ends with an important caveat. Every part earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with two required string parameters and an output schema, this description covers the core purpose, example content, and the key side-effect exclusion. It omits explicit prerequisites like authentication or job ownership, but those are not necessary for basic selection and invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must compensate. It does add meaning for the note parameter via concrete examples, but job_id is only inferable from the phrase 'tracked job' and receives no explicit format or ownership guidance. This is partial, not complete, compensation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Append') with a clear resource ('timestamped note to a tracked job') and gives concrete examples. The explicit caveat 'without changing its status' clearly separates this tool from update_job_status, so an agent can identify its purpose unambiguously.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The examples (recruiter name, interview date, salary discussed) clarify what kind of content belongs in a note, and the phrase 'without changing its status' implies it should be used when status mutation is not intended. It stops short of explicitly naming alternatives like update_job_status, so it earns a 4 rather than a 5.

    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 provided, the description carries the behavior disclosure burden. It usefully warns that comments are public and instructs the agent to confirm wording first, which is important for a social write action. It does not discuss permanence or editability, but the key public-facing behavior is disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, front-loaded with the main purpose, and includes only necessary details. Every sentence adds value: the action, the param format, and the public-confirmation warning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description is complete enough for this two-parameter tool with an output schema present. It covers the tricky `post` format and the behavioral caveat. It could mention authentication requirements more explicitly, but 'as the authenticated user' sufficiently implies the auth context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage, so the description must compensate. It thoroughly explains the `post` parameter's accepted formats (URN or URL), but the `text` parameter is only implied as the comment wording and lacks explicit semantic detail such as formatting or length constraints.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Comment on a LinkedIn post') and the acting identity ('as the authenticated user'), which distinguishes it from siblings like create_post and like_post. It is specific about the resource and what the tool does.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It gives clear context for use and an explicit precondition: confirm wording with the user first because comments are public. It does not explicitly name alternatives or when-not-to-use scenarios, but the action is distinct enough among siblings.

    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?

    With no annotations, the description must carry the behavioral disclosure burden. It does reveal useful output behavior ('pipeline counts by status') and implies a read-only listing operation, but it omits potential behavioral details such as pagination, ordering, authentication requirements, or whether archived jobs are included by default.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single, front-loaded sentence states the core action and the optional filters without waste. Every phrase earns its place, and the structure immediately gives the agent the most important information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given 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 and only two optional parameters, the description is largely sufficient. It might be further improved by explicitly routing to get_saved_job for individual job details or search_jobs for broader job discovery, but nothing critical is missing for basic invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description compensates by explaining that 'status' filters by job status and 'search' is a title/company substring. This adds real meaning beyond the raw schema names, though it does not detail matching behavior or edge cases.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description names a specific verb ('List'), a specific resource ('the user's tracked jobs'), and a distinctive output characteristic ('pipeline counts by status'). It clearly distinguishes this from sibling tools like search_jobs (global search) and get_saved_job (single saved 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly conveys when to use it: to list the current user's saved/tracked jobs, with optional filters by status or title/company substring. It does not explicitly mention alternatives or exclusions, but the resource scope is unambiguous enough to guide selection.

    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 burden and does well: it discloses that the user's account is never involved, warns about IP rate-limiting, and gives a retry wait. It doesn't cover every operational detail, but the key caveats are present.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three compact sentences, each serving a distinct purpose: purpose/auth, parameter usage, and rate-limit/next-step guidance. No filler or redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a 9-parameter tool with no annotations, the description covers the non-obvious operational aspects (no auth needed, rate limits, follow-up via get_job). Some filter parameters are not explicitly discussed, but the output schema and enum values fill most gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It explains location with concrete examples, suggests a workplace='remote' combination, and documents limit max 50. Other parameters rely on their titles and enums in the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific verb and resource: 'Search LinkedIn job postings'. It also clarifies 'no login required' and directs to get_job for full descriptions, distinguishing it from auth-related and job-detail siblings.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells the agent to use get_job with a result's job_id for the full description, and provides practical guidance on location free text, combining with workplace='remote', and handling rate-limit errors with a wait-and-retry strategy.

    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 must carry the behavioral burden. It does disclose key side effects: archived hides the job, and the change is recorded in the job's event history with an optional note. It does not mention transition restrictions or permissions, but it provides meaningful behavioral context beyond the schema.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, no filler, front-loaded with the action and followed by precise supporting detail about status flow and side effects. Every clause earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a 3-parameter mutation tool with an output schema, the description covers the core operation and important side effects. Minor gaps remain, such as whether transitions can skip stages or whether archived is reversible, but the agent has enough to call the tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It does interpret the main parameters: job_id is 'a tracked job', status is the pipeline, and note is optional and tied to event history. It doesn't detail the job_id format, but the meaning is sufficiently conveyed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description names a specific verb, 'Move a tracked job through the pipeline', and elaborates the exact status flow with the statuses themselves, including the special 'archived hides it' behavior. This clearly distinguishes it from sibling tools like saving jobs or adding standalone notes.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly indicates this is for advancing job status, not for saving or note-taking. It doesn't explicitly name alternatives or exclusions, but the pipeline vocabulary and the event-history note clarify when this tool is appropriate relative to siblings like add_job_note.

    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 behavioral disclosure burden. It reveals that the operation is destructive, scoped to the authenticated user's own posts, and identifies exactly what is being removed. It does not explicitly state irreversibility or side effects, but the verb 'Delete' plus the ownership constraint provides solid transparency for a simple 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is one tightly constructed sentence with the action front-loaded, followed by a necessary parameter clarification. There is no redundant or filler content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter mutation tool with an output schema, the description covers the core operation, ownership scope, and parameter format. It could add explicit note about irreversibility or permission requirements, but the existing content is sufficient for safe invocation in most cases.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, and the schema only labels the parameter as 'Post'. The description adds essential semantic meaning by defining post as 'a post URN or a linkedin.com post URL', giving the agent the exact accepted formats for the only required parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific action ('Delete') and a specific resource ('one of the user's own posts'), which clearly distinguishes this tool from sibling tools like create_post, comment_on_post, and like_post. The ownership qualifier adds precision and prevents confusion with operations on other users' 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'user's own posts' clearly conveys when this tool is appropriate, implicitly excluding deletion of other users' posts or interacting with posts via like/comment tools. It does not explicitly name alternatives or provide when-not-to-use conditions, but the context is strong enough for an agent to route correctly.

    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 behavioral burden. It discloses conditional behavior ('salary when listed', 'external apply URL if the posting is not Easy Apply') and the read-only nature is evident from 'Fetch'. It does not cover authentication or error/rate-limit behavior, but for a get-by-id call the disclosed conditions are substantive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with the primary purpose and field list front-loaded, followed immediately by the parameter contract. No filler or repetition of schema details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter getter with an output schema available, the description covers accepted input forms and names the returned fields. It omits only explicit prerequisites such as authentication, which would make it fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema provides only a required string, so the description must define the semantics, and it does thoroughly: the job parameter can be a search result's job_id, a LinkedIn jobs URL, or a jobPosting URN. This fully 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.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States the action ('Fetch full details') and the resource ('one job posting'), and enumerates the exact fields returned, which clearly separates it from the listing behavior of search_jobs and the saved-job tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description tells the agent where the job identifier comes from ('a job_id from search_jobs, a linkedin.com/jobs/view/... URL, or a jobPosting URN'), establishing when to call it as a follow-up after searching. It does not explicitly name sibling alternatives or state when not to use it, so it stops one point short.

    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 behavioral burden and does so well: it discloses that the browser may open automatically, that the local callback completes the flow, and that login is not confirmed until auth_status is called. It doesn't cover edge cases like URL expiration or failure handling, but covers the essential interactive 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two tight sentences deliver purpose, required user action, callback behavior, and the follow-up verification step with no filler. The critical instruction to show the URL is front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter interactive OAuth tool, the description provides the full invocation contract: what is returned, what the agent must tell the user, how the flow completes, and how to verify success. The output schema can cover the URL's structured details, so no major context is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters and 100% schema coverage, so there is no parameter ambiguity for the description to resolve. The description correctly avoids inventing parameter guidance.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb and resource ('Start the LinkedIn OAuth login') and clarifies the concrete output ('Returns an authorization URL'). It makes the tool's role distinct from siblings like auth_status and logout without ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It gives clear operational context: show the URL to the user, have them open it, and then call auth_status to confirm. It implies the alternative boundary—this tool starts the flow, while auth_status verifies completion—but does not explicitly say when not to use login.

    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 behavioral disclosure burden. It openly states that the tool removes the job 'and its history,' signaling destructive side effects beyond the obvious delete. The preference for archiving reinforces that this operation is not a reversible status change, though it does not mention permissions or error 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two short sentences with no filler. The action and destructive scope are front-loaded, and the alternative tool is mentioned in the second sentence. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter destructive operation with an output schema, the description is complete: it states what is removed, where it is removed from, and the safer alternative. Return value details are already covered by the output schema, so no additional information is needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%: job_id has only a name and type, with no description. The tool description does not directly explain job_id, but 'from the local tracker' indicates that job_id identifies a locally saved job, which provides enough context for a single self-explanatory string parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a precise verb ('Remove') and a clear resource ('job and its history from the local tracker'). It clearly differentiates this destructive operation from the non-destructive sibling update_job_status, making the tool's purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly advises preferring update_job_status(..., "archived") when the record should be kept, which tells the agent both when to use this tool and when to use the alternative. This is direct, actionable usage guidance rather than a vague hint.

    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, so the description carries full behavioral burden. It compensates well by disclosing the at-most-one constraint, hashtag behavior, link preview effects, duplicate-post rejection, and the 150/day cap. These go beyond the schema, which encodes none of these constraints.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Four sentences cover purpose, user-confirmation warning, parameter constraints, and platform limits without waste. Backticked parameter names and bolded IMPORTANT make it scannable and well structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a six-parameter write action with no annotations or schema descriptions, the description provides enough operational detail for correct invocation, and an output schema exists. The only notable gap is the visibility parameter, which the enum conveys but the 'public' claim does not accurately address.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage, so the description must explain parameters. It defines link as URL sharing, image_path as local file upload, link_title/link_description as preview-card enhancers, and text as containing hashtags. However, visibility is not described at all, and the blanket 'public' phrasing is slightly inconsistent with the CONNECTIONS enum option.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific verb+resource: 'Publish a LinkedIn post as the authenticated user.' It is immediately distinct from sibling tools like delete_post, comment_on_post, and like_post, and clarifies the acting entity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It gives clear context for when to use: after confirming the final text with the user and warns about public professional content. It also provides parameter usage guidance ('Attach at most one of link or image_path'), though it does not explicitly name sibling alternatives because no sibling performs post creation.

    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, so the description carries the full burden of behavioral disclosure. It clearly discloses idempotency, the snapshot behavior, that saved postings survive delisting, and that the job parameter accepts a job_id, URL, or URN. This is strong transparency beyond what the schema alone provides.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded, with the core action and key snapshot behavior stated first, followed by the idempotency rule and parameter clarification. Every sentence adds value and there is no filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers the essential invocation semantics: what gets saved, idempotency, and the flexible job identifier format. An output schema exists, so return-value detail is not required. However, it is slightly ambiguous what happens if a duplicate save includes both a note and a status change, since it only says the note is appended.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It successfully explains the most important parameter, `job`, by specifying accepted formats (job_id, URL, or URN). It does not elaborate on `note` or `status`, but those are reasonably inferable from the schema's defaults and enum values.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Save') and a clear resource ('a job to the user's local application tracker'), and it distinguishes this tool from siblings by emphasizing it stores a snapshot that survives delisting. This makes it easy to tell save_job apart from related tools like list_saved_jobs, update_job_status, or add_job_note.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear behavioral context for when to use the tool: any job can be saved, and if it is already saved, the note is appended instead. It does not explicitly name alternatives or state when not to use it, but the idempotency rule effectively guides the agent's decision-making.

    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 provided, the description carries the behavioral burden. It discloses that the tool reports authentication state, may indicate not configured/authenticated status, and provides remediation instructions. This is sufficient for a zero-parameter read-only status check, though it does not explicitly state side-effect-free 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three short sentences, front-loaded with the core purpose, followed by actionable usage guidance and an exclusion. Every sentence earns its place; there is no redundancy or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter status-check tool with an output schema, the description fully covers purpose, timing, fallback behavior, and when authentication is irrelevant. Nothing needed for correct invocation is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters and schema coverage is 100%, so there is no parameter documentation burden. The baseline for zero-parameter tools is 4, and the description adds relevant context about what the state report is used for.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb and resource: 'Check LinkedIn authentication state.' It clearly distinguishes this tool from siblings like login, logout, and posting tools by positioning it as a preflight status check before posting operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explicitly states when to call it ('Call this before posting tools'), what happens if auth is missing ('includes exactly what to do next'), and when it is not needed ('Job-search tools never need authentication'). This gives the agent clear routing rules without needing to inspect siblings.

    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

linkedin-safe-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

linkedin-safe-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Latest Blog Posts

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/AmmYoo7/linkedin-safe-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server