Skip to main content
Glama
FastSocialCo

instagram-data-mcp

by FastSocialCo

instagram_check

Read-only

Check if an Instagram handle exists and is public. Returns exact status (ok, not_found, private, deactivated, memorialized, age_restricted, restricted_minor) with exact match only.

Instructions

Check if an Instagram handle exists and is public. Does this handle exist, and is it public? States: ok, not_found, private, deactivated, memorialized, age_restricted, restricted_minor. Exact match only, so a typo never resolves to someone else.

Cost: 1 credit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYesInstagram handle, with or without @. A profile URL also works. Pass this or user_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint), but the description adds two things structured data does not: the complete set of return states (ok, not_found, private, deactivated, memorialized, age_restricted, restricted_minor) and the per-call cost of 1 credit. That is meaningful behavioral disclosure beyond the annotations; only rate-limit/throttling behavior is absent.

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-loaded and short, with the cost note last. The second sentence ('Does this handle exist, and is it public?') is a redundant restatement of the first, slightly diluting otherwise tight prose.

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?

With no output schema, the description correctly carries the burden of explaining returns by enumerating every status value, which is the key information for this tool. It does not say whether additional fields accompany a successful check, a minor gap for a simple boolean-style check.

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% and the schema already explains accepted username formats (@ optional, profile URL works), so baseline would be 3. The description's 'exact match only, so a typo never resolves to someone else' adds real interpretation semantics about how the input is matched, exceeding the schema.

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 description states a specific verb and resource ('Check if an Instagram handle exists and is public') and clearly separates itself from lookup tools by noting it is an existence/visibility check rather than a profile fetch. The 'exact match only' clause further distinguishes it from the fuzzy instagram_search sibling, though no sibling is named explicitly.

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: the existence/visibility framing suggests it is a cheap validation step before calling heavier tools like instagram_profile, but the description never says when to prefer this over instagram_profile or instagram_user_id. No exclusions or prerequisites are stated.

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