Skip to main content
Glama

How a post is doing

post_performance
Read-onlyIdempotent

Requires a TechFabric engineer's Microsoft sign-in (scope blog.write). A read: how one of your own published posts is doing in Google (the blog's editor: any post). Search Console's clicks, impressions, CTR and average position for the last 28 days against the 28 before, the searches it shows for, whether Google has indexed it, and what to improve, each with the numbers behind it. Without post: all your posts with their last 28 days. Searches from the US only, so totals are lower than Search Console's all-countries view; cached for six hours. No model is called and nothing changes: revise_post changes a live post, only after the engineer agrees.

Input Schema

NameRequiredDescriptionDefault
postNoOne of your published posts: its URL (https://www.techfabric.com/blog/<slug>) or its slug. Leave it out for all your posts, with their last 28 days.

Output Schema

NameRequiredDescriptionDefault
kindYes
nextYes
noteNo
postNoThe post (kind post)
dailyNo
postsNoYour posts, each with its last 28 days (kind list)
changeNoThis window against the one before: clicks and impressions as a share, CTR in points, position in places (negative is up)
sourceYes
totalsNo
windowNo
improveNo
indexingNoWhether Google has indexed it (URL Inspection), and when the site asked it to
previousNo
cached_atNo
fresh_untilNo
top_queriesNo

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?

Goes well beyond the readOnly/idempotent annotations: it discloses the auth requirement and scope (blog.write), a data-source caveat (US-only, totals lower than the all-countries view), a freshness/staleness bound (cached six hours), and an explicit no-side-effect/no-model guarantee. That is exactly the operational context annotations cannot carry.

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 prerequisite, then the core behavior, then the default case, then caveats — a sensible ordering with no filler sentences. The second sentence is very long and packs metrics, comparison window, and diagnosis into one clause chain, which costs readability slightly.

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?

An output schema exists and the description still summarizes what comes back, so an agent knows both the shape and the caveats (US-only, 6h cache) before calling. For a single-optional-parameter read tool, nothing needed to invoke it correctly is missing.

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 100%, so the single 'post' parameter (URL or slug) is already fully documented, and the description's 'Without post: all your posts' merely restates the schema default. It adds one real nuance — ownership, i.e. 'your own published posts' with an editor exception for any post — but that is a marginal gain over a fully documented 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 ('A read: how one of your own published posts is doing in Google') and enumerates the exact metrics returned (clicks, impressions, CTR, average position, indexing status, recommendations). It also scopes the no-parameter case ('all your posts with their last 28 days'), so the tool is distinguishable from siblings like list_posts without opening a schema.

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?

Explicitly routes the agent: this is a read, and the mutation path is named and gated ('revise_post changes a live post, only after the engineer agrees'). The 'Without post: all your posts' clause tells the agent how to widen scope. It stops short of naming alternatives for other adjacent questions (list_posts, get_status), but the when-to-use is clear.

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.