mcpField
R
reed-solomon-alg-mcp

reed-solomon-alg-mcp

ローカル
github.com/xkid1その他0今日更新

reed-solomon-alg-mcp について

reed-solomon-alg-mcpは、GF(256)上のリード・ソロモン誤り訂正符号を扱うRust製のMCPサーバーです。専用ツールで、符号化、誤り訂正、符号解析、テスト用の誤り注入を行えます。

主な機能

  1. 01パリティバイト付きの系統符号化
  2. 02バイト誤りの位置特定と訂正
  3. 03シンドロームと生成多項式の計算
  4. 04GF(256)演算の確認
  5. 05指定位置への誤り注入

活用シーン

  1. 01データをリード・ソロモン符号で符号化
  2. 02破損した符号語の訂正
  3. 03バイト誤りを注入して復号をテスト

MCP 対応

stdio上のJSON-RPCを通じて、リード・ソロモン符号の符号化、復号、解析、GF(256)演算をMCPツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xkid1-reed-solomon-alg": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/xkid1/reed-solomon-alg-mcp:0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

reed-solomon-mcp

Reed-Solomon 誤り訂正符号をエンコード、デコードし、解説する MCP サーバーです。

CI Build Test Publish Action Code Conventions PR Labeler PR Welcome Made with Rust License: MIT MCP Registry Docker image PRs welcome

Rust で記述された小規模な Model Context Protocol サーバーです。stdio 経由で JSON-RPC を使用し、依存関係は serde_json のみです。原始多項式 0x11d、alpha = 2、生成根 alpha^0 から alpha^(nsym-1) を使用して GF(2^8) 上で Reed-Solomon 符号を実装しています。

機能

  • 任意の数のパリティバイトを使用した系統符号化(符号語長は最大 255)
  • Berlekamp-Massey、Chien 検索、Forney による誤り位置の特定と訂正
  • シンドローム検査、生成多項式、GF(256) の算術演算
  • 指定したバイトを破損させ、デコードの動作を確認できるテストヘルパー

ツール

ツール目的
rs_encode系統符号化を行い、符号語とパリティを返します
rs_decode最大 nsym/2 バイトの誤りを訂正し、位置と誤りの大きさを報告します
rs_syndromesシンドロームを計算し、符号語が有効かどうかを判定します
rs_generator_polynomial指定したパリティ数に対する生成多項式の係数を返します
rs_code_parametersRS(n,k) の容量、レート、オーバーヘッド、最小距離を返します
rs_inject_errorsテスト用に、指定した位置のバイトを破損させます
gf256_mathGF(256) で加算、乗算、除算、累乗、逆元、対数、指数を計算します

クイックスタート:公開 Docker イメージを使う

このサーバーは MCP Registry に io.github.xkid1/reed-solomon-alg-mcp として公開されており、GHCR のパブリックイメージとして配布されています。Docker があれば利用できます。

docker pull ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0
VS Code(エージェントモード)

.vscode/mcp.json(またはユーザーの MCP 設定)に追加します。

{
  "servers": {
    "reed-solomon": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0"]
    }
  }
}
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "reed-solomon": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0"]
    }
  }
}

-t ではなく -i を使ってください。トランスポートには、余計なデータのない標準入力/標準出力のパイプが必要です。

MCP Inspector
npx @modelcontextprotocol/inspector docker run -i --rm ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0
試してみる

アシスタントに次のように依頼してください。「'hello' をパリティバイト 8 個で符号化し、3 バイトを破損させてから復号してください。」

または、サーバーに直接コマンドを送ります。

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"rs_encode","arguments":{"data":"Hello","parity_symbols":6}}}' \
  | docker run -i --rm ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0

符号化された符号語は 48656c6c6fc0886617750e です。

ソースからビルドする

最新の安定版 Rust ツールチェーンが必要です。

git clone https://github.com/xkid1/reed-solomon-alg-mcp.git
cd reed-solomon-alg-mcp
cargo build --release
./target/release/reed-solomon-mcp

Docker の代わりにバイナリを使うよう、クライアントを設定します。

{ "mcpServers": { "reed-solomon": { "command": "/absolute/path/to/target/release/reed-solomon-mcp" } } }

開発

cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo build --release && bash scripts/smoke-test.sh

main へのすべてのプルリクエストでは、まずテストとビルドが実行され、その後にコード規約のチェックが実行されます。CONTRIBUTING.md を参照してください。

制限事項

  • 符号語の長さは最大 255 バイトです(GF(256))。
  • 誤りのみを対象とした復号です。消失訂正には対応していません。
  • parity/2 を超える誤りがある場合、デコーダーはエラーを返すか、別の有効な符号語をエラーなく生成する可能性があります。これはリード・ソロモン符号の性質です。そのような誤りを検出する必要がある場合は、外側にチェックサムを追加してください。
  • 暗号ツールではありません。誤り訂正によって機密性や真正性が得られるわけではありません。

プロジェクト

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。