Skip to main content
Glama

GifSnap by Rowix

Server Details

Search GIFs and retrieve animated media URLs; show reactions in clients that support MCP Apps.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: react_with_gif is for the assistant's own conversational GIF reactions, while search_gifs is for user-initiated browsing/comparison. Each description explicitly cross-references the other and states when to prefer it, eliminating misselection risk.

Naming Consistency4/5

Both names are snake_case and verb-led (react_with_gif, search_gifs), so the convention is readable and predictable. The only deviation is structural: one uses a verb_with_noun form and the other a simple verb_noun.

Tool Count3/5

Two tools is thin even for a narrow GIF-reaction scope, though the two operations (react, search) are the essential ones. A small set of adjacent helpers (e.g. trending/categories) would round it out without bloating it.

Completeness4/5

The core loop of selecting and searching GIFs is covered, including dedupe via excludeIds and a read-back path via reaction.description. Minor gaps exist (no listing categories, trending, or favorites), but agents can work around them.

Available Tools

2 tools
react_with_gifReact with a GIFA
Read-onlyIdempotent
Inspect

Use this when GifSnap is selected for conversational GIF reactions. During that reaction chat, use one matching GIF for each casual social reply, including follow-ups like haha, xd, or laughter emojis, without requiring another @mention. Preserve the topic in query: cheeseburger hungry for a burger conversation, laughing for laughter, friendly wave for hello. On haha, xd, or laughter emojis, use query laughing, without reusing a previous burger/food/object topic. Preserve a subject only when the current message actually mentions it. The component displays one GIF; respond in TEXT ONLY alongside it, without an additional image or picker. Read reaction.description so you know what was displayed. Pass recent returned reaction.id values in excludeIds to avoid repeating GIFs. Respect stop or fewer-GIF requests and omit reactions for serious or purely factual tasks. Do not send transcripts or personal information.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTwo to six search keywords for the current topic and action, such as cheeseburger hungry, cat laughing, friendly wave, or laughing. Keep concrete subjects: a burger conversation should not become generic excitement. For a laughter-only or emoji-only follow-up, use its present emotion, e.g. laughing; do not carry forward an old object such as burger unless the user mentions it again. No personal information or transcript.
excludeIdsNoUp to five recent reaction.id values from this conversation to avoid repeating a GIF; omit on the first turn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeYes
queryYes
statusYes
messageYes
reactionYes
reactionShownYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, it discloses real behavioral detail: the component displays exactly one GIF, the reply must be TEXT ONLY with no extra image or picker, reaction.description should be read to know what was shown, and excludeIds should carry recent reaction.id values to avoid repeats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition is correctly front-loaded, but the laughter guidance is restated twice ("follow-ups like haha, xd, or laughter emojis" and again "On haha, xd, or laughter emojis, use query laughing"), and the topic-preservation rule repeats in both the description and the query schema. It is dense and somewhat redundant.

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, so return-value detail is unnecessary, and the description covers the remaining behavioral contract (single GIF, text-only reply, anti-repetition via excludeIds, privacy constraints, stop handling) thoroughly enough for correct invocation.

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%, so baseline is 3, but the description reinforces parameter meaning with concrete topic-preservation rules ("cheeseburger hungry for a burger conversation") and the excludeIds-as-recent-ids contract. This adds usable semantics, though it largely overlaps the schema text.

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+resource (send one conversational GIF reaction) and anchors the trigger to "GifSnap is selected for conversational GIF reactions," which is concrete. It does not name the sibling search_gifs or explain how this differs from it, so it falls short of full differentiation.

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?

It gives explicit positive conditions (casual social replies, follow-ups like haha/xd/emoji, no @mention needed) and explicit exclusions (serious or purely factual tasks, stop or fewer-GIF requests). An agent knows precisely when to fire and when to hold back.

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

search_gifsFind GIF reactionsA
Read-onlyIdempotent
Inspect

Use this when the user explicitly wants to search, browse or compare GIF choices. Search by emotion, character or brief phrase and show up to 6 choices with optional copy/share controls. For the assistant's own conversational GIF response, use react_with_gif instead. Send only short keywords; omit personal data and conversation transcripts. This searches existing GIFs; it does not create images or send messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of GIF choices to browse.
queryYesTwo to six search keywords for the current topic and action, such as cheeseburger hungry, cat laughing, friendly wave, or laughing. Keep concrete subjects: a burger conversation should not become generic excitement. For a laughter-only or emoji-only follow-up, use its present emotion, e.g. laughing; do not carry forward an old object such as burger unless the user mentions it again. No personal information or transcript.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gifsYes
modeYes
queryYes
statusYes
messageYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, but the description adds useful operational detail: results are capped at 6 choices, copy/share controls are optional, and inputs should be short keywords stripped of personal data. It does not discuss latency, rate limits, or result ranking, so it stops short of full behavioral disclosure.

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 tight sentences with the routing condition front-loaded, followed by input hygiene and non-capability scoping. Slight redundancy between 'Send only short keywords; omit personal data' and the closing non-capability sentence, but nothing is wasted enough to hurt.

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, so return-shape explanation is unnecessary; the description covers selection trigger, alternative tool, input constraints, privacy boundaries, and result count. Nothing an agent needs to invoke this 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 description coverage is 100%, and the schema's query description is already more detailed than the prose (it spells out keyword rules, example queries, and object-carryover behavior). The description's 'search by emotion, character or brief phrase' is directionally consistent but adds little beyond the schema, so baseline 3 applies.

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+resource ('search, browse or compare GIF choices') and explicitly bounds it as reading existing GIFs rather than creating images or sending messages. The sibling tool react_with_gif is named directly, so an agent can disambiguate without opening either schema.

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?

Opens with the precise trigger condition ('when the user explicitly wants to search, browse or compare GIF choices') and routes the alternative case to react_with_gif for the assistant's own conversational response. Also gives negative guidance on what not to include (personal data, transcripts).

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedreact_with_gif
    • First observedsearch_gifs

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI chat clients to search, manage, and send custom meme/sticker images through MCP, with images stored in SQLite and served via public URLs; supports MCP Apps displaying images inline in chat.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to search and read Reddit content—posts, comments, communities, wikis, and user activity—without posting or needing API keys. Supports full thread expansion, subreddit discovery, NSFW filtering, and compact outputs with rate-limit handling.
    1
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP clients to run searches across Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and other engines, returning organic results, news, images, shopping, weather, and stock data as JSON or Markdown. It also exposes per-engine parameter schemas as resources and offers optional interactive table and dashboard views.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources