Skip to main content
MCP server CX Codex

Fitter — Claude Code MCP server: websites and APIs to JSON

An MCP server that has the agent write declarative scraping configs for sites and APIs, then run them right away.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env FITTER_PLUGINS=<FITTER_PLUGINS> --transport stdio fitter -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3
Open on GitHub

What Fitter does

Fitter keeps the data source and the extraction rules in one JSON or YAML config: an HTTP request, a headless browser, a file or a static value on one side, JSON paths, CSS selectors and XPath on the other. There is no code, which is why the agent can author the config itself. The server hands the model a reference for the format, a way to check a config and a way to run it, and all fetching stays on your machine.

Six tools ship with it. fitter_run takes a config as a string, fitter_run_file reads one from a local file, fitter_run_url downloads it over HTTP(S). fitter_inspect_url is the useful one: it pulls a structure outline and candidate selectors out of a page so the model stops guessing and getting nulls. Rounding it out are fitter_validate_config and fitter_config_reference.

Browser configs need Playwright. The native binary and the .mcpb bundle ship without browsers, so HTTP, file and static connectors work out of the box. Set "install": true in the playwright connector and the driver plus browser download on first use. Installing browsers ahead of time means matching the playwright-go version in go.mod exactly, because a mismatched driver refuses to run. The ghcr.io/pxyup/fitter-mcp:playwright image already carries Chromium, Firefox and WebKit.

What it helps with

  • pull JSON off a JavaScript-rendered page
  • describe a scrape in a config instead of a Python script
  • validate a config before running it and avoid null fields
  • reuse a working config as a scheduled job
  • extract API data through JSON paths without hand-written parsing

Example prompts for the agent

  • Run examples/config_morning_briefing.json with fitter and give me the briefing
  • Inspect this page with fitter and suggest selectors for the prices

How to install Fitter

Platform CLI

claude mcp add --env FITTER_PLUGINS=<FITTER_PLUGINS> --transport stdio fitter -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Fitter

How do I install Fitter in Claude Code?

Register the server with one command: claude mcp add --env FITTER_PLUGINS=<FITTER_PLUGINS> --transport stdio fitter -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3. It is then available in every project.

What does Fitter do?

It turns a website or API into structured JSON from a declarative config. The agent writes the config, checks it and runs it, while the fetching happens locally.

Does Fitter need Playwright?

Only for configs using the playwright connector. HTTP, file and static connectors run without browsers; the ghcr.io/pxyup/fitter-mcp:playwright image has them preinstalled.

Similar MCP servers

All MCP servers for Browser and scraping →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor