When to use MCP
The Model Context Protocol lets an AI app start a local program and call the tools it offers. GIFt's executable is that program when it runs as GIFt mcp. It offers the same six operations as the gift command.
- Use MCP in apps that cannot run shell commands, such as Claude Desktop and the ChatGPT desktop app. Screenshots the model takes appear as images in the conversation.
- Use the command and the skill in coding agents that have a shell, such as Claude Code and Codex CLI. MCP tools are loaded into every conversation, while a skill is read only when it is needed, and the command also works in scripts. See Agents.
Before you start
- Install GIFt in
/Applicationsand grant it Screen Recording. The guide covers this. - Turn on Allow agents in GIFt's Settings, under Agents. Read Security first.
Every client below starts the same command:
/Applications/GIFt.app/Contents/MacOS/GIFt mcp
Each tool call reaches GIFt separately, so a client keeps working if GIFt quits or restarts between calls. If GIFt is not running, the first call starts it.
Claude Desktop
- In Claude Desktop, choose Claude › Settings… from the menu bar. This is the app's own settings, not your account settings in the Claude window.
- Open Developer and click Edit Config. Claude opens
claude_desktop_config.jsonand creates it if it does not exist. - Add GIFt under
mcpServers. If the file already lists other servers, add the"gift"entry beside them. ~/Library/Application Support/Claude/claude_desktop_config.json{ "mcpServers": { "gift": { "command": "/Applications/GIFt.app/Contents/MacOS/GIFt", "args": ["mcp"] } } } - Quit Claude Desktop completely with ⌘ Q and open it again. Closing the window is not enough.
- In a new chat, click + in the message box, then Connectors. gift should be listed with its six tools.
Try it: "Take a gridded screenshot of my screen, then record the menu bar for three seconds and show me the GIF."
Claude Desktop asks before running each tool. Approve once, or allow GIFt's tools for the conversation.
ChatGPT desktop app
The ChatGPT desktop app reads local MCP servers from the same configuration file as Codex, ~/.codex/config.toml. Adding GIFt there makes it available in the desktop app, Codex CLI, and the Codex IDE extension.
If you have Codex CLI, add it with one command:
codex mcp add gift -- /Applications/GIFt.app/Contents/MacOS/GIFt mcp
Or add it to the file by hand:
~/.codex/config.toml[mcp_servers.gift]
command = "/Applications/GIFt.app/Contents/MacOS/GIFt"
args = ["mcp"]
# Room for recordings up to about a minute. The default is 60 seconds.
tool_timeout_sec = 90
Restart the ChatGPT desktop app. Type /mcp in the message box to see connected servers; gift should be listed.
ChatGPT on the web cannot use GIFt. It reaches only remote MCP servers on the internet, and GIFt runs only on your Mac. Use the desktop app.
Other clients
Any MCP client that can start a local command works. Give it the command and the argument mcp.
Claude Code
Claude Code has a shell, so the command and the skill are the better fit. To use MCP anyway:
claude mcp add --scope user gift -- /Applications/GIFt.app/Contents/MacOS/GIFt mcp
Cursor
~/.cursor/mcp.json{
"mcpServers": {
"gift": {
"command": "/Applications/GIFt.app/Contents/MacOS/GIFt",
"args": ["mcp"]
}
}
}
Tools
| Tool | What it does |
|---|---|
status | GIFt's state, output folder, whether Screen Recording is granted, and each display's frame and scale. |
list_windows | Open windows, frontmost first, with the IDs record takes. |
screenshot | Returns an image of an area, or the primary display, with the measurement grid drawn in. One image pixel is one screen point, so the model reads coordinates straight off the labels. |
record | Records an area (x, y, width, height) or a window (window_id). With seconds, returns the saved file; without it, returns once recording starts. Optional fps and format. |
stop_recording | Stops and returns the saved file, or throws the recording away with discard. |
show_recording | Opens a file in Quick Look on your screen. |
Apps time out tool calls that run too long, often after 60 seconds. For longer recordings, the model can start with record and no seconds, then call stop_recording.
Troubleshooting
gift does not appear in the app
- Check that the configuration file is valid JSON or TOML. One missing comma disables every server in a Claude Desktop config.
- Check that the path is exactly
/Applications/GIFt.app/Contents/MacOS/GIFt. If GIFt is somewhere else, use that location. - Quit the app completely and open it again.
- Run the command in Terminal. It should wait silently for input; press ⌃ C to stop it.
Claude Desktop writes each server's errors to ~/Library/Logs/Claude/mcp-server-gift.log.
Every tool says agent control is off
Turn on Allow agents in GIFt's Settings, under Agents. The connection stays up, so the next call works without restarting the app.
Tools say GIFt lacks Screen Recording permission
GIFt opens its Settings window at the permission. Grant it there, let macOS reopen GIFt, and ask again. The model cannot grant it for you.