Skip to main content
Glama
tbatista86

@erickwendel/ciphersuite-mcp

by tbatista86

@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

encrypt_message

Encrypts any plain-text message with a passphrase

πŸ”§ Tool

decrypt_message

Decrypts a previously encrypted message with the same passphrase

πŸ“„ Resource

encryption://info

Returns details about the algorithm, key derivation, and output format

πŸ’¬ Prompt

encrypt_message_prompt

Pre-built prompt that asks the agent to encrypt a message

πŸ’¬ Prompt

decrypt_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 automatically

  • Output format: <IV in hex>:<ciphertext in hex> β€” keep the full string to decrypt later

  • IV: 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 engines in package.json)


Installation

npm install

No 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.json to 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 resource

The 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:inspect

This 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:dev

The test suite covers:

  • Encrypting a message

  • Decrypting a message with the correct passphrase

  • Listing and reading the encryption://info resource

  • Fetching 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.ts

Available scripts

Script

Description

npm start

Start the server (used by MCP clients)

npm run dev

Start with file-watch and Node.js inspector

npm test

Run all tests

npm run test:dev

Run tests in watch mode

npm run mcp:inspect

Open the MCP Inspector UI

Available Tools

1 tool
encrypt_messageC

Encrypts a message using a passphrase

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe message to be encrypted
encryptionKeyYesThe passphrase used for encryption

Output Schema

ParametersJSON Schema
NameRequiredDescription
encryptedMessageYesThe encrypted message (fomart: iv:ciphertext)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev0.0.1
    • First observedencrypt_message

TDQS

C2.9/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes 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 npm
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Provides 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
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Zero-dependency Web Crypto suite & Model Context Protocol (MCP) server for AES-256-GCM, RSA-4096, and AI agent security.
    11,050 npm
    29
    MIT