GifSnap by Rowix

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
100%
命名品質
90%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,079Token(工具定義)
~4.7 KB典型回應大小
中等的注意力影響(128k 上下文的 0.84%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(2)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢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.

輸入結構描述

{
  "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
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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
}

輸出結構描述

{
  "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
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本2 個工具