Skip to main content
Glama

TrueScrape

substack: Profile

substack_profile
Read-only

Profile. A Substack writer's public profile: followers, bio, links, and their main publication. Subscribers appear only as Substack's rounded badge. Costs 1 credit.

Input Schema

NameRequiredDescriptionDefault
handleYesSubstack handle (lenny), @handle, or a substack.com/@handle URL
cache_max_ageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint and openWorldHint already declared, the description still adds real value: it discloses that subscriber counts are only Substack's rounded badge (a data-fidelity caveat that prevents misreporting) and that the call costs 1 credit. It does not contradict the 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?

Three short sentences with no filler, and the important caveats (subscriber rounding, credit cost) are placed last where they are still easy to scan. The leading 'Profile.' repeats the title and title field, wasting one of the few slots.

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?

There is no output schema, so the description carries the burden of describing returns, and it does enumerate the payload (followers, bio, links, main publication) plus the subscriber-count caveat. The only material omission is any hint about the undocumented cache_max_age parameter.

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 50%: 'handle' is fully documented with accepted formats (bare handle, @handle, URL), but 'cache_max_age' is described nowhere and the description does not compensate. The description implies the lookup is keyed on the writer's identity, but adds no format or caching semantics.

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

Purpose4/5

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

The first sentence is a tautology ('Profile'), but the second specifies the resource precisely: a Substack writer's public profile with followers, bio, links, and main publication. That distinguishes it from the content-oriented siblings (substack_post, substack_posts, substack_comments), though it never names substack_publication as the alternative for publication-level data.

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?

Usage is only implied by the resource itself (fetch a writer's profile). There is no explicit when-to-use guidance, no statement of the handle prerequisites, and no routing to the sibling tools that cover posts, comments, or publications.

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.