Skip to main content
Glama
iamredmh

volta-mcp-server

by iamredmh

@voltanotes/mcp

npm version License: MIT

MCP-сервер для Volta Notes — создание и чтение зашифрованных заметок с самоуничтожением после прочтения из любого ИИ-агента.

Заметки защищены сквозным шифрованием (E2E) с использованием AES-256-GCM. Ключ дешифрования находится только во фрагменте URL — он никогда не отправляется на сервер. Заметки хранятся в сети Internet Computer и безвозвратно удаляются после первого прочтения.

Зачем это нужно

ИИ-агентам регулярно требуются конфиденциальные данные во время работы — ключи API, пароли, учетные данные. Сегодня пользователи вставляют их в чат, где они навсегда сохраняются в истории переписки.

С этим MCP-сервером схема работы становится такой:

  1. Пользователь создает заметку на voltanotes.com и отправляет одноразовую ссылку.

  2. Агент вызывает read_volta_note — секрет получен, заметка навсегда удалена.

  3. Никакие конфиденциальные данные не попадают в историю чата.

Или наоборот — агент может использовать create_volta_note для отправки учетных данных пользователю через самоуничтожающуюся ссылку.

Related MCP server: Vaulted MCP Server

Быстрый старт

Claude Code (CLI и настольное приложение)

Шаг 1 — Установите глобально:

npm install -g @voltanotes/mcp

Шаг 2 — Зарегистрируйте сервер:

claude mcp add -s user volta -- node $(npm root -g)/@voltanotes/mcp/dist/index.js

Это всё. Перезапустите Claude Code, и инструменты create_volta_note и read_volta_note станут доступны.

Почему claude mcp add, а не редактирование файлов конфигурации? Claude Code считывает MCP-серверы из собственного реестра, а не из ~/.claude/mcp.json. Использование CLI гарантирует правильную регистрацию сервера. Флаг -s user делает его доступным для всех проектов.

node не найден? Используйте полный путь: замените node на результат команды which node (например, /usr/local/bin/node).

Claude Desktop (автономная версия)

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "volta": {
      "command": "npx",
      "args": ["-y", "@voltanotes/mcp"]
    }
  }
}

Другие MCP-совместимые клиенты

Конфигурация npx, приведенная выше, работает с любым клиентом, поддерживающим стандартный формат MCP command/args — включая Cursor, Windsurf, Cline, Continue.dev и другие. Проверьте документацию вашего клиента по MCP, чтобы узнать, куда добавлять конфигурацию сервера.

Агент Hermes (Nous Research)

Volta MCP работает с Hermes Agent через его интеграцию с MCP. Добавьте сервер в конфигурацию Hermes (~/.hermes/config.yaml):

mcp:
  servers:
    - name: volta
      command: npx
      args:
        - "-y"
        - "@voltanotes/mcp"

Перезапустите Hermes, и инструменты create_volta_note и read_volta_note станут доступны вашему агенту.

Сценарий использования «агент-агент»: Автономно работающим агентам Hermes часто требуется передавать учетные данные между рабочими процессами, не раскрывая их в логах или памяти. Volta Notes созданы специально для этого — один агент создает заметку, передает одноразовый URL другому, и секрет уничтожается при чтении. Ничего не остается в истории переписки или логах вывода инструментов.

См. документацию Hermes MCP для получения полной информации о настройках.

Windows (Claude Code CLI)

Синтаксис $(npm root -g) не работает в PowerShell или CMD. Используйте вместо него:

claude mcp add -s user volta -- node "%APPDATA%\npm\node_modules\@voltanotes\mcp\dist\index.js"

Или используйте метод Claude Desktop / npx, описанный выше, который работает на всех платформах.

Инструменты

create_volta_note

Создает зашифрованную заметку и возвращает одноразовый URL.

Параметр

Тип

Описание

content

string

Секретное содержимое для шифрования (макс. 2 КБ)

Возвращает: URL-адрес voltanotes.com. Получатель открывает его один раз, читает содержимое, и оно исчезает навсегда.

read_volta_note

Читает и безвозвратно уничтожает заметку Volta.

Параметр

Тип

Описание

url

string

Полный URL Volta, включая фрагмент #

Возвращает: Расшифрованное содержимое заметки. Заметка навсегда удаляется из контейнера — повторное чтение завершится ошибкой.

Фрагмент системного промпта для агента

Добавьте это в системный промпт любого агента, чтобы включить безопасную передачу учетных данных:

When you need a secret from the user (API key, password, credentials):
1. Ask them to go to voltanotes.com and paste the secret into the note field
2. They'll get a one-time URL — ask them to send it to you
3. Use the read_volta_note tool with that URL to retrieve the secret
The secret is permanently destroyed after you read it — it never appears in chat history.

Модель безопасности

  • Шифрование AES-256-GCM происходит локально до отправки данных в контейнер.

  • Ключ шифрования существует только во фрагменте URL (#...) — браузеры и серверы никогда не передают фрагменты.

  • Контейнер ICP хранит только зашифрованный текст — даже в случае компрометации все данные остаются нечитаемыми.

  • Заметки уничтожаются при первом прочтении. Непрочитанные заметки удаляются через 7 дней.

  • Никаких аккаунтов, никаких логинов, никакого отслеживания.

Как это работает

Agent calls create_volta_note("secret-api-key-123")
  → Local: generate AES-256 key + encrypt
  → ICP canister: store ciphertext → returns noteId
  → Return URL: voltanotes.com/r/{noteId}#{key}

User opens URL → read gate → clicks "Read note"
  → Browser: fetch ciphertext from canister (canister deletes it)
  → Browser: decrypt using key from # fragment
  → Display plaintext — note is gone forever

Устранение неполадок

Проверка подключения сервера

claude mcp list

Вы должны увидеть volta: ... ✓ Connected. Если нет, см. ниже.

Сервер не отображается

  1. Вы использовали claude mcp add? Ручное редактирование ~/.claude/mcp.json не сработает — Claude Code считывает серверы из собственного реестра. Всегда используйте claude mcp add для регистрации серверов.

  2. Находится ли node в вашем PATH? Оболочка Claude Code имеет минимальный PATH. Если node не найден, используйте полный путь:

claude mcp add -s user volta -- $(which node) $(npm root -g)/@voltanotes/mcp/dist/index.js
  1. Требуется перезапуск. После добавления или изменения MCP-сервера полностью перезапустите Claude Code (закройте и откройте снова).

Как узнать, запустился ли сервер?

При успешном запуске сервер записывает Volta MCP server started в stderr. Выполните claude mcp list для проверки статуса подключения.

Требования

  • Node.js 18+ (использует встроенный Web Crypto API)

Лицензия

MIT — Unprompted Labs

Available Tools

2 tools
create_volta_noteA

Creates a Volta secure note and returns a one-time URL. Use this to send sensitive information to a user — they open the link once, read it, and it's gone. Useful for sharing generated passwords, private keys, or any sensitive output.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe secret content to encrypt and store. Maximum 2,048 characters. Will be AES-256-GCM encrypted before leaving this machine.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral disclosure burden. It successfully explains the critical one-time/self-destruct nature ('gone' after opening) and return value (one-time URL). Minor gap: doesn't mention expiration timeouts, rate limits, or specific return structure location.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly constructed sentences with zero waste: sentence 1 states function+output, sentence 2 explains the usage pattern, sentence 3 provides examples. Information is front-loaded and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema exists, the description adequately compensates by stating the tool 'returns a one-time URL'. For a single-parameter creation tool, this covers the essential missing output information. Could be improved by specifying URL expiration behavior or exact return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with detailed technical description. The description adds semantic value by specifying what content belongs in the parameter ('generated passwords, private keys, sensitive output'), helping the agent map user intent to the 'content' field effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with specific verb 'Creates' + resource 'Volta secure note' and immediately distinguishes the core mechanism ('returns a one-time URL'). This clearly differentiates it from sibling 'read_volta_note' by establishing this as the creation/entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('send sensitive information to a user'), describes the complete UX lifecycle ('open the link once, read it, and it's gone'), and provides concrete examples ('generated passwords, private keys'). This gives clear selection criteria against the read sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_volta_noteA

Reads a Volta secure note and permanently destroys it. Call this when a user sends you a voltanotes.com URL containing sensitive information. The note content is returned once — it cannot be recovered after this call.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full Volta note URL including the #fragment key, e.g. https://app.voltanotes.com/r/abc12345#encryptionKeyHere

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and excellently discloses critical behavioral traits: the destructive nature ('permanently destroys'), one-time access ('returned once'), and irreversibility ('cannot be recovered').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly constructed sentences with zero waste: first states the core action, second provides the usage trigger, and third explains the critical one-time behavioral constraint. Information is front-loaded effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking annotations and an output schema, the description adequately covers the return value behavior ('note content is returned once') and compensates for missing safety annotations by explicitly describing the destruction. Could optionally note authentication requirements or error states.

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 coverage is 100% with a detailed example URL in the schema description. The description references the URL in context ('sends you a voltanotes.com URL') but does not add semantic meaning beyond what the schema already provides, meeting the baseline for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Reads' and 'destroys') with the resource ('Volta secure note') and clearly distinguishes from sibling tool create_volta_note by emphasizing consumption/destruction versus creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('Call this when a user sends you a voltanotes.com URL containing sensitive information'), though it does not explicitly name the sibling tool as an alternative for creation workflows.

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. 2 tool updatesv1.0.0
    • First observedcreate_volta_note
    • First observedread_volta_note

TDQS

A4.5/5.0

Scored across 2 tools

Disambiguation5/5

The tools have clearly distinct purposes with no functional overlap: one creates secure notes while the other consumes them. An agent can easily distinguish between generating a new URL versus retrieving and destroying an existing note.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern using snake_case (create_volta_note, read_volta_note), with identical resource naming ('volta_note') and parallel grammatical structure.

Tool Count4/5

While two tools falls slightly below the typical optimal range, it is reasonable for this narrowly scoped one-time secret service where only creation and retrieval operations are relevant to the security model.

Completeness4/5

The tools cover the essential lifecycle (create and read-once-destroy) for secure note sharing. Minor potential gaps include missing expiration configuration or metadata retrieval, though these may be intentionally excluded for security.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Self-hosted, zero-knowledge encrypted, self-destructing secrets for secure agent-to-agent coordination
    3
    AGPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to create end-to-end encrypted, self-destructing notes that can be securely shared via a one-click link, ensuring secrets are never stored in plain text in chat history.
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables sharing and reading encrypted files (text, images, logs) for AI workflows, with automatic 24-hour expiration and host-blind security.
    19 npm
    157
    MIT