# Fitter MCP server

> Turns any website or API into structured JSON using LLM-authored declarative scraping configurations.

- Repository: https://github.com/PxyUp/fitter
- Page: https://hostedmcp.org/servers/pxyup/fitter
- Transport: stdio
- Stars: 133
- License: MIT
- Latest version: 1.8.3

## Install

### Claude Code

```sh
claude mcp add fitter -- docker run -i --rm ghcr.io/pxyup/fitter-mcp:v1.8.3
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "fitter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "fitter": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"fitter","type":"stdio","command":"docker","args":["run","-i","--rm","ghcr.io/pxyup/fitter-mcp:v1.8.3"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "fitter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add fitter -- docker run -i --rm ghcr.io/pxyup/fitter-mcp:v1.8.3
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.fitter]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/pxyup/fitter-mcp:v1.8.3"]
```

### Gemini CLI

```sh
gemini mcp add -s user fitter docker -- run -i --rm ghcr.io/pxyup/fitter-mcp:v1.8.3
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "fitter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ]
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `ANTHROPIC_API_KEY` | no | no |  |
| `FITTER_MCP_AUTH_TOKEN` | no | no |  |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |
| `FITTER_PLUGINS` | no | no | Optional path to a fitter plugins folder |

## Tools (6)

- `fitter_run`
- `fitter_run_file`
- `fitter_run_url`
- `fitter_inspect_url`
- `fitter_validate_config`
- `fitter_config_reference`

## FAQ

### How can I use Fitter with Claude Desktop?

You can download the .mcpb bundle from the release page and open it; Claude Desktop will install the server automatically.

### Does Fitter require a separate browser installation?

HTTP and file connectors work out of the box, but for browser-based scraping, you can set 'install': true in the playwright connector to have Fitter download the driver and browser automatically on first use.

### Can I run Fitter in a Docker container?

Yes, you can use the slim multi-arch image for stdio or hosted HTTP mode, or the playwright variant which comes with Chromium, Firefox, and WebKit preinstalled.
