mcpField
R
reed-solomon-alg-mcp

reed-solomon-alg-mcp

本地服务
github.com/xkid1其他0今天更新

关于 reed-solomon-alg-mcp

reed-solomon-alg-mcp 是一款用 Rust 编写的 MCP 服务,用于处理 GF(256) 上的 Reed-Solomon 差错纠正码。它通过专用工具提供编码、纠错、代码分析和错误注入测试。

主要功能

  1. 01带校验字节的系统编码
  2. 02定位并纠正字节错误
  3. 03计算伴随式和生成多项式
  4. 04检查 GF(256) 算术
  5. 05在指定位置注入错误

适用场景

  1. 01为数据编码并添加 Reed-Solomon 校验
  2. 02纠正受损码字
  3. 03通过注入字节错误测试解码

MCP 相关

它通过 stdio 上的 JSON-RPC,将 Reed-Solomon 编码、解码、分析和 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 编写的小型模型上下文协议服务。它通过标准输入/输出传输 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_math在 GF(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(Agent 模式)

添加到 .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"]
    }
  }
}

使用 -i,不要使用 -t:传输需要干净的 stdin/stdout 管道。

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

向助手提问:"用 8 个校验字节对 'hello' 进行编码,篡改 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 时,解码器可能返回错误,也可能静默地产生另一个有效码字。这是 Reed-Solomon 固有的特性;如果需要检测这种情况,请添加外层校验和。
  • 这不是加密工具:纠错不提供机密性或真实性。

项目

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。