MCP

How to connect GIFt to AI apps that cannot run shell commands.

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.

Before you start

  1. Install GIFt in /Applications and grant it Screen Recording. The guide covers this.
  2. 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

  1. 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.
  2. Open Developer and click Edit Config. Claude opens claude_desktop_config.json and creates it if it does not exist.
  3. 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"]
        }
      }
    }
  4. Quit Claude Desktop completely with ⌘ Q and open it again. Closing the window is not enough.
  5. 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

ToolWhat it does
statusGIFt's state, output folder, whether Screen Recording is granted, and each display's frame and scale.
list_windowsOpen windows, frontmost first, with the IDs record takes.
screenshotReturns 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.
recordRecords 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_recordingStops and returns the saved file, or throws the recording away with discard.
show_recordingOpens 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

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.