AgentStack
MCP unreviewed MIT Self-run

Vnsh

mcp-raullenchai-vnsh · by raullenchai

The Ephemeral Dropbox for AI. Host-blind, client-side encrypted sharing for logs, diffs, and images. Vaporizes in 24h.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add mcp-raullenchai-vnsh

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Vnsh? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

vnsh

The Ephemeral Dropbox for AI

Website • Quick Start • How It Works • Self-Hosting • API


What is vnsh?

Stop pasting walls of text into Claude. Pipe your logs, diffs, and images into a secure, host-blind URL. The server sees nothing. The data vaporizes in 24 hours.

# Pipe anything to vnsh, get a secure link
git diff | vn
# https://vnsh.dev/v/aBcDeFgHiJkL#R_sI4DHZ_6jNq6yqt2ORRDe9QZ5xQB6hIRLWHVFa8v8

Handles any context your AI needs:

  • 🖼️ Screenshots — UI bugs, error dialogs, terminal output
  • 📜 Logs — 5000+ lines of server errors (too long for copy-paste)
  • 🔄 Git Diffs — Complex PR reviews, multi-file changes
  • 📦 Binaries — PDFs, CSVs, config files, database dumps
  • 🔧 Debug Context — Stack traces, environment dumps, crash reports

Philosophy

> "Built for the ephemeral nature of AI workflows. Once your session is done, the data should be too."

Unlike Dropbox or pastebins, vnsh implements a Host-Blind Architecture with automatic vaporization:

| Layer | What Happens | |-------|--------------| | Encryption | AES-256-CBC encryption happens entirely on your device | | Transport | Decryption keys travel only in the URL fragment (#secret) — never sent to servers | | Storage | Server stores encrypted binary blobs — host-blind, no access to contents | | Vaporization | Data vaporizes after 24 hours. No history. No leaks. |

Quick Start

Option 1: Web Upload

Visit vnsh.dev, drag & drop a file, or paste text. Get an encrypted link instantly.

Option 2: CLI Installation

Zero-install (just run it):

echo "hello" | npx vnsh

NPM (global install):

npm install -g vnsh

Shell script (cross-platform: macOS, Linux, WSL, Git Bash):

curl -sL https://vnsh.dev/i | sh

CLI Usage

# Upload a file
vn secrets.env

# Pipe from stdin
cat crash.log | vn
docker logs app | vn
git diff HEAD~5 | vn

# Read/decrypt a URL
vn read "https://vnsh.dev/v/aBcDeFgHiJkL#R_sI4DHZ..."

# Custom expiry (1-168 hours)
vn --ttl 1 temp-file.txt   # expires in 1 hour

# Show version and help
vn --version
vn --help

Option 3: Claude Code (MCP Integration)

Native to Claude Code. Unlike Dropbox, vnsh has a first-party MCP server. Claude can "see" inside your encrypted links without leaving the terminal.

Create .mcp.json in your project root:

{
  "mcpServers": {
    "vnsh": {
      "command": "npx",
      "args": ["-y", "vnsh-mcp"]
    }
  }
}

Restart Claude Code after adding the config. Now Claude can:

  • Read vnsh links automatically when you paste them
  • Share large text outputs via vnsh_share tool
  • Share files (images, PDFs, binaries) via vnsh_share_file tool

Option 4: Zero-Install (Remote Servers)

No installation needed. Pipe anything from any server with just curl and openssl:

# One-liner: encrypt and upload from any machine
cat error.log | bash &1 | bash  🔍 **Debug with Claude**
>
> CI logs uploaded securely. [View Logs](https://vnsh.dev/v/...) | Paste link to Claude for instant analysis

See [upload-to-vnsh](https://github.com/raullenchai/upload-to-vnsh) for full documentation.

## How It Works

┌──────────────────────────────────────────────────────────────────────────┐ │ YOUR DEVICE │ │ ┌─────────┐ ┌──────────────┐ ┌─────────────────────────────────┐ │ │ │ Data │───▶│ AES-256-CBC │───▶│ Encrypted Blob + URL Fragment │ │ │ └─────────┘ │ Encryption │ │ https://vnsh.dev/v/id#k=... │ │ │ └──────────────┘ └─────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────────┘ │ Only encrypted blob sent to server (key stays in URL fragment, never transmitted) ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ VNSH SERVER (BLIND) │ │ │ │ Receives: [encrypted binary blob] │ │ Stores: [encrypted binary blob] │ │ Knows: upload time, size, expiry │ │ Cannot: decrypt, identify content type, read keys │ │ │ └──────────────────────────────────────────────────────────────────────────┘


### URL Structure (v2 — compact format)

https://vnsh.dev/v/aBcDeFgHiJkL#RsI4DHZ6jNq6yqt2ORRDe9QZ5xQB6hIRLWHVFa8v8jYCFqgQIbsRJrtJze_nL5 └────────────┘└────────────────────────────────────────────────────────────────────┘ 12-char ID 64-char base64url secret (key+iv, never sent to server)


The v2 format reduces URL length by ~40% (from ~160 to ~95 characters). Legacy v1 URLs (`#k=...&iv=...`) are still fully supported.

## Self-Hosting

vnsh runs on Cloudflare Workers with R2 storage. Deploy your own instance:

### Prerequisites
- [Cloudflare account](https://cloudflare.com) with Workers & R2 enabled
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/)

### Deploy

```bash
# Clone the repository
git clone https://github.com/raullenchai/vnsh.git
cd vnsh/worker

# Install dependencies
npm install

# Create R2 bucket
wrangler r2 bucket create vnsh-store

# Deploy
wrangler deploy

Configuration

Edit wrangler.toml to customize:

name = "vnsh"

[[r2_buckets]]
binding = "VNSH_STORE"
bucket_name = "vnsh-store"  # Your R2 bucket name

[[kv_namespaces]]
binding = "VNSH_META"
id = "your-kv-namespace-id"  # Create with: wrangler kv namespace create VNSH_META

API Reference

POST /api/drop

Upload an encrypted blob.

curl -X POST https://vnsh.dev/api/drop \
  -H "Content-Type: application/octet-stream" \
  --data-binary @encrypted.bin

Query Parameters: | Parameter | Type | Description | |-----------|------|-------------| | ttl | number | Time-to-live in hours (1-168, default: 24) | | price | number | Payment required to access (x402 protocol) |

Response:

{
  "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "expires": "2025-01-25T00:00:00.000Z"
}

GET /api/blob/:id

Download an encrypted blob.

curl https://vnsh.dev/api/blob/a1b2c3d4-5678-90ab-cdef-1234567890ab

Response Codes: | Code | Description | |------|-------------| | 200 | Success — returns encrypted blob | | 402 | Payment required | | 404 | Not found | | 410 | Expired |

GET /v/:id

Web viewer (serves HTML directly to preserve URL fragment with encryption keys).

GET /i

CLI installation script.

GET /pipe

Zero-install pipe upload script. Returns a shell script that encrypts stdin and uploads it.

cat file.log | bash 
  The Ephemeral Dropbox for AI. Your context. Your keys. Then it's gone.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [raullenchai](https://github.com/raullenchai)
- **Source:** [raullenchai/vnsh](https://github.com/raullenchai/vnsh)
- **License:** MIT
- **Homepage:** https://vnsh.dev

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.