GifSnap by Rowix

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,079Tokens (Tool-Definitionen)
~4.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.84% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "gifsnap": {
      "url": "https://gifsnap.com/plugins/chatgpt/mcp"
    }
  }
}

Remote-Endpunkte

https://gifsnap.com/plugins/chatgpt/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢react_with_gif(query, excludeIds)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Two 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."
    },
    "excludeIds": {
      "default": [],
      "description": "Up to five recent reaction.id values from this conversation to avoid repeating a GIF; omit on the first turn.",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "const": "reaction"
    },
    "reactionShown": {
      "type": "boolean"
    },
    "reaction": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "description"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "ok",
        "empty",
        "unsupported",
        "error"
      ]
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "mode",
    "reactionShown",
    "reaction",
    "status",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search_gifs(query, limit)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Two 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."
    },
    "limit": {
      "default": 3,
      "description": "Number of GIF choices to browse.",
      "type": "integer",
      "minimum": 1,
      "maximum": 6
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "enum": [
        "reaction",
        "search"
      ]
    },
    "gifs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "animationUrl": {
            "type": "string",
            "format": "uri"
          },
          "animationType": {
            "type": "string",
            "enum": [
              "image",
              "video/mp4",
              "video/webm"
            ]
          },
          "posterUrl": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "pageUrl": {
            "type": "string",
            "format": "uri"
          },
          "width": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "height": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "id",
          "title",
          "url",
          "animationUrl",
          "animationType",
          "posterUrl",
          "pageUrl",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "ok",
        "empty",
        "unsupported",
        "error"
      ]
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "mode",
    "gifs",
    "status",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools