mcpField
R
reed-solomon-alg-mcp

reed-solomon-alg-mcp

Local
github.com/xkid1Other0Updated today

About reed-solomon-alg-mcp

reed-solomon-alg-mcp is a Rust MCP server for working with Reed-Solomon error-correcting codes over GF(256. It offers encoding, error correction, code analysis, and test error injection through focused tools.

Key features

  1. 01Systematic encoding with parity bytes
  2. 02Locate and correct byte errors
  3. 03Compute syndromes and generator polynomials
  4. 04Inspect GF(256) arithmetic
  5. 05Inject errors at chosen positions

Use cases

  1. 01Encode data with Reed-Solomon parity
  2. 02Correct corrupted codewords
  3. 03Test decoding with injected byte errors

MCP support

It exposes Reed-Solomon encoding, decoding, analysis, and GF(256) operations as MCP tools over JSON-RPC on stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

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

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/xkid1/reed-solomon-alg-mcp:0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

reed-solomon-mcp

An MCP server that encodes, decodes, and explains Reed-Solomon error-correcting codes.

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

A small Model Context Protocol server written in Rust. It speaks JSON-RPC over stdio, has a single dependency (serde_json), and implements Reed-Solomon over GF(2^8) with primitive polynomial 0x11d, alpha = 2, and generator roots alpha^0 to alpha^(nsym-1).

Features

  • Systematic encoding with any number of parity bytes (codeword length up to 255)
  • Error location and correction with Berlekamp-Massey, Chien search and Forney
  • Syndrome checks, generator polynomials and GF(256) arithmetic
  • Test helpers that corrupt chosen bytes so you can watch decoding work

Tools

ToolPurpose
rs_encodeSystematic encode; returns codeword and parity
rs_decodeCorrects up to nsym/2 byte errors; reports positions and magnitudes
rs_syndromesComputes syndromes and tells you if a word is a valid codeword
rs_generator_polynomialGenerator polynomial coefficients for a parity count
rs_code_parametersRS(n,k) capacity, rate, overhead and minimum distance
rs_inject_errorsCorrupts bytes at given positions for testing
gf256_mathadd, mul, div, pow, inverse, log, exp in GF(256)

Quick start: use the published Docker image

The server is published in the MCP Registry as io.github.xkid1/reed-solomon-alg-mcp and ships as a public image on GHCR. You only need Docker.

docker pull ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0
VS Code (agent mode)

Add to .vscode/mcp.json (or your user MCP config):

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

Add to claude_desktop_config.json:

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

Use -i, not -t: the transport needs a clean stdin/stdout pipe.

MCP Inspector
npx @modelcontextprotocol/inspector docker run -i --rm ghcr.io/xkid1/reed-solomon-alg-mcp:0.1.0
Try it

Ask your assistant: "Encode 'hello' with 8 parity bytes, corrupt 3 bytes, then decode it."

Or talk to the server by hand:

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

The encoded codeword is 48656c6c6fc0886617750e.

Build from source

Requires a recent stable Rust toolchain.

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

Point a client at the binary instead of Docker:

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

Development

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

Every pull request to main runs tests and builds first, then the code-convention checks. See CONTRIBUTING.md.

Limitations

  • Codeword length is at most 255 bytes (GF(256)).
  • Errors-only decoding: erasure decoding is not implemented.
  • Beyond parity/2 errors the decoder may return an error or silently produce a different valid codeword. This is inherent to Reed-Solomon, so add an outer checksum if you need to detect that.
  • Not a cryptographic tool: error correction gives no confidentiality or authenticity.

Project

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.