Skip to main content
Glama

Analyze recent posts

analyze_recent_posts
Read-only

The raw material for an engagement analysis of the user's most recent LinkedIn posts: per-post stats, a sample of the actual comments left on them (who said what), and the LinkedIn headlines of everyone who engaged. Use when they ask for an analysis of their recent posts, what people are saying about them, or who their audience is. From the returned data, cover: what's getting traction, one or two key insights from the commentary including its overall sentiment, and an audience breakdown (roles, seniority, industries) drawn from the headlines. top_engagers ranks the commenters and reactors by LinkedIn follower count, for questions like who the most-followed people engaging were; people whose profile we have not fetched are left out of it. Pass activity_id (from a linkedin_post object's json_data) to look at one post. engagement_sync says why no engagers came back: 'off' means the comments and reactions sync is not turned on, so give them setup_url to turn it on; 'blocked' means it cannot run, and note says why; 'outside_window' means only posts from the last week are read, so these have none; 'pending' means the first sync has not run yet, so ask them to try again shortly; 'no_engagement_yet' means it ran and found no one. In every case analyze the stats alone and pass the note on; never say the data is still syncing unless engagement_sync is 'pending'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
post_countNoHow many recent posts to analyze (default 10, max 20).
activity_idNoAnalyze only this post.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / activity_id
      Added value: +{
      +  "description": "Analyze only this post.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=true, so the description carries most of the burden and does so richly: it explains the top_engagers ranking rule (commenters/reactors by follower count, unfetched profiles omitted) and enumerates every engagement_sync outcome ('off', 'blocked', 'outside_window', 'pending', 'no_engagement_yet') with the required behavior for each. This is behavior an agent could not infer from the schema or annotations.

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 purpose and usage triggers before the mechanics, and the dense engagement_sync enumeration is information the agent actually needs to respond correctly. It is long and could be tightened, but almost every sentence carries operational content rather than padding.

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?

With no output schema, the description takes on the job of explaining return contents (per-post stats, comment samples, engager headlines, top_engagers) and the analysis angles to cover. It also handles the degraded-data paths, so an agent can both call it and interpret the result without guessing.

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 baseline is 3, but the description adds genuine meaning: activity_id must come from a linkedin_post object's json_data, and passing it narrows the analysis to one post. post_count's default/max is only in the schema, but overall the description enriches the parameters.

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 (analyze) plus resource (the user's most recent LinkedIn posts) and enumerates what the payload contains: per-post stats, a sample of comments with authors, and engager headlines. This is enough to distinguish it from siblings like get_my_linkedin_posts or linkedin_analytics, which return raw posts or metrics rather than a commentary/audience analysis.

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?

Gives explicit triggering phrases ('analysis of their recent posts', 'what people are saying about them', 'who their audience is') and a scoping condition for the single-post mode via activity_id. It does not name a competing sibling to route away from, so it falls just short of the 5 bar.

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.