Skip to main content
Glama
dev.socialscrape/socialscrape

dev.socialscrape/socialscrape

Official

Snapchat

snapchat
Read-onlyIdempotent

Fetch public profiles, Spotlight videos, and comments by selecting a resource and passing its parameters; paginate with the returned cursor and accept cached copies for free.

Instructions

Data from Snapchat: profiles, posts and videos, comments.

Pick a resource, then pass its parameters as top-level arguments (extras in params). Each call costs the credits shown below and the result says what was charged and what is left; failures are free. List resources return a cursor: pass it back unchanged for the next page. Pass max_age_days to accept a cached copy for free.

Resources:

  • profile(handle): Snapchat public profile. 1 credit.

  • spotlight(url): Snapchat Spotlight video. 1 credit.

  • spotlight.comments(url): Snapchat Spotlight comments. 1 credit. Paged.

Input Schema

NameRequiredDescriptionDefault
urlNoSpotlight URL (snapchat.com/@user/spotlight/...). Used by: spotlight, spotlight.comments
cursorNoOpaque cursor from the previous page; pass it back unchanged
handleNoUsername, with or without the leading @. Used by: profile
paramsNoAny other parameter for the chosen resource, by name, e.g. {"start_date": "2026-01-01"}. Optional parameters of each resource are in the tool description; call describe for types and allowed values.
resourceYesWhich Snapchat data to fetch. The tool description lists what each needs.
max_age_daysNoAccept a cached copy fetched within this many days, for 0 credits (0 to 30).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: per-call credit costs, that failures are free, that the result reports charged vs. remaining credits, and cursor/caching behavior. It stops short of describing rate limits, what an error response looks like, or how partial failures in a paged resource are surfaced.

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?

Well structured and front-loaded: dispatch rule first, then billing/pagination mechanics, then a scannable resource list with costs. Almost every sentence carries information. Minor waste in restating the cursor contract and max_age_days caching, both of which the schema already documents verbatim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter multi-resource dispatcher with a nested free-form `params` object and no output schema, the description does the essential work of explaining the dispatch pattern and pointing to describe for per-resource option types. The gap is that it claims optional parameters are listed in the description when only required ones are, leaving the free-form params object under-specified without a describe call.

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 description coverage is 100%, so the schema already carries handle, url, cursor, resource and max_age_days semantics, making 3 the baseline. The description adds per-resource binding (profile→handle, spotlight→url) and per-resource credit cost and paging flags, which is modest added meaning. It does not, however, enumerate the optional per-resource parameters it promises are "in the tool description," deferring to describe instead.

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?

Opens with the specific resource domain ("Data from Snapchat: profiles, posts and videos, comments") and then enumerates the three exact resources with their identifying parameter and credit cost. An agent can tell it apart from siblings like tiktok or instagram by platform, and from get_profile/get_comments by the fact that this is a platform-native dispatcher. It never states a verb (fetch/get), but the resource enumeration makes the intent unambiguous.

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?

Gives clear operating instructions for the dispatcher pattern ("Pick a `resource`, then pass its parameters as top-level arguments (extras in `params`)") and for pagination and caching, which is genuinely actionable. However, it never addresses when to choose this tool over sibling tools such as get_profile, get_post, get_comments, or call_endpoint, which appear to overlap. Usage is implied by resource granularity rather than stated as an alternative-selection rule.

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