项目简介

Crypto_MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)应用提供强大的加密和哈希算法工具。通过 Crypto_MCP,LLM 可以安全地执行各种加密和解密操作,以及生成消息摘要,从而扩展 LLM 在数据安全和算法处理方面的能力。

主要功能点

  • AES 加密与解密:
    • 支持 128 位 AES 算法。
    • 支持 ECB, CBC, CFB, OFB, CTR 多种加密模式。
    • 支持 Pkcs7, Iso97971, AnsiX923, Iso10126, ZeroPadding, NoPadding 多种填充模式。
    • 支持 base64 和 hex 两种输出/输入格式。
  • DES 加密与解密:
    • 支持 64 位 DES 算法。
    • 支持 ECB, CBC, CFB, OFB, CTR 多种加密模式。
    • 支持 Pkcs7, Iso97971, AnsiX923, Iso10126, ZeroPadding, NoPadding 多种填充模式。
    • 支持 base64 和 hex 两种输出/输入格式。
  • 哈希算法:
    • 支持 MD5, SHA1, SHA256, SHA384, SHA512, SHA224 等多种常用的哈希算法。

安装步骤

通过 Smithery 自动安装 (推荐 Claude Desktop 用户)

如果您使用 Claude Desktop,可以通过 Smithery 快速安装 Crypto_MCP:

  1. 确保您已安装 Smithery CLI
  2. 运行以下命令进行安装:
    npx -y @smithery/cli install @1595901624/crypto-mcp --client claude

手动安装

  1. 克隆仓库

    git clone https://github.com/1595901624/crypto-mcp.git
    cd crypto-mcp
  2. 安装依赖

    pnpm install
  3. 构建项目

    pnpm run build
  4. 配置 MCP 服务器

    对于 Claude Desktop 等 MCP 客户端,您需要在 MCP 配置文件中添加 Crypto_MCP 服务器信息。通常,配置文件是一个 JSON 文件,例如 'mcp-servers.json'。 将以下配置添加到您的 MCP 客户端配置文件中:

    {
       "mcpServers": {
        "crypto-mcp": {
          "command": "node",
          "args": ["path/to/crypto-mcp/build/index.js"],
          "disabled": false,
          "autoApprove": []
        }
      }
    }

    配置参数说明:

    • '"crypto-mcp"': 服务器名称,您可以自定义,用于在客户端中标识该服务器。
    • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时。
    • '"args": ["path/to/crypto-mcp/build/index.js"]': 命令参数,指向 'crypto-mcp' 项目构建后的入口文件 'index.js'。 请将 '"path/to/crypto-mcp"' 替换为您的 'crypto-mcp' 项目的实际路径。 例如,如果您的项目放在用户根目录下,可能需要修改为类似 '"/Users/yourusername/crypto-mcp/build/index.js"' 的路径。
    • '"disabled": false': 设置服务器是否禁用,'false' 表示启用。
    • '"autoApprove": []': 自动批准的工具列表,默认为空,表示所有工具都需要手动批准才能使用。

基本使用方法

安装并配置完成后,您的 MCP 客户端(如 Claude Desktop)应该能够连接到 Crypto_MCP 服务器并使用其提供的工具。

可用工具列表:

Crypto_MCP 提供了以下工具,您可以在 LLM 客户端中调用这些工具来执行相应的加密、解密或哈希操作。

1. AES 工具:

  • 'aes_encrypt': 使用 AES 加密文本。

    • 参数:
      • 'text' (必填): 要加密的文本。
      • 'key' (可选): 加密密钥,默认为 "your-key-0123456"。
      • 'padding' (可选): 填充模式,默认为 "Pkcs7"。
      • 'outputFormat' (可选): 输出格式,默认为 "base64"。
      • 'iv' (可选): 初始化向量,默认为 "your-iv-01234567"。
      • 'mode' (可选): 加密模式,默认为 "ECB"。
  • 'aes_decrypt': 使用 AES 解密文本。

    • 参数:
      • 'text' (必填): 要解密的文本。
      • 'key' (可选): 解密密钥,默认为 "your-key-0123456"。
      • 'padding' (可选): 填充模式,默认为 "Pkcs7"。
      • 'inputFormat' (可选): 输入格式,默认为 "base64"。
      • 'iv' (可选): 初始化向量,默认为 "your-iv-01234567"。
      • 'mode' (可选): 解密模式,默认为 "ECB"。

2. Digest 工具 (哈希算法):

  • 'md5': 计算字符串的 MD5 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。
  • 'sha1': 计算字符串的 SHA-1 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。
  • 'sha256': 计算字符串的 SHA-256 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。
  • 'sha384': 计算字符串的 SHA-384 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。
  • 'sha512': 计算字符串的 SHA-512 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。
  • 'sha224': 计算字符串的 SHA-224 哈希值。

    • 参数:
      • 'input' (必填): 要计算哈希的输入字符串。

3. DES 工具:

  • 'des_encrypt': 使用 DES 加密文本。

    • 参数:
      • 'text' (必填): 要加密的文本。
      • 'key' (可选): 加密密钥,默认为 "your-key"。
      • 'padding' (可选): 填充模式,默认为 "Pkcs7"。
      • 'outputFormat' (可选): 输出格式,默认为 "base64"。
      • 'iv' (可选): 初始化向量,默认为 "your-iv-"。
      • 'mode' (可选): 加密模式,默认为 "ECB"。
  • 'des_decrypt': 使用 DES 解密文本。

    • 参数:
      • 'text' (必填): 要解密的文本。
      • 'key' (可选): 解密密钥,默认为 "your-key"。
      • 'padding' (可选): 填充模式,默认为 "Pkcs7"。
      • 'inputFormat' (可选): 输入格式,默认为 "base64"。
      • 'iv' (可选): 初始化向量,默认为 "your-iv-"。
      • 'mode' (可选): 解密模式,默认为 "ECB"。

示例用法 (在支持 MCP 工具调用的 LLM 客户端中):

假设您想使用 SHA256 算法哈希字符串 "Hello, MCP"。您可以在 LLM 客户端中发起如下工具调用:

{
  "tool_calls": [
    {
      "id": "tool_call_123",
      "type": "function",
      "function": {
        "name": "sha256",
        "arguments": {
          "input": "Hello, MCP"
        }
      }
    }
  ]
}

LLM 客户端会将请求发送到 Crypto_MCP 服务器,服务器计算 SHA256 哈希值后返回结果,LLM 可以将结果整合到后续的对话或任务中。

请注意,默认密钥和 IV 仅为示例,在生产环境中使用时,请务必更换为更安全的密钥和初始化向量。

信息

分类

开发者工具