io.github.daedalus/mcp-cryptography
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_symmetric_keyA | Generate a Fernet symmetric key. Returns: Base64-encoded 32-byte key suitable for Fernet encryption. Example: >>> key = generate_symmetric_key() >>> len(key) # 44 characters base64 encoded 44 |
| generate_rsa_keyA | Generate an RSA key pair. Args: key_size: Key size in bits (default 2048). Must be at least 2048. Returns: Dictionary with 'public_key' and 'private_key' in PEM format. Raises: ValueError: If key_size is less than 2048. |
| generate_x25519_keyA | Generate an X25519 key pair for key exchange. Returns: Dictionary with 'public_key' and 'private_key' in PEM format. Example: >>> keys = generate_x25519_key() >>> len(keys['public_key']) > 0 True |
| fernet_encryptA | Encrypt data using Fernet symmetric encryption. Args: key: Base64-encoded Fernet key. data: Plain text string to encrypt. Returns: Base64-encoded ciphertext. Example: >>> key = generate_symmetric_key() >>> ciphertext = fernet_encrypt(key, "Hello, World!") >>> len(ciphertext) > 0 True |
| fernet_decryptA | Decrypt Fernet ciphertext. Args: key: Base64-encoded Fernet key. ciphertext: Base64-encoded ciphertext. Returns: Decrypted plain text string. Raises: cryptography.fernet.InvalidToken: If decryption fails. |
| aes_encryptA | Encrypt data using AES. Args: key: Hex-encoded AES key (16, 24, or 32 bytes). data: String to encrypt. mode: Encryption mode - 'CBC' or 'GCM' (default CBC). Returns: Dictionary with 'ciphertext' (hex) and 'iv' (hex). Raises: ValueError: If key size is invalid. |
| aes_decryptA | Decrypt AES ciphertext. Args: key: Hex-encoded AES key. ciphertext: Hex-encoded ciphertext. iv: Hex-encoded initialization vector. mode: Encryption mode - 'CBC' or 'GCM' (default CBC). Returns: Decrypted string. Raises: ValueError: If key size is invalid. |
| rsa_encryptA | Encrypt data using RSA with OAEP asymmetric_padding. Args: public_key_pem: RSA public key in PEM format. data: String to encrypt (max ~446 bytes for 4096-bit key). Returns: Base64-encoded ciphertext. Raises: ValueError: If data is too large for the key size. |
| rsa_decryptB | Decrypt RSA ciphertext using private key. Args: private_key_pem: RSA private key in PEM format. ciphertext: Base64-encoded ciphertext. Returns: Decrypted string. |
| rsa_signA | Create RSA digital signature. Args: private_key_pem: RSA private key in PEM format. data: String to sign. Returns: Base64-encoded signature. |
| rsa_verifyA | Verify RSA digital signature. Args: public_key_pem: RSA public key in PEM format. data: Original signed data. signature: Base64-encoded signature. Returns: True if signature is valid. |
| hash_sha256A | Compute SHA-256 hash. Args: data: String or base64-encoded bytes to hash. Returns: Hex-encoded hash. Example: >>> hash_sha256("Hello, World!") 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f' |
| hash_sha512B | Compute SHA-512 hash. Args: data: String to hash. Returns: Hex-encoded hash. |
| hash_sha1A | Compute SHA-1 hash. Note: SHA-1 is considered cryptographically broken. Use only for legacy compatibility. Args: data: String to hash. Returns: Hex-encoded hash. |
| hmac_signA | Generate HMAC. Args: key: Hex-encoded key. data: String to sign. algorithm: Hash algorithm - 'sha256' or 'sha512' (default sha256). Returns: Hex-encoded HMAC. Example: >>> hmac_sign("aabbcc", "message") 'c053c4f7...' |
| hmac_verifyA | Verify HMAC. Args: key: Hex-encoded key. data: String that was signed. hmac: Hex-encoded HMAC to verify. algorithm: Hash algorithm - 'sha256' or 'sha512'. Returns: True if HMAC is valid. |
| pbkdf2_deriveA | Derive key using PBKDF2. Args: password: Password to derive from. salt: Hex-encoded salt (optional, will generate if not provided). iterations: Number of iterations (default 480000, OWASP recommended). Returns: Dictionary with 'derived_key' (hex) and 'salt' (hex). |
| scrypt_deriveA | Derive key using Scrypt. Args: password: Password to derive from. salt: Hex-encoded salt (optional, will generate if not provided). Returns: Dictionary with 'derived_key' (hex) and 'salt' (hex). |
| generate_self_signed_certA | Generate a self-signed X.509 certificate. Args: common_name: Common name for the certificate subject. organization: Organization name (optional). days_valid: Number of days the certificate is valid (default 365). Returns: Dictionary with 'certificate' (PEM) and 'private_key' (PEM). |
| parse_certificateB | Parse X.509 certificate. Args: certificate_pem: Certificate in PEM format. Returns: Dictionary with 'subject', 'issuer', 'not_valid_before', 'not_valid_after'. |
| generate_random_bytesA | Generate random bytes. Args: length: Number of bytes to generate (default 32). Returns: Hex-encoded random bytes. Example: >>> generate_random_bytes(16) 'a1b2c3d4e5f6...' |
| generate_random_base64A | Generate random bytes encoded as base64. Args: length: Number of bytes to generate (default 32). Returns: Base64-encoded random string. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/daedalus/mcp-cryptography'
If you have feedback or need assistance with the MCP directory API, please join our Discord server