プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

oxml-mcp

作者:sebastienrousseauバージョン 0.0.16i★ 0iパソコンで動く
レジストリ名io.github.sebastienrousseau/oxml-mcp

インストール方法

What it does

XML tools for agents: XPath queries, inspection, and schema validation in Rust.

  • Connects パソコンで動く
  • Account or key No key needed
  • Category 開発者ツール

インストール

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

チェック 3/3 合格 · あなたのパソコンで動きます

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

先にパソコンへ Docker を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  3. この設定を貼り付けて保存

    {
      "mcpServers": {
        "oxml": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "ghcr.io/sebastienrousseau/oxml-mcp:0.0.16"
          ]
        }
      }
    }
  4. Claude を終了してもう一度開く

  5. 試してみる

    oxml-mcp を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が oxml-mcp を使っていると言うか、回答に oxml-mcp のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ oxml-mcp につなげません

oxml-mcp はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · oxml-mcp につなげるアプリを使う

  • 先にパソコンへ Docker を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • 先にパソコンへ Docker を入れてください(1 回だけ)
  • 先にパソコンへ Docker を入れてください(1 回だけ)
  • 先にパソコンへ Docker を入れてください(1 回だけ)

B · 開発者ツール の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  3. このコマンドを貼り付けて Enter

    claude mcp add --scope user oxml -- docker run -i --rm ghcr.io/sebastienrousseau/oxml-mcp:0.0.16
  4. Claude Code で /mcp と入力

    oxml-mcp が一覧にあり、接続済みと表示されれば OK です

  5. 試してみる

    oxml-mcp を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が oxml-mcp を使っていると言うか、回答に oxml-mcp のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  3. Cursor の AI チャットを Agent モードで開く

  4. 試してみる

    oxml-mcp を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が oxml-mcp を使っていると言うか、回答に oxml-mcp のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  3. VS Code の AI チャットを Agent モードで開く

  4. 試してみる

    oxml-mcp を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が oxml-mcp を使っていると言うか、回答に oxml-mcp のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?oxml-mcp を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user oxml -- docker run -i --rm ghcr.io/sebastienrousseau/oxml-mcp:0.0.16

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "oxml": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/sebastienrousseau/oxml-mcp:0.0.16"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "oxml": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/sebastienrousseau/oxml-mcp:0.0.16"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "oxml": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/sebastienrousseau/oxml-mcp:0.0.16"
      ]
    }
  }
}

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

ひと目でわかる

週あたりのダウンロードi
npm/PyPIにない
接続方法
パソコンで動く
最新バージョンi
0.0.16
レジストリ公開日i
2026年11月7日
コードの最終更新i
2026年11月8日
作者
sebastienrousseau
パッケージ
oci: ghcr.io/sebastienrousseau/oxml-mcp:0.0.16
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

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

  • ✓ 合格

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

    コードの最終更新:4 日前

  • ✓ 合格

    ライセンスがある

    Apache-2.0を使用

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

開発者ツールのほかのサーバーとの比較i

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

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

よくある質問

oxml-mcpは安全ですか?

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

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

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

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

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

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

GitHubリポジトリの最終更新は4 日前、最新バージョン(0.0.16)がレジストリに届いたのは5 日前です。

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

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

代わりに使えるものは?

同じカテゴリには:REA, GitHub, Serena MCP: the IDE for your agent

同じカテゴリのほかの候補

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

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

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

作者:morluto広く使われている↓ 38.9万/週★ 45.1万18 日前更新

パソコンで動く

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github広く使われている★ 3.4万9 日前更新

パソコンでもクラウドでも

作者のREADME

READMEを開く

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

oxml-mcp

A Model Context Protocol server that lets a model query XML instead of reading it — powered by oxml , with zero unsafe code.


Contents

Getting started

  • Why a model wants this — the problem an XML tool solves for an LLM
  • Install — Cargo, from source
  • Transports — stdio, streamable HTTP, SSE
  • Quick Start — three lines, no client required
  • Configure — Claude Desktop, and any MCP client

The oxml ecosystem

  • The oxml ecosystem — seven crates, one version

Reference

  • Tools — xml_query, xml_validate, xml_check, xml_inspect, xml_format
  • Protocol — MCP 2025-11-25 and 2026-07-28, and the two kinds of failure
  • Errors — the two kinds, and which is which
  • Design — why five tools, and why documents are strings
  • Capabilities in 0.0.16 — release inventory
  • Ecosystem comparison — how this compares to the alternatives
  • Benchmarks — latency per request, measured in pairs

Practical

  • Examples — a full session, and every error path
  • When not to use oxml-mcp
  • FAQ
  • Development
  • Security
  • Roadmap
  • Documentation
  • Acknowledgements
  • License

Why a model wants this

A client can supply XML directly as a tool argument and put only the selected results into a model prompt. count(//record) returns a count computed by the parser rather than an estimate from a pasted fragment.

The server accepts XML strings up to its strict 8 MiB source limit; it does not open paths or fetch URLs. A model constructing the complete tool argument itself still needs the XML text. The HTTP transport has its own, tighter SDK request-body limit.

The secondary argument is arithmetic. A model asked to count elements in a document it can see will approximate. xml_query with count(//record) will not.

Install

cargo install oxml-mcp --version 0.0.16 --locked

Without a Rust toolchain, the same binary ships as an image on GHCR (the MCP registry entry points at it):

docker run --rm -i ghcr.io/sebastienrousseau/oxml-mcp:0.0.16

Transports

One binary, three ways to reach it. Every server in the suite takes the same flags.

CommandTransportEndpointProtocol revisions
oxml-mcpstdiostdin and stdout2024-11-05 to 2026-07-28
oxml-mcp --transport streamable-http --host 127.0.0.1 --port 8000Streamable HTTPhttp://127.0.0.1:8000/mcp2025-11-25 and 2026-07-28
oxml-mcp --transport sse --port 8001HTTP+SSE (legacy)http://127.0.0.1:8001/sse, /messages/2024-11-05

Streamable HTTP serves both current revisions on the one endpoint: a client that sends initialize gets a session and an Mcp-Session-Id; a client that names 2026-07-28 in each request's _meta is served statelessly, with server/discover in place of the handshake. Responses stream as server-sent events, and GET /mcp opens the server-to-client stream. The SSE transport is the older one, for hosts that still expect an endpoint event and a message URL.

The HTTP transports bind the loopback interface unless --host says otherwise, and they do not authenticate. Put the server behind a gateway you trust before binding a routable address. They refuse a foreign Host or a non-local Origin with 403, and --max-sessions (64 by default) caps how many sessions they hold at once; see doc/PROTOCOL.md. --version and --help do what they say.

Quick Start

The server speaks JSON-RPC 2.0 over stdio, so three lines are enough to see it work — the handshake, then a call — and no client is required:

printf '%s\n' \

'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"me","version":"0"}}}' \ '{"jsonrpc":"2.0","method":"notifications/initialized"}' \ '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"xml_query","arguments":{"xml":" Dune ","xpath":"//title"}}}' \ | oxml-mcp | tail -n 1

{"jsonrpc":"2.0","id":2,"result":{"resultType":"complete","content":[{"type":"text","text":"Dune"}],"structuredContent":{"count":1,"values":["Dune"]},"isError":false}}

For day-to-day use you want a client to do that for you — see Configure.

Configure

Add it to your MCP client's server list. For Claude Desktop, in claude_desktop_config.json:

{

"mcpServers": { "oxml": { "command": "oxml-mcp" } } }

For Claude Code:

claude mcp add oxml -- oxml-mcp

Without arguments the server speaks JSON-RPC 2.0 over stdin and stdout, one message per line, which is what these clients expect. A client that connects over HTTP instead points at a server started with --transport streamable-http — see Transports. There is no configuration file.

The oxml ecosystem

CrateWhat it is
oxmlThe library: parser, tree, XPath 1.0
xmlschemaXSD validation
oxml-cliThe command line
oxml-wasmWebAssembly bindings
`oxml-mcp`This crate — MCP server
oxml-lspLanguage Server Protocol server
oxml-jsonJSON support for the language server

All seven ship one version number, in steps of 0.0.1.

Tools

xml_query

Evaluate an XPath 1.0 expression and return the matching values.

ArgumentType
xmlstringThe document
xpathstringAn XPath 1.0 expression
namespacesobjectOptional. Prefix-to-URI bindings for the expression
{"name":"xml_query","arguments":{"xml":"<r><t>Dune</t><t>Germinal</t></r>","xpath":"//t"}}
Dune

Germinal

One value per line. Expressions returning a number, string or boolean return that value directly, so count(//t) gives 2. Every tool also returns its answer as structuredContent, against the outputSchema it advertises — here {"count": 2, "values": ["Dune", "Germinal"]}.

xml_inspect

Summarise a document's shape: root element, maximum depth, every element name with its count, and the namespaces it uses.

{"name":"xml_inspect","arguments":{"xml":"<r><t>x</t></r>"}}
Root element: r

Maximum depth: 3 Elements: r: 1 t: 1

Call this first. A model that knows the element names can write a query that works; one that guesses writes //item against a document whose elements are called record.

xml_check

Report whether a document is well-formed, with a line and column if it is not.

{"name":"xml_check","arguments":{"xml":"<a/>"}}
The document is well-formed (2 nodes).
xml_validate

Validate against an XML Schema, returning every violation with the path to the element it concerns.

ArgumentType
xmlstringThe document
xsdstringThe schema
xml_format

Format an XML document with configurable indentation (spaces) and empty element style, or minify it.

{"name":"xml_format","arguments":{"xml":"<root><item/></root>","indent":2}}
ArgumentTypeDefault
xmlstring*(required)*The document
indentinteger0Spaces per indentation level (0 for minified)
empty_elementsstring"self-closing""self-closing" ( ), "spaced" ( ), or "expanded" ( )

Protocol

MCP over JSON-RPC 2.0, implemented by rmcp, the official Rust SDK. Two revisions are current and both are served: 2025-11-25, with an initialize handshake, and 2026-07-28, which has no handshake — each request names its revision in _meta and server/discover describes the server. Older revisions back to 2024-11-05 are accepted from a client that asks for them.

Method
initializeCapabilities, server info, the negotiated revision
server/discoverThe same, for the stateless revision
tools/listThe five tools: input schema, output schema, annotations
tools/callInvoke one
pingAnswered

Every tool is annotated read-only, idempotent and closed-world, so a client can call it without asking.

The two kinds of failure are kept apart, because MCP distinguishes them and a model only ever sees one of them.

A tool that ran and could not do the job — a malformed document, an invalid expression — is a *successful* JSON-RPC response carrying isError: true. The model sees the text and can correct itself.

A request the protocol rejects — malformed JSON, an unknown method, a request with an id but no method — is a JSON-RPC error with the standard code, or an HTTP status over HTTP. Nothing ran, and the client handles it rather than the model.

SituationReply
Malformed documentresult, isError: true
Invalid XPath expressionresult, isError: true
Schema violationresult, isError: true, with the violations as structuredContent
Missing or mistyped argumentresult, isError: true, naming the field
Unknown toolresult, isError: true, naming the five that exist
Unknown methoderror, -32601
id with no methoderror
Malformed JSONHTTP 415 over HTTP; skipped over stdio, the session continues

Errors

A malformed document is not a crash and not a protocol error:

{"name":"xml_check","arguments":{"xml":"<a>"}}
{"content":[{"text":"…not well-formed…","type":"text"}],"isError":true}

The model reads that text and can fix the document or tell the user.

Design

Five tools, not fourteen. Every tool description is in the model's context on every request. A server with twenty narrow tools spends more contex

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