哈希计算服务

一个提供MD5和SHA-256哈希计算功能的MCP服务器,用于高效处理加密请求。

  • by kanad13
  • Shell
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 kanad13/MCP-Server-for-Hashing

使用说明

用于加密哈希的MCP服务器

用于MD5和SHA-256哈希的模型上下文协议(MCP)服务器。此服务器使LLM能够高效地处理加密请求。

可用工具

服务器提供2个工具:

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

该服务器设计用于MCP客户端,如VS Code Copilot Chat、Claude for Desktop和其他支持 模型上下文协议.

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

如果您对模型上下文协议(MCP)的概念不熟悉,那么您可以使用以下资源:

服务器正在运行

下面的gif显示了MCP服务器如何处理请求并返回相应的加密哈希。 我以Claude Desktop为例,但它与VSCode等其他MCP客户端同样适用。

先决条件

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

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

这是在不直接管理Python环境的情况下运行服务器的最简单方法。

1.获取Docker镜像:

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

    docker pull kunalpathak13/hashing-mcp-server:latest
    

2.配置您的MCP客户端:

配置您的客户端以使用 docker run.

  • VS代码(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_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很酷!’的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代码(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_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:通过配置的生产API令牌 TWINE_USERNAME=__token__ 和 TWINE_PASSWORD=pypi-... 环境变量或 ~/.pypirc.
  • 向目标Git存储库授予推送访问权限(origin 默认情况下)和Docker Hub存储库(kunalpathak13/hashing-mcp-server 默认情况下)。

释放步骤:

  1. 确保 version 字段在 pyproject.toml 已更新为正确的新版本号。
  2. 将任何最终代码更改提交并推送到主分支。
  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标签是否在Docker Hub上可用。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢