@erickwendel/ciphersuite-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@erickwendel/ciphersuite-mcpEncrypt 'Hello World' with passphrase 'secret-key'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@erickwendel/ciphersuite-mcp
An MCP (Model Context Protocol) server that provides AES-256-CBC encryption and decryption tools, a resource describing the algorithm, and ready-to-use prompts β all runnable directly inside VS Code Copilot Chat.
What it does
Capability | Name | Description |
π§ Tool |
| Encrypts any plain-text message with a passphrase |
π§ Tool |
| Decrypts a previously encrypted message with the same passphrase |
π Resource |
| Returns details about the algorithm, key derivation, and output format |
π¬ Prompt |
| Pre-built prompt that asks the agent to encrypt a message |
π¬ Prompt |
| Pre-built prompt that asks the agent to decrypt a message |
How encryption works
Algorithm: AES-256-CBC
Key derivation:
scrypt(passphrase, fixedSalt, 32)β you pass any passphrase string; the server derives a strong 32-byte key automaticallyOutput format:
<IV in hex>:<ciphertext in hex>β keep the full string to decrypt laterIV: a fresh random 16-byte IV is generated on every encryption call, so the same message encrypted twice produces different output
Related MCP server: vault-mcp
Prerequisites
Node.js v24+ (see
enginesinpackage.json)
Installation
npm installNo build step is needed β the server runs TypeScript directly via Node.js native TypeScript support.
Using in VS Code
1. Add the MCP server configuration
Create (or open) .vscode/mcp.json in your workspace and add:
{
"servers": {
"ciphersuite-mcp": {
"command": "node",
"args": ["--experimental-strip-types", "ABSOLUTE_PATH_TO_PROJECT/src/index.ts"]
}
}
}or via npm
{
"servers": {
"ciphersuite-mcp": {
"command": "npx",
"args": ["-y", "@erickwendel/ciphersuite-mcp"]
}
}
}Tip: You can also add this server to your user-level MCP config at
~/.vscode/mcp.jsonto make it available in every workspace.
2. Reload VS Code
Open the Command Palette (Cmd+Shift+P) and run Developer: Reload Window (or just restart VS Code).
3. Use it in Copilot Chat
Open Copilot Chat (Agent mode) and try:
Encrypt the message "Hello, World!" using the passphrase "my-secret-key"Decrypt this message: a3f1...:<ciphertext> using the passphrase "my-secret-key"Show me the encryption://info resourceThe agent will automatically call the appropriate tool and return the result.
Running the MCP Inspector
The MCP Inspector lets you explore and test all tools, resources, and prompts interactively in a browser UI:
npm run mcp:inspectThis opens the inspector at http://localhost:5173 and connects it to the running server.
Running tests
# Run all tests once
npm test
# Run tests in watch mode (with debugger)
npm run test:devThe test suite covers:
Encrypting a message
Decrypting a message with the correct passphrase
Listing and reading the
encryption://inforesourceFetching both prompts
Error: decrypting with the wrong passphrase
Error: decrypting a malformed ciphertext
Project structure
src/
index.ts # Entry point β connects the server to stdio transport
mcp.ts # All tools, resources, and prompts are registered here
tests/
mcp.test.tsAvailable scripts
Script | Description |
| Start the server (used by MCP clients) |
| Start with file-watch and Node.js inspector |
| Run all tests |
| Run tests in watch mode |
| Open the MCP Inspector UI |
Available Tools
1 toolencrypt_messageC
Encrypts a message using a passphrase
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message to be encrypted | |
| encryptionKey | Yes | The passphrase used for encryption |
Output Schema
| Name | Required | Description |
|---|---|---|
| encryptedMessage | Yes | The encrypted message (fomart: iv:ciphertext) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not explain what happens to the input, the output format, or any side effects. It also does not clarify that the encryption is symmetric and requires the same key for decryption, nor mention cryptographic details that an agent might need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and gets to the point. It is appropriately sized, though it could include more useful details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema is present, so the description need not explain return values. However, for a security-sensitive operation like encryption, more context is needed, such as algorithm details, key handling, or potential pitfalls. The description is minimal but not inadequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented in the schema. The description adds minimal semantics beyond the schemaβit clarifies that 'encryptionKey' is a passphrase, which aligns with the schema's description. However, it doesn't provide additional context like key length or format requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: encrypts a message using a passphrase, with specific verb 'encrypts' and resource 'message'. It distinguishes from potential siblings by focusing on encryption, though no siblings are provided to compare against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, or any context such as typical use cases, prerequisites, or security considerations. The description simply states the action without indicating when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.0.1- First observed
encrypt_message
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap with other tools. The tool's purpose is clearly defined as encrypting a message with a passphrase.
The single tool name 'encrypt_message' follows a clear verb_noun pattern, which is consistent. However, with only one tool, there is no broader pattern to evaluate, so a perfect score is not fully justified.
A single tool for a 'ciphersuite' server is extremely thin. A cipher suite typically involves encryption, decryption, key management, and possibly hashing, so one tool feels inadequate for the stated domain.
The server only supports encryption, leaving out decryption, key generation, and other essential operations. This is a severely incomplete surface for a cipher suite, as users cannot reverse the operation or manage keys.
Maintenance
Related MCP Connectors
Production-grade cryptography toolkit with 31 MCP tools for classical, PQC, and KMS workflows.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Shared memory and actions for Claude, Kiro, OpenAI, Cursor, and other MCP-compatible AI clients.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Related MCP Servers
- FlicenseBqualityBmaintenanceProvides file system tools, code analysis prompts, async tasks, and secure HTTP transport following the 2025-03-26 MCP specification.15-
- AlicenseNot gradedqualityDmaintenanceExposes OS keychain or AES-256-GCM encrypted file secrets as MCP tools, allowing reading, setting, and listing secrets without exposing values in conversation messages.5 npmMIT
- FlicenseAqualityCmaintenanceProvides AES-256-CBC encryption and decryption tools, a resource for algorithm details, and prompts for encrypting and decrypting messages, all runnable inside VS Code Copilot Chat.2-
- AlicenseNot gradedqualityAmaintenanceZero-dependency Web Crypto suite & Model Context Protocol (MCP) server for AES-256-GCM, RSA-4096, and AI agent security.11,050 npm29MIT