Skip to main content
Glama
hermoso-ai

Hermoso

Official

Organic performance of a LinkedIn company Page

linkedin_page_analytics
Read-only

Analyze organic LinkedIn page performance: follower growth, page views, and post engagement (impressions, clicks, likes, comments, shares) to evaluate content effectiveness and strategy. Excludes paid campaigns.

Instructions

ORGANIC performance for one of the brand’s LinkedIn COMPANY PAGES: total followers, followers gained (organic vs paid) across the window, Page views (all / unique / desktop / mobile), and the impressions, unique impressions, clicks, likes, comments, shares and engagement rate of the Page’s posts. This is what answers “is our LinkedIn actually working” and “did that post land”. It is NOT linkedin_ads_report — that covers PAID campaigns; LinkedIn excludes sponsored activity from these figures entirely. Pass postUrns (the urn:li:share:… / urn:li:ugcPost:… that post_to_linkedin_page returned) for PER-POST numbers; LinkedIn forbids a date range together with named posts, so that switches to lifetime-per-post. Only Pages the user ticked in Manage accounts are readable — a Page the account merely administers is refused, by design. LinkedIn keeps 12 months, follower figures run about 2 days behind, and it OMITS posts with no recorded activity rather than returning zeros: report an absent post or an unavailable section as MISSING data, never as zero. Read-only, 0 credits. Needs LinkedIn connected with the organization scopes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endDateNoYYYY-MM-DD, default today
postUrnsNourn:li:share:… / urn:li:ugcPost:… — switches to per-post lifetime numbers instead of the Page total
startDateNoYYYY-MM-DD, default 28 days ago (LinkedIn keeps 12 months)
organizationIdNonumeric Page id from list_linkedin_pages — omit only when exactly one Page is shared with this brand
Behavior5/5

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

Beyond the annotations (readOnlyHint, destructiveHint, openWorldHint), the description discloses critical behavioral traits: data lag ('follower figures run about 2 days behind'), data retention ('LinkedIn keeps 12 months'), omission behavior ('OMITS posts with no recorded activity rather than returning zeros'), access refusal ('a Page the account merely administers is refused'), and credit cost ('0 credits'). These are not captured in annotations and are essential for correct interpretation of results. The description also instructs on handling missing data ('report an absent post or an unavailable section as MISSING data, never as zero').

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 dense but every sentence carries unique value. It front-loads the purpose and metric list, then the contrast with the paid-report sibling, then parameter semantics, then behavioral caveats. None of the information is redundant with the schema or annotations. Despite its length, it is efficiently structured and no sentence is wasted.

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 tool with this complexity (multiple metrics, two operational modes, access constraints, data-quality quirks), the description covers everything an agent needs to call it correctly: what metrics are returned, how to switch to per-post mode, access requirements, data freshness, retention limits, missing-data handling, credit cost, and scopes. There is no output schema, but the description enumerates all returned metrics and even instructs how to report missing entries, leaving no critical gap.

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?

Although the schema covers all parameters (100% coverage), the description adds essential semantic depth: it explains the default for startDate ('28 days ago') and endDate ('today'), the source for organizationId ('from list_linkedin_pages'), and crucially the interaction between postUrns and date range ('LinkedIn forbids a date range together with named posts, so that switches to lifetime-per-post'). This clarifies how parameters influence each other and what values are expected, going well beyond the schema's basic descriptions.

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 clear verb and resource: 'ORGANIC performance for one of the brand’s LinkedIn COMPANY PAGES,' then enumerates the specific metrics (followers, views, post engagement). It explicitly contrasts itself with linkedin_ads_report, stating 'It is NOT linkedin_ads_report — that covers PAID campaigns,' which immediately distinguishes it from the sibling tool. The purpose is unambiguous and the scope is precisely defined.

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 gives clear usage guidance: it states when to use this tool (for organic Page performance) and when not (for paid campaigns, deferring to linkedin_ads_report). It also explains the prerequisite ('Needs LinkedIn connected with the organization scopes'), access restriction ('Only Pages the user ticked in Manage accounts are readable'), and the behavioral switch when postUrns are provided. It names the alternative explicitly, so an agent knows exactly which tool to choose in different scenarios.

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

Install Server

Other Tools

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/hermoso-ai/hermoso'

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