mcpField
M
MCP Server for cryptographic hashing

MCP Server for cryptographic hashing

本地服务
github.com/kanad13开发工具579 周前更新

关于 MCP Server for cryptographic hashing

面向开发者和 AI 客户端的哈希 MCP 服务,可将文本的 MD5 和 SHA-256 计算作为工具提供。README 还包含安装说明及 MCP 学习和构建指南。

主要功能

  1. 01计算文本的 MD5 哈希
  2. 02计算文本的 SHA-256 哈希
  3. 03通过 Docker 或 Python 运行
  4. 04附带 MCP 学习与构建指南

适用场景

  1. 01通过 MCP 客户端计算文本哈希
  2. 02测试 MD5 或 SHA-256 计算
  3. 03学习如何配置 MCP 服务

MCP 相关

向 MCP 客户端提供 `calculate_md5` 和 `calculate_sha256` 工具。README 介绍了在 Claude Desktop、VS Code 及其他兼容客户端中的配置方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"MCP-Server-for-Hashing": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"kunalpathak13/hashing-mcp-server:latest"
]
}
}
}
启动命令docker run -i --rm kunalpathak13/hashing-mcp-server:latest

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocikunalpathak13/hashing-mcp-server:latest

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

用于密码学哈希的 MCP 服务

用于 MD5 和 SHA-256 哈希计算的模型上下文协议(MCP)服务。此服务可让大模型高效处理密码学请求。

可用工具

该服务提供 2 个工具:

  • calculate_md5:计算给定文本的 MD5 哈希值。
  • calculate_sha256:计算给定文本的 SHA-256 哈希值。

该服务旨在与 VS Code Copilot Chat、Claude for Desktop 等支持模型上下文协议的 MCP 客户端配合使用。

了解 MCP 并构建自己的 MCP 服务

如果你还不熟悉模型上下文协议(MCP),可以参考以下资源:

服务运行效果

下方的 GIF 展示了 MCP 服务如何处理请求并返回相应的密码学哈希值。 这里以 Claude Desktop 为例,但它同样适用于 VSCode 等其他 MCP 客户端。 MCP 服务运行效果

前置条件

  • 通过 Docker 运行: 已安装并运行 Docker。
  • 直接运行: Python 3.13+ 和虚拟环境工具(venv、uv)。
  • 参与贡献/开发: Git、Python 3.13+、uv(推荐)或 pip、Docker(可选,用于测试构建)。

选项 1:使用 Docker 运行服务(推荐)

这是运行服务最简单的方式,无需直接管理 Python 环境。

1. 获取 Docker 镜像:

  • 从 Docker Hub 拉取(最简单):

    docker pull kunalpathak13/hashing-mcp-server:latest
    

2. 配置 MCP 客户端:

配置客户端以使用 docker run。

  • VS Code(settings.json):

    // In your VS Code settings.json (User or Workspace)
    "mcp": {
        "servers": {
            "hashing-docker": { // Use a distinct name if needed
                "command": "docker",
                "args": [
                    "run",
                    "-i",      // Keep STDIN open for communication
                    "--rm",    // Clean up container after exit
                    "kunalpathak13/hashing-mcp-server:latest" // Change the tag to your version if needed e.g. "hashing-mcp-server:X.Y.Z"
                ]
            }
        }
    }
    
  • Claude Desktop(claude_desktop_config.json):

    {
    	"mcpServers": {
    		"hashing-docker": {
    			"command": "docker",
    			"args": [
    				"run",
    				"-i",
    				"--rm",
    				"kunalpathak13/hashing-mcp-server:latest" // Change the tag to your version if needed e.g. "hashing-mcp-server:X.Y.Z"
    			]
    		}
    	}
    }
    
  • 其他客户端: 请参考其文档进行调整,将 docker 用作命令,并将 run -i --rm IMAGE_NAME 用作参数。有关具体配置步骤,请参阅其官方文档:

3. 测试集成:

配置完成后,与 MCP 客户端(VS Code Chat、Claude Desktop 等)交互。提出能够触发哈希工具的问题:

  • “计算文本 ‘hello world’ 的 MD5 哈希值”
  • “字符串 ‘MCP is cool!’ 的 SHA256 哈希值是什么?”

客户端应使用你提供的命令在后台启动 Docker 容器,发送请求、接收哈希结果并将其显示出来。

选项 2:直接运行服务(Python 环境)

如果你不想使用 Docker,或是出于开发目的,请使用此方法。

1. 设置环境并安装:

# Create a dedicated directory and navigate into it
mkdir my_mcp_setup && cd my_mcp_setup

# --- Create & Activate Virtual Environment (Choose ONE method) ---
# Method A: Using uv (Recommended):
uv venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows

# Method B: Using standard venv:
# python -m venv .venv
# source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# ---

# --- Install the package (within the active venv, choose ONE method) ---
# Method A: Using uv:
uv pip install hashing-mcp-server

# Method B: Using pip:
# pip install hashing-mcp-server
# ---

2. 查找可执行文件路径:

在虚拟环境_处于激活状态_时,查找已安装脚本的完整绝对路径:

# On Linux/macOS:
which hashing-mcp-server
# Example Output: /home/user/my_mcp_setup/.venv/bin/hashing-mcp-server

# On Windows (Command Prompt/PowerShell):
where hashing-mcp-server
# Example Output: C:\Users\User\my_mcp_setup\.venv\Scripts\hashing-mcp-server.exe

复制输出中显示的完整路径。

3. 配置 MCP 客户端:

在客户端配置中使用你复制的绝对路径。

  • VS Code(settings.json):

    // In your VS Code settings.json (User or Workspace)
    "mcp": {
        "servers": {
            // You can name this key anything, e.g., "hasher" or "cryptoTools"
            "hashing": {
                // Paste the full, absolute path you copied here:
                "command": "/full/path/to/your/virtualenv/bin/hashing-mcp-server"
                // No 'args' needed when running the installed script directly
            }
        }
    }
    

    (将示例路径替换为实际路径)

  • Claude Desktop(claude_desktop_config.json):

    {
    	"mcpServers": {
    		"hashing": {
    			// Paste the full, absolute path you copied here:
    			"command": "/full/path/to/your/virtualenv/bin/hashing-mcp-server"
    		}
    	}
    }
    

    (将示例路径替换为实际路径)

  • 其他客户端:按照各自的说明操作,并将第 2 步中找到的完整绝对路径作为命令提供。

4. 测试集成:

配置完成后,使用 MCP 客户端(VS Code Chat、Claude Desktop 等)进行交互。提出能触发哈希工具的问题,例如:- “对 ‘hello world’ 使用 calculate_md5 工具。” - “计算文本 ‘MCP rocks’ 的 SHA256 哈希值。”

客户端应使用你提供的绝对路径启动服务脚本,发送请求,接收哈希结果并显示出来。

贡献 / 开发环境设置

如果你想修改服务代码或参与贡献,请按照以下步骤操作。

1. 克隆代码仓库:

git clone https://github.com/kanad13/MCP-Server-for-Hashing.git
cd MCP-Server-for-Hashing

2. 设置开发环境:

# Create & Activate Virtual Environment (using uv recommended)
uv venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows

# Install in editable mode with development dependencies
uv pip install -e ".[dev]"

(此操作会以这样的方式安装软件包:src/ 中的代码更改会立即生效,无需重新安装。它还会安装 [project.optional-dependencies.dev] 中定义的工具,例如 pytest)

3. 在开发期间于本地运行: 确保开发虚拟环境处于激活状态。你可以使用以下命令运行服务:

# Run the installed script (available due to -e flag)
hashing-mcp-server

也可以直接执行模块:

python -m hashing_mcp.cli

(你可以临时将 MCP 客户端配置为指向_此_特定开发 .venv 中的可执行文件路径,以进行集成测试)

4. 运行测试: 确保开发虚拟环境处于激活状态:

pytest

维护者任务:发布新版本

(适用于项目维护者)

发布流程(构建、测试、打标签、推送到 PyPI 和 Docker Hub)由位于代码仓库根目录的 build_and_push.sh 脚本自动完成。

运行脚本的前提条件:

  • 必须处于已激活的开发虚拟环境中(source .venv/bin/activate 或 .venv\Scripts\activate)。
  • 必须能够使用所需工具:uv(或 pip)、twine、git、docker。
  • 必须配置凭据:
    • Docker:通过 docker login 登录。
    • PyPI:通过 TWINE_USERNAME=__token__ 和 TWINE_PASSWORD=pypi-... 环境变量或 ~/.pypirc 配置生产 API 令牌。
  • 已获准推送到目标 Git 代码仓库(默认是 origin)和 Docker Hub 代码仓库(默认是 kunalpathak13/hashing-mcp-server)。

发布步骤:

  1. 确保 pyproject.toml 中的 version 字段已更新为正确的新版本号。
  2. 将所有最终代码更改提交并推送到 main 分支。
  3. 将发布脚本设为可执行文件(一次性设置):chmod +x build_and_push.sh
  4. 激活虚拟环境:source .venv/bin/activate(或等效命令)。
  5. 从代码仓库根目录运行脚本:./build_and_push.sh
  6. 脚本将执行所有步骤:构建、检查、上传到 PyPI、构建 Docker 镜像、为 Docker 镜像打标签(版本号和 latest)、推送 Docker 镜像、创建 Git 标签、推送 Git 标签。
  7. 验证 PyPI 上已发布新软件包版本,且 Docker Hub 上已有新的 Docker 标签。

许可证

本项目采用 MIT 许可证授权——详情请参见 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

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

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