Skip to main content
Glama

Lint a LinkedIn post

lint_social
Read-onlyIdempotent

Requires a TechFabric engineer's Microsoft sign-in (scope blog.write). A read: the site's writing rules and the social rules on a LinkedIn post's text (the AI tells, the slop, claims, announcement openers, engagement bait, hashtags), its length, what shows before "see more", and, with post, whether it links the post. Rewrite each finding and lint again until ready. Posts nothing.

Input Schema

NameRequiredDescriptionDefault
postNoThe published post it shares (its URL or slug): the text is checked for its link
textYesThe LinkedIn post's text, as the engineer would post it (at most 10000 characters)

Output Schema

NameRequiredDescriptionDefault
aimNo
hookYesWhat shows before "see more"
kindYes
linkNo
nextYes
charsYes
limitYes
readyYesNo finding from the lint. Client confidentiality is still the engineer's to check: no client or client result the article doesn't state
linkedNo
findingsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds an auth requirement (TechFabric engineer's Microsoft sign-in, scope blog.write) that is not in any structured field. 'A read' and 'Posts nothing' reinforce no-side-effect behavior, and enumerating the check categories tells the agent what feedback to expect.

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

Conciseness4/5

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

Front-loads the auth requirement and 'A read', then packs the check categories into a compact parenthetical list, and closes with the no-posting guarantee. It is dense but each clause earns its place; the single flowing sentence is slightly harder to scan than a short structured list would be.

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?

Output schema exists so return format need not be explained, and the description still covers auth, the scope of checks, iteration guidance, and side-effect guarantees. Nothing an agent needs to call this correctly 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?

Schema coverage is 100%, so the schema already documents both parameters, but the description adds the conditional effect of the optional post parameter ('with post, whether it links the post') and reinforces text as the primary input. This is meaningful added semantics over the schema, though one could go further on length/format details.

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?

A specific verb (lint) applied to a specific resource (a LinkedIn post's text), and it enumerates exactly what is checked: site writing rules plus social rules (AI tells, slop, claims, announcement openers, engagement bait, hashtags), length, the 'see more' preview, and link presence when post is set. The scoping to a published LinkedIn post's text clearly separates it from draft-linting siblings like lint_draft or check_draft.

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?

'Rewrite each finding and lint again until ready' gives an iteration workflow, which is useful usage context. However, it never names the natural alternatives (lint_draft, check_draft, review_before_publishing) or states when-not to use this tool, leaving the routing to siblings implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.