npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@erickwendel/ew-customers-mcp

v0.0.13

Published

MCP server that exposes a customer CRUD API as tools for use with GitHub Copilot and other MCP-compatible agents

Readme

@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

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 |