crypto mcp

Local 2025-08-31 23:29:09 0
Developer Tools @1595901624/crypto-mcp

A Model Context Protocol server for AES encryption and decryption, supporting various modes, padding, and input/output formats for secure data handling.


Crypto_MCP Logo

A Model Context Protocol (MCP) server for encrypting/decrypting/algorithm/hash

Version License Smithery Badge

? Description

A Model Context Protocol (MCP) server for encrypting/decrypting/algorithm/hash.

? Demo

Demo

✨ Features

  • Support AES encryption and decryption (128 bits)
  • Support mode: ECB, CBC, CFB, OFB, CTR
  • Support padding mode: Pkcs7, Iso97971, AnsiX923, Iso10126, ZeroPadding, NoPadding.
  • Support output format: base64, hex
  • Support input format: base64, hex
  • Support MD5, SHA1, SHA256, SHA384, SHA512, SHA224 algorithm
  • Support DES encryption and decryption (64 bits)
  • Support mode: ECB, CBC, CFB, OFB, CTR
  • Support padding mode: Pkcs7, Iso97971, AnsiX923, Iso10126, ZeroPadding, NoPadding.
  • Support output format: base64, hex
  • Support input format: base64, hex

? Comming Soon

  • Support more encryption and decryption algorithms

? Installation

Installing via Smithery

To install Crypto_MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @1595901624/crypto-mcp --client claude

Manual Installation

  1. Clone the Repository
git clone https://github.com/1595901624/crypto-mcp.git
  1. Install Dependencies
pnpm install
  1. Build the Project
pnpm run build
  1. Add to your Claude Desktop MCP settings file
{
   "mcpServers": {
    "crypto-mcp": {
      "command": "node",
      "args": ["path/to/crypto-mcp/build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

? Usage

Available Tools

AES

  • aes_encrypt: Encrypt text with AES parameters:

  • text: The text to encrypt (Required)

  • key: The key to encrypt the text (optional, default is your-key-0123456)
  • padding: The padding mode (optional, default is Pkcs7)
  • outputFormat: The output format (optional, default is base64)
  • iv: The initialization vector (optional, default is your-iv-01234567)
  • mode: The mode to encrypt the text (optional, default is ECB)

  • aes_decrypt: Decrypt text with AES parameters:

  • text: The text to decrypt (Required)

  • key: The key to decrypt the text (optional, default is your-key-0123456)
  • padding: The padding mode (optional, default is Pkcs7)
  • inputFormat: The input format (optional, default is base64)
  • iv: The initialization vector (optional, default is your-iv-01234567)
  • mode: The mode to decrypt the text (optional, default is ECB)

Digest

  • md5: Calculate MD5 hash of a string parameters:

  • input: The input string to hash (Required)

  • sha1: Calculate SHA-1 hash of a string parameters:

  • input: The input string to hash (Required)

  • sha256: Calculate SHA-256 hash of a string parameters:

  • input: The input string to hash (Required)

  • sha384: Calculate SHA-384 hash of a string parameters:

  • input: The input string to hash (Required)

  • sha512: Calculate SHA-512 hash of a string parameters:

  • input: The input string to hash (Required)

  • sha224: Calculate SHA-224 hash of a string parameters:

  • input: The input string to hash (Required)

DES

  • des_encrypt: Encrypt text with DES parameters:

  • text: The text to encrypt (Required)

  • key: The key to encrypt the text (optional, default is your-key)
  • padding: The padding mode (optional, default is Pkcs7)
  • outputFormat: The output format (optional, default is base64)
  • iv: The initialization vector (optional, default is your-iv-)
  • mode: The mode to encrypt the text (optional, default is ECB)

  • des_decrypt: Decrypt text with DES parameters:

  • text: The text to decrypt (Required)

  • key: The key to decrypt the text (optional, default is your-key)
  • padding: The padding mode (optional, default is Pkcs7)
  • inputFormat: The input format (optional, default is base64)
  • iv: The initialization vector (optional, default is your-iv-)
  • mode: The mode to decrypt the text (optional, default is ECB)

? Development

# Install dependencies
npm install

# Build the project
npm run build

# Development with auto-rebuild
npm run watch

? License

This project is licensed under the MIT License. See the LICENSE file for details.

[
  {
    "description": "encrypt text with aes",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "content": {
          "description": "text to encrypt and decrypt",
          "type": "string"
        },
        "iv": {
          "default": "your-iv-01234567",
          "description": "iv, default is your-iv-01234567",
          "type": "string"
        },
        "key": {
          "description": "encrypt key, default is your-key-0123456",
          "type": "string"
        },
        "mode": {
          "default": "ECB",
          "description": "mode, default is ECB",
          "type": "string"
        },
        "outputFormat": {
          "default": "base64",
          "description": "output format, default is base64",
          "enum": [
            "base64",
            "hex"
          ],
          "type": "string"
        },
        "padding": {
          "default": "Pkcs7",
          "description": "padding mode, default is Pkcs7",
          "enum": [
            "Pkcs7",
            "Iso97971",
            "AnsiX923",
            "Iso10126",
            "ZeroPadding",
            "NoPadding"
          ],
          "type": "string"
        }
      },
      "required": [
        "content"
      ],
      "type": "object"
    },
    "name": "aes_encrypt"
  },
  {
    "description": "decrypt text with aes",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "content": {
          "description": "text to encrypt and decrypt",
          "type": "string"
        },
        "inputFormat": {
          "default": "base64",
          "description": "input format, default is base64",
          "enum": [
            "base64",
            "hex"
          ],
          "type": "string"
        },
        "iv": {
          "description": "iv, default is your-iv-01234567",
          "type": "string"
        },
        "key": {
          "description": "decrypt key, default is your-key-0123456",
          "type": "string"
        },
        "mode": {
          "default": "ECB",
          "description": "mode, default is ECB",
          "enum": [
            "ECB",
            "CBC",
            "CFB",
            "OFB",
            "CTR"
          ],
          "type": "string"
        },
        "padding": {
          "default": "Pkcs7",
          "description": "padding mode, default is Pkcs7",
          "enum": [
            "Pkcs7",
            "Iso97971",
            "AnsiX923",
            "Iso10126",
            "ZeroPadding",
            "NoPadding"
          ],
          "type": "string"
        }
      },
      "required": [
        "content"
      ],
      "type": "object"
    },
    "name": "aes_decrypt"
  },
  {
    "description": "Calculate MD5 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "md5"
  },
  {
    "description": "Calculate SHA-1 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "sha1"
  },
  {
    "description": "Calculate SHA-256 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "sha256"
  },
  {
    "description": "Calculate SHA-384 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "sha384"
  },
  {
    "description": "Calculate SHA-512 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "sha512"
  },
  {
    "description": "Calculate SHA-224 hash of a string",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The input string to hash",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "name": "sha224"
  },
  {
    "description": "encrypt text with des",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "content": {
          "description": "text to encrypt",
          "type": "string"
        },
        "iv": {
          "default": "your-iv-",
          "description": "initialization vector, default is your-iv-",
          "type": "string"
        },
        "key": {
          "description": "encryption key, default is your-key",
          "type": "string"
        },
        "mode": {
          "default": "ECB",
          "description": "mode, default is ECB",
          "type": "string"
        },
        "outputFormat": {
          "default": "base64",
          "description": "output format, default is base64",
          "enum": [
            "base64",
            "hex"
          ],
          "type": "string"
        },
        "padding": {
          "default": "Pkcs7",
          "description": "padding mode, default is Pkcs7",
          "enum": [
            "Pkcs7",
            "Iso97971",
            "AnsiX923",
            "Iso10126",
            "ZeroPadding",
            "NoPadding"
          ],
          "type": "string"
        }
      },
      "required": [
        "content"
      ],
      "type": "object"
    },
    "name": "des_encrypt"
  },
  {
    "description": "decrypt text with des",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "content": {
          "description": "text to decrypt",
          "type": "string"
        },
        "inputFormat": {
          "default": "base64",
          "description": "input format, default is base64",
          "enum": [
            "base64",
            "hex"
          ],
          "type": "string"
        },
        "iv": {
          "default": "your-iv-",
          "description": "initialization vector, default is your-iv-",
          "type": "string"
        },
        "key": {
          "description": "decryption key, default is your-key",
          "type": "string"
        },
        "mode": {
          "default": "ECB",
          "description": "mode, default is ECB",
          "enum": [
            "ECB",
            "CBC",
            "CFB",
            "OFB",
            "CTR"
          ],
          "type": "string"
        },
        "padding": {
          "default": "Pkcs7",
          "description": "padding mode, default is Pkcs7",
          "enum": [
            "Pkcs7",
            "Iso97971",
            "AnsiX923",
            "Iso10126",
            "ZeroPadding",
            "NoPadding"
          ],
          "type": "string"
        }
      },
      "required": [
        "content"
      ],
      "type": "object"
    },
    "name": "des_decrypt"
  }
]