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

Data Cleaner Agent

作者:wesseltlバージョン 0.1.3i★ –iパソコンで動く
レジストリ名io.github.wesseltl/data-cleaner-agent

インストール

概要

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

Clean messy CSVs: an LLM picks the steps, tested code does the work. Data untouched by the model.

PopNx MCPの3つの柱

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

できること

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

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶

インストール

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

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

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

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

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "data-cleaner-agent": {
      "command": "uvx",
      "args": [
        "agentic-csv-cleaner"
      ]
    }
  }
}

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

claude mcp add data-cleaner-agent -- uvx agentic-csv-cleaner

Cursorで開く

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

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

{
  "mcpServers": {
    "data-cleaner-agent": {
      "command": "uvx",
      "args": [
        "agentic-csv-cleaner"
      ]
    }
  }
}

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

VS Codeで開く

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

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

{
  "servers": {
    "data-cleaner-agent": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agentic-csv-cleaner"
      ]
    }
  }
}

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

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

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

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

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

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

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

検索・AIの記憶のほかのサーバーとの比較i

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

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

よくある質問

Data Cleaner Agentは安全ですか?

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

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

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

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

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

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

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

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

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

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

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

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

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT今日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT20 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT先月更新
インストール

作者のREADME

READMEを開く

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

data-cleaner-agent

Clean a messy CSV with an agentic workflow. An LLM decides *which* cleaning steps the data needs, and tested Python functions do the actual work. The model plans the cleanup, it never touches your data values, so nothing gets hallucinated or silently rewritten.

Works offline out of the box (no API key). Can be driven by an LLM, and other AI agents can call it as an MCP tool.

Before / after

Full Name , Country, Signup Date, Amount Paid          full_name    country  signup_date  amount_paid

Alice ,Netherlands,2023-01-05,"€1.200,50" Alice Netherlands 2023-01-05 1200.5 Bob,nederland,05/01/2023,"$900" ─────▶ Bob Netherlands 2023-01-05 900.0 Alice ,NL,2023-01-05,"€1.200,50" Carol Germany 2023-02-10 1000.0 Carol , Germany ,2023-02-10,1000 Dan Belgium 2023-03-01 750.0 Dan,belgie,2023/03/01,"€ 750,00"

In one pass it fixed the headers, trimmed whitespace, parsed three different date formats to ISO, turned €1.200,50 / $900 / € 750,00 into numbers, standardized the country names, and dropped the duplicate Alice row.

Install & run

pip install agentic-csv-cleaner

clean-csv messy.csv cleaned.csv # clean a file clean-csv messy.csv # or just print the result

No API key needed. The default planner is a set of offline heuristics.

The idea

An "agentic workflow" is just software with a few parts:

   look at the data   ->   planner picks the steps   ->   run the steps   ->   report

(rules, or an LLM) (tested code)

The decision that makes it safe to trust:

**The planner decides *which* tool runs on *which* column. The tools do the transformation.**

A language model is good at judgment ("this column looks like money") and bad at being a reliable

calculator. So the LLM only ever *picks* operations from a fixed set. It never reads a value and

writes back a "cleaned" one, which is where LLM data-cleaning usually goes wrong.

Two planners, one loop

PlannerWhat it isNeeds
RuleBasedPlannerOffline heuristics from a quick data profile. The default.nothing
LLMPlannerSends the profile + tool list to an LLM, gets back a JSON plan.pip install "agentic-csv-cleaner[llm]" + ANTHROPIC_API_KEY

Both return the same list of steps, so the loop is identical. You swap the brain, not the plumbing.

The log reports what each step actually did, including where a conversion could not produce a clean result (unparseable numbers/dates, unmapped categories), so a clean parse is distinguishable from a confident guess.

Use it from other code or agents

from cleaner.api import clean_csv_text

result = clean_csv_text(open("messy.csv").read()) print(result["cleaned_csv"]) print(result["steps"])

As an MCP tool (Claude Desktop)

Other AI agents can call the cleaner as a tool, so they clean a CSV properly instead of reformatting it token by token in the prompt. Three steps:

1. Install it

pip install "agentic-csv-cleaner[mcp]"

2. Add it to your client's config (Claude Desktop's config lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{

"mcpServers": { "csv-cleaner": { "command": "python", "args": ["-m", "cleaner.mcp_server"] } } }

3. Restart Claude Desktop. The agent now has a clean_csv tool that takes CSV text and returns the cleaned CSV plus a report of what it did.

Use it with other MCP clients

The same server works in any MCP client, only the config differs. The command is python -m cleaner.mcp_server.

Cursor — ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project), hot-reloads:

{ "mcpServers": { "csv-cleaner": { "command": "python", "args": ["-m", "cleaner.mcp_server"] } } }

VS Code / GitHub Copilot — .vscode/mcp.json. Note the different key (servers, not mcpServers) and the required type. Tools only run in Copilot Agent mode:

{ "servers": { "csv-cleaner": { "type": "stdio", "command": "python", "args": ["-m", "cleaner.mcp_server"] } } }

Windsurf — ~/.codeium/windsurf/mcp_config.json (create it if missing):

{ "mcpServers": { "csv-cleaner": { "command": "python", "args": ["-m", "cleaner.mcp_server"] } } }

Cline — add it from the extension's MCP settings panel in VS Code.

Understanding the report

The tool doesn't just hand back tidy data, it tells you what each step actually did, including where it couldn't get a clean result, so you can tell a clean parse from a confident guess:

- coerce_numeric(amount): all 4 value(s) parsed cleanly
  • standardize_dates(signup): 1/3 value(s) could not be parsed, set to null
  • standardize_categorical(country): 1 value(s) not in the mapping, left unchanged: ['MARS']

So instead of silently dropping a value or leaving a wrong category, it surfaces it, and you know exactly which cells to double-check.

What's in the box

cleaner/tools.py holds the transformations: snake_case_headers, strip_whitespace, coerce_numeric, standardize_dates, standardize_categorical, drop_duplicate_rows.

Take standardize_dates. 2023-01-05 (year first, month in the middle) and 05/01/2023 (day first) need opposite parsing rules, and one global setting corrupts one or the other, so the tool decides per value. Mixed dates are genuinely ambiguous, and this handles them explicitly instead of guessing.

Tests

python -m unittest discover -s tests

License

MIT.

PopNxに聞く