プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Fitter

作者:PxyUpバージョン 1.8.3i★ –iパソコンで動く
レジストリ名io.github.PxyUp/fitter

インストール

概要

作者による説明(英語の原文)

Turn any website or API into structured JSON with LLM-authored declarative scraping configs.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: ウェブ・ブラウザ

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

必要なもの

  • DockerDockerのインストール

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

作者の .mcpb ファイルをダウンロード

リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。

ターミナルでこれを実行します

claude mcp add fitter --env FITTER_PLUGINS=your-value -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "fitter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "FITTER_PLUGINS",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ],
      "env": {
        "FITTER_PLUGINS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "fitter": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "FITTER_PLUGINS",
        "ghcr.io/pxyup/fitter-mcp:v1.8.3"
      ],
      "env": {
        "FITTER_PLUGINS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • FITTER_PLUGINS env
    Optional path to a fitter plugins folder

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント PxyUp で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

ウェブ・ブラウザのほかのサーバーとの比較i

  • このカテゴリのほかの1378件のうち0%よりスターが多い
  • このカテゴリのほかの1378件のうち27%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1378件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Fitterは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.8.3)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPB, Dockerも必要です。

代わりに使えるものは?

同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Browser Use

作者:browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

パソコンでもクラウドでも★ 120,087MIT18 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Fitter — web data for AI agents

Fitter turns any website or API into structured JSON — declaratively. One JSON/YAML config describes where the data lives (HTTP request, headless browser, file, static value) and what to extract (JSON paths, CSS selectors, XPath). No code, no brittle scraping scripts.

🚀 [Try it in your browser](https://pxyup.github.io/fitter/) — the real engine compiled to WebAssembly: live examples, a visual config builder, no install.

Because configs are plain data, LLMs can author them. The built-in MCP server lets Claude Code, Claude Desktop, or any MCP client write and run scraping pipelines on your machine, on demand:

*"Get the top 5 HackerNews stories with titles and scores"* → the model authors a fitter config, validates it, runs it locally, and gets clean JSON back.

One engine, five ways to use it:

🤖 Fitter MCPMCP server exposing fitter to Claude Code, Claude Desktop and any MCP client
🧠 Fitter AgentAI-powered CLI: natural language → config → executed result
🖥 Fitter CLIrun configs locally for test/debug/home usage
📦 Fitter Libembed the engine in your own Go program
⚙️ Fitterlong-running service mode with scheduling & notifications

Why fitter for AI agents?

  • Declarative & auditable — the agent produces a config you can read, save and re-run, not throwaway code
  • Local-first — all fetching happens on your machine; no third-party scraping API, no keys, no per-request billing
  • Batteries included — HTTP client, headless browser (Playwright/Chromium/Docker), JSON/HTML/XML/XPath/PDF parsing, pagination, cached references, host rate-limits — in a single static binary
  • Reusable — what the agent authored today becomes tomorrow's cron job or service config

How to use Fitter_MCP

Fitter MCP is a Model Context Protocol server (stdio transport) which lets any MCP client — Claude Code, Claude Desktop, IDE assistants, custom agents — run Fitter configs and get structured JSON back.

Quick start (Claude Desktop — one click)

Download fitter-mcp- - .mcpb from the release page and open it — Claude Desktop installs the server automatically.

Quick start (Claude Code)
# 1. get the binary: download fitter_mcp_<version>-<os>-<arch> from the release page

https://github.com/PxyUp/fitter/releases — or build it from source:

go build -o fitter_mcp ./cmd/mcp

2. register it once, available in every project

claude mcp add fitter -s user -- "$(pwd)/fitter_mcp"

Then just ask:

*Get the top 5 HackerNews stories with titles and scores using fitter*

The model calls fitter_config_reference, authors a config, optionally checks it with fitter_validate_config and executes it via fitter_run — all data fetching happens locally on your machine. For a ready-made pipeline try examples/config_morning_briefing.json:

*Run examples/config_morning_briefing.json with fitter and give me the briefing*

Register in Claude Desktop
{

"mcpServers": { "fitter": { "command": "/path/to/fitter_mcp" } } }

Browser support (Playwright)

The .mcpb bundle and native binary ship without browsers: HTTP, static and file connectors work out of the box, but browser configs (the playwright connector) need Playwright's browsers. A few ways to get them:

  • On first use (native binary / `.mcpb`): set "install": true in the playwright connector — fitter downloads the driver + browser matching its built-in playwright-go version on first use (one-time, cached), so no separate install step is needed.
  • Ahead of time (native, optional): to avoid the first-run download, install the browsers beforehand with the same playwright-go version fitter is built against (check go.mod, currently v0.6100.0):
  go run github.com/mxschmitt/playwright-go/cmd/playwright@v0.6100.0 install

Linux: append --with-deps to also install the required OS libraries

  The version must match `go.mod` exactly — `playwright-go` refuses to run against a mismatched driver. Then run configs without `"install": true`.
  • Docker: use the ghcr.io/pxyup/fitter-mcp:playwright image, which bundles Chromium, Firefox and WebKit preinstalled (no "install": true needed).
Tools
ToolDescription
fitter_runRun a Fitter config passed inline (JSON or YAML string) and return the extracted data as JSON. Accepts an optional input value available in the config via {{{FromInput=.}}} / {{{FromInput=json.path}}}
fitter_run_fileSame as fitter_run but reads the config from a local .json/.yaml file
fitter_run_urlSame as fitter_run but downloads the config from an HTTP(S) URL, e.g. a raw GitHub link
fitter_inspect_urlFetch a URL and return a compact structure outline + candidate selectors/paths (gjson paths for JSON; repeated-element/list-row selectors for HTML) so the model authors a config first-try instead of guessing selectors and getting nulls. Detects client-rendered SPAs and can render them in a headless browser. Read-only — does not extract
fitter_validate_configValidate a config without executing it (structure, response_type, connector data source, model). Useful while iterating on a config
fitter_config_referenceReturn a condensed reference of the whole config format (connectors, parsers, model/field schema, placeholders, notifiers, references, limits) with working examples, so the model can author configs without external docs

The reference is also exposed as MCP resource fitter://config-reference for clients that support resources.

The config format is exactly the same as for Fitter_CLI: a top-level object with item (required), limits and references. Notifiers work too (the result is additionally pushed to http/telegram/redis/file/console); trigger_config and http_server are service-mode only and are ignored in MCP calls.

Remote / hosted mode (streamable HTTP)

By default fitter_mcp talks stdio. Pass --http to serve the streamable HTTP transport instead — for a shared team server, a container, or any remote deployment:

# serve MCP at http://<host>:8080/mcp (health probe at /healthz)

FITTER_MCP_AUTH_TOKEN=my-secret fitter_mcp --http :8080

register the remote endpoint in Claude Code

claude mcp add --transport http fitter http://localhost:8080/mcp --header "Authorization: Bearer my-secret"

  • --http (env FITTER_MCP_HTTP_ADDR) — listen address; stdio mode when empty
  • FITTER_MCP_AUTH_TOKEN — when set, every /mcp request must send Authorization: Bearer ; without it the endpoint is unauthenticated, so bind to localhost or put it behind a proxy
  • --stateless (env FITTER_MCP_STATELESS=true) — no per-session state, so replicas can sit behind a load balancer without sticky sessions
  • --metrics-addr (env FITTER_MCP_METRICS_ADDR) — serve Prometheus metrics on a separate address (e.g. 127.0.0.1:9091); works in stdio mode too; empty disables. Exposes MCP request counts by method, tool call durations by tool and outcome, and outbound HTTP request durations by host, method and status. The endpoint is unauthenticated — bind it to localhost or a private interface

The server shuts down gracefully on SIGINT/SIGTERM.

Docker

A slim multi-arch image (linux/amd64 + linux/arm64) ships with every release:

# hosted HTTP mode

docker run --rm -p 8080:8080 \ -e FITTER_MCP_HTTP_ADDR=:8080 \ -e FITTER_MCP_AUTH_TOKEN=my-secret \ ghcr.io/pxyup/fitter-mcp:latest

or stdio mode, spawned by the MCP client

claude mcp add fitter -s user -- docker run --rm -i ghcr.io/pxyup/fitter-mcp:latest

The slim image contains only the fitter binary and CA certificates: server/static/file connectors work, browser connectors (chromium/docker/playwright) do not.

For browser-based configs use the playwright variant, which bundles Playwright with Chromium, Firefox and WebKit (matched to the playwright-go version fitter is built against, so no "install": true is needed in configs):

docker run --rm -i ghcr.io/pxyup/fitter-mcp:playwright        # stdio mode

per-release tag: ghcr.io/pxyup/fitter-mcp:vX.Y.Z-playwright

It is built from Dockerfile.mcp-playwright; build with --build-arg PLAYWRIGHT_BROWSERS=chromium for a smaller Chromium-only image.

OAuth2 accounts in Docker

Both images ship fitter_cli, so the one-time OAuth2 login can run inside the container. Store the token on a volume mounted at /tokens (pre-created writable in the image) and share it with the MCP server:

# one-time login, device flow: no ports needed — open the printed url on any device

docker run --rm -it -v fitter-tokens:/tokens --entrypoint fitter_cli \ ghcr.io/pxyup/fitter-mcp:latest \ auth --provider github --client-id --client-secret --token-file /tokens/github.json

or browser flow (device flow not enabled for the app): publish the callback port and

bind on 0.0.0.0 so the published port reaches the listener; the browser still visits 127.0.0.1

docker run --rm -it -p 8988:8988 -e FITTER_AUTH_LISTEN=0.0.0.0 \ -v fitter-tokens:/tokens --entrypoint fitter_cli ghcr.io/pxyup/fitter-mcp:latest \ auth --provider github --client-id --client-secret --token-file /tokens/github.json

then run the MCP server with the same volume; configs reference "token_file": "/tokens/github.json"

stdio mode (spawned by the MCP client, no port):

docker run --rm -i -v fitter-tokens:/tokens ghcr.io/pxyup/fitter-mcp:latest

hosted HTTP mode (MCP endpoint on 8080, like the run examples above):

docker run --rm -p 8080:8080 -v fitter-tokens:/tokens \ -e FITTER_MCP_HTTP_ADDR=:8080 \ -e FITTER_MCP_AUTH_TOKEN=my-secret \ ghcr.io/pxyup/fitter-mcp:latest

Note: 8988 is only for the one-time browser-flow login; the MCP server itself needs no port in stdio mode and only 8080 in hosted HTTP mode.

Logged-in browser sessions in Docker

Browser sessions need the playwright image (the slim one has no browsers). The one-time headed login needs a display, so run it on the host, then bind-mount the session dir into the container (the image pre-creates a writable /sessions):

# on the host: log in once, save the session

fitter_cli browser-login --url https://example.com/login --storage-state ~/.fitter/sessions/example.json

run the MCP server with the sessions dir mounted; configs reference "storage_state_file": "/sessions/example.json"

docker run --rm -i -v ~/.fitter/sessions:/sessions ghcr.io/pxyup/fitter-mcp:playwright

Use a bind mount (not

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く