GifSnap by Rowix
Search GIFs and retrieve animated media URLs; show reactions in clients that support MCP Apps.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"gifsnap": {
"url": "https://gifsnap.com/plugins/chatgpt/mcp"
}
}
}Puntos de conexión remotos
https://gifsnap.com/plugins/chatgpt/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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
}Comunidad
Evidencia