mcp-gif
# mcp-gif
MCP server for GIF animation analysis. Provides metadata extraction, individual frame export, and per-frame timing information.
## Setup
### Claude Code
```bash
claude mcp add -s user gif npx mcp-gif
```
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"gif": {
"command": "npx",
"args": ["mcp-gif"]
}
}
}
```
## Tools
### `gif_info`
Get GIF metadata: dimensions, frame count, delays, loop count, and average FPS.
**Input**: `path` — path to a GIF file
**Output**:
```json
{
"width": 320,
"height": 240,
"frames": 12,
"delays": [100, 100, 100],
"loop": 0,
"avgFps": 10
}
```
### `gif_frame`
Extract a single frame as a PNG image.
**Input**: `path` — path to a GIF file, `frame` — 0-based frame index
**Output**: PNG image (base64)
### `gif_frames_list`
List all frames with their index, delay (ms), and FPS.
**Input**: `path` — path to a GIF file
**Output**:
```json
[
{ "index": 0, "delay": 100, "fps": 10 },
{ "index": 1, "delay": 200, "fps": 5 }
]
```
## License
BSD-2-Clause
TDQS
Scored across 3 tools
gif_info and gif_frames_list both provide delay and FPS information, which could cause confusion, though gif_info is summary metadata while gif_frames_list is per-frame. gif_frame is clearly distinct.
All tools use a consistent gif_ prefix and snake_case, but the second part mixes singular/plural nouns (frame vs frames_list) and uses no explicit verbs, which is a minor deviation from standard verb_noun patterns.
Three tools is a compact set for a focused GIF inspection/extraction server; it's not overly thin and each tool serves a clear purpose, though less comprehensive than larger utilities.
The server covers the core workflow of inspecting a GIF (metadata, frame listing, frame extraction), but lacks batch or creation/editing tools, which are minor gaps for a GIF utility.