@erickwendel/ciphersuite-mcp
Click on "Install 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 'key123'"
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: Vibe Coder 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 |
serverMCP
Available Tools
2 toolsdecrypt_messageA
Decrypt a message that was encrypted with the encrypt_message tool
| Name | Required | Description | Default |
|---|---|---|---|
| encryptionKey | Yes | The same passphrase used during encryption | |
| encryptedMessage | Yes | The encrypted message (format: iv:ciphertext) |
Output Schema
| Name | Required | Description |
|---|---|---|
| decryptedMessage | Yes | The decrypted plain-text message |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states the function without disclosing behavioral traits like failure conditions, security implications, or side effects.
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?
A single, concise sentence that completely captures the tool's purpose with no extraneous information.
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?
Given the simple two-parameter tool and presence of an output schema, the description is sufficient but could briefly mention error handling or prerequisites.
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 coverage is 100% and parameters have adequate descriptions. The tool description does not add extra meaning beyond what is in the schema.
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 verb 'Decrypt' and the resource 'a message', and explicitly distinguishes from its sibling tool 'encrypt_message' by referring to it.
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?
The description implies usage context by defining the tool as the counterpart to 'encrypt_message', but does not explicitly state when to use versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encrypt_messageC
Encrypt a message
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message to encrypt | |
| encryptionKey | Yes | Any passphrase to use for encryption — the server derives a strong key from it automatically |
Output Schema
| Name | Required | Description |
|---|---|---|
| encryptedMessage | Yes | The encrypted message (format: iv:ciphertext) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions encryption but lacks details about algorithm, reversibility, or side effects. For a security-critical operation, this is insufficient.
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 very short (one sentence) and front-loaded, but it does not add value beyond the title. It is concise but not substantive.
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 exists but is not described. The description omits return format, encryption algorithm, and any behavioral traits. Given low complexity, more detail is expected.
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 coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema already provides for the parameters.
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 action and resource: 'Encrypt a message'. It is specific but lacks differentiation from the sibling 'decrypt_message', though the contrast is obvious.
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 provided on when to use this tool versus alternatives. The sibling 'decrypt_message' exists but is not mentioned in the description, leaving the agent to infer usage context.
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. Dates show when Glama detected each change.
2 tool updates
v0.0.1- First observed
decrypt_message - First observed
encrypt_message
TDQS
The two tools, encrypt_message and decrypt_message, have clearly distinct and mutually exclusive purposes with no overlap. An agent can easily distinguish between encryption and decryption operations.
Both tool names follow a consistent verb_noun pattern (encrypt_message, decrypt_message), using the same noun 'message' and complementary verbs. The naming is uniform and predictable.
With only 2 tools, the server is minimal but appropriate for a focused encryption/decryption purpose. However, the count feels slightly thin as additional tools like key management or algorithm selection might be expected in a complete ciphersuite.
The tool set covers the core encryption and decryption operations, but lacks supporting functionality such as key generation, algorithm selection, or message signing. This limits the server's utility for more complex workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysis
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
An MCP server that integrates with Discord to provide AI-powered features.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that analyzes codebases and generates contextual prompts, making it easier for AI assistants to understand and work with code repositories.19MIT
- AlicenseBqualityCmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1167101MIT
- FlicenseAqualityDmaintenanceAn MCP server that enables AI coding tools to save, list, and read code snippets as files in the local filesystem.3-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides CVE-driven security prompts for code review, enabling coding agents to get actionable security checks based on real vulnerabilities.MIT
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/lucasmetron/serverMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server