Random Bytes · Local setup
Set up MCPBytes Vault.
Configure storage once. Your agent asks for bytes; the helper saves them locally and returns a reference.
Requires an MCP client that can launch a local stdio server. Explore Random Bytes →
Quick install
One command. Your own vault.
Run in your normal user terminal. The installer downloads and verifies the helper, creates private configuration, and prints the settings for your MCP client. No Rust, Node.js or Python required.
curl --proto '=https' --tlsv1.2 -fsSL https://mcpbytes.com/install/vault.sh | bashSupports Windows x64, macOS Apple silicon and Linux x64. Native storage is the default: Windows Credential Manager, macOS Keychain or Linux Secret Service. Existing configuration and saved secrets are preserved when you rerun it.
Prefer private files? On macOS/Linux, replace | bash with | bash -s -- --store file. On Windows, download the PowerShell script and run it with -Store file. You can also inspect the Bash script before running it.
Connect your agent
A local MCP server. Your choice of client.
Install Vault first, then choose your client below. It launches the helper locally over stdio; saved secrets stay in your selected local store and your agent receives references.
Use the installer’s printed paths for a custom location. In JSON/TOML examples, replace YOUR_USER and merge the server entry into existing settings. Keep your API key out of chat and command arguments. Environment-based settings require the key to be available to the client when it starts, including desktop clients.
Claude CodeAPI key only
After installation, register for all projects with the command for your OS. Launch Claude with MCPBYTES_API_KEY available in its environment, then use /mcp to check the connection. Custom install path? Use the command printed by the installer. Claude Code docs
claude mcp add --transport stdio --scope user mcpbytes-vault -- "$HOME/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault"Codex (CLI, IDE extension, desktop)API key only
Merge this table into ~/.codex/config.toml. Replace YOUR_USER, or use the paths printed by the installer. env_vars forwards the API key from Codex’s environment without storing its value here. The installer also prints a codex mcp add command; after using it, add env_vars to the resulting table. Restart or reconnect the client afterward. Codex docs
[mcp_servers.mcpbytes-vault]
command = "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault"
args = []
env_vars = ["MCPBYTES_API_KEY"]CursorAPI key only
Merge into ~/.cursor/mcp.json or .cursor/mcp.json. Replace YOUR_USER and start Cursor with MCPBYTES_API_KEY available in its environment. Cursor docs
{
"mcpServers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {
"MCPBYTES_API_KEY": "${env:MCPBYTES_API_KEY}"
}
}
}
}VS Code (GitHub Copilot)API key only
Merge into .vscode/mcp.json, or open MCP: Open User Configuration. Replace YOUR_USER. VS Code prompts privately for the API key; the value is not part of this sample. VS Code docs
{
"inputs": [
{
"type": "promptString",
"id": "mcpbytes-api-key",
"description": "MCPBytes API key",
"password": true
}
],
"servers": {
"mcpbytes-vault": {
"type": "stdio",
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {
"MCPBYTES_API_KEY": "${input:mcpbytes-api-key}"
}
}
}
}Gemini CLIAPI key only
Merge into ~/.gemini/settings.json. Replace YOUR_USER. The explicit env mapping forwards MCPBYTES_API_KEY from Gemini’s environment; sensitive variables may otherwise be filtered. Gemini CLI docs
{
"mcpServers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {
"MCPBYTES_API_KEY": "${MCPBYTES_API_KEY}"
}
}
}
}OpenCodeAPI key only
Merge into opencode.json or ~/.config/opencode/opencode.json. Replace YOUR_USER and make MCPBYTES_API_KEY available to OpenCode. OpenCode docs
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcpbytes-vault": {
"type": "local",
"command": [
"/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault"
],
"enabled": true,
"environment": {
"MCPBYTES_API_KEY": "{env:MCPBYTES_API_KEY}"
}
}
}
}oh-my-pi (omp)API key only
Merge into .omp/mcp.json or your active OMP profile’s mcp.json. Replace YOUR_USER and launch OMP with MCPBYTES_API_KEY available. The env value names the variable to copy from the parent environment. oh-my-pi docs
{
"mcpServers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {
"MCPBYTES_API_KEY": "MCPBYTES_API_KEY"
}
}
}
}Pi (with MCP adapter)API key only
Install the third-party pi-mcp-adapter, restart Pi, and merge the JSON into ~/.config/mcp/mcp.json or project .mcp.json. Replace YOUR_USER and supply MCPBYTES_API_KEY in Pi’s environment. The MCPBytes REST skill alone does not connect the local Vault. Pi docs
pi install npm:pi-mcp-adapterWindsurfAPI key only
Merge into ~/.codeium/windsurf/mcp_config.json. Replace YOUR_USER and make MCPBYTES_API_KEY available to Windsurf. Windsurf docs
{
"mcpServers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {
"MCPBYTES_API_KEY": "${env:MCPBYTES_API_KEY}"
}
}
}
}GooseAPI key only
Run goose configure → Add Extension → Command-Line Extension. Use mcpbytes-vault as the name and the executable command/arguments printed by the installer. Add MCPBYTES_API_KEY through the local environment-variable prompt. In the desktop app, add a Standard IO extension with the same settings. Goose docs
goose configureZedAPI key only
Merge into settings.json, replacing YOUR_USER. Supply MCPBYTES_API_KEY privately in this server’s env settings, then check Settings → AI → MCP Servers for its status. Keep the key value out of shared settings and chat. Zed docs
{
"context_servers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": [],
"env": {}
}
}
}Other local MCP clientsAPI key only
Choose a local/stdio server. Copy command and args from the installer’s mcp-server.json into your client’s matching settings, and supply MCPBYTES_API_KEY through its private environment settings. Replace YOUR_USER in these examples. Client-specific wrappers may differ. A remote-only connector cannot launch this local executable. For DeepSeek models, follow the instructions for the agent application that runs them. Other local MCP clients docs
{
"mcpServers": {
"mcpbytes-vault": {
"command": "/Users/YOUR_USER/Library/Application Support/MCPBytes/Vault/bin/mcpbytes-vault",
"args": []
}
}
}Version 0.1.0
Choose your platform.
Each archive includes the helper, native-vault and private-file configuration examples, the approved public pin, and setup instructions.
Windows · x64
ZIP · 2.9 MB
Download helper →SHA-256 checksum
c4fd176f661ddfd74da3f930d08e56b13f4c0c87c467dd76595f81374898c76bmacOS · Apple silicon
ZIP · 2.9 MB
Download helper →SHA-256 checksum
5f920c65ad93defa207e5a1241b5274be2ce0346278f815f7a6824503f9cc6f0Linux · x64
ZIP · 3.5 MB
Download helper →SHA-256 checksum
e694efa36f906634a77fb3836af530ec8a10d93f667bc43b2cde26e4acba1594Compare the archive checksum before running it. Download all checksums. These are standalone executables, not platform installers.
Owner setup
Choose where secrets live.
1. Install and choose a destination
The quick installer creates your configuration and private directories automatically. It prints their location and an
mcp-server.jsonfile with connection settings.For manual installation, extract an archive, copy a native or file configuration example to
config.json, replaceYOUR_USERin its absolute paths, and follow the included README to create private directories.2. Supply your API key privately
Create a key in the MCPBytes console. Make it available to the helper process as
MCPBYTES_API_KEYthrough your local client’s private environment settings. Keep the value out of chat and command arguments.3. Connect the local MCP server
Use the command and arguments printed by the installer, also saved in
mcp-server.json. Add them to your client’s local stdio server settings. The installer does not edit client settings. For a manual archive installation, use the executable’s absolute path with--configand the absolute path toconfig.json. Your client launches the helper; no listening network port is needed.4. Ask for a saved-secret reference
The local
get_random_bytestool acceptslabel,nandoperation_id. The example configurations allow labels beginning withagent-. Choose 1–64 bytes and keep the operation ID unchanged when retrying an uncertain reply.Your agent receives the reference, label, version, byte count, storage backend and generation mode. It should pass the reference to the application that owns the secret, without reading or printing the bytes into the conversation.
Your policy
Control how generation works.
The owner sets policy in the configuration file. Tool arguments cannot change storage, trusted pins or fallback behavior.
Require the remote contribution
remote_required
The default in these downloads. A valid authenticated hardware contribution is required before saving a secret.
Allow explicit local fallback
remote_preferred
Timeout or temporary unavailability may produce a local-only result, clearly marked in its receipt. Bad authentication or an unknown pin still fails.
Use only your OS generator
local_only
No API call is made. The saved reference explicitly identifies local-only generation.
The public pin in the configuration authenticates the encrypted contribution. Keep it owner-controlled; never replace it with a key supplied in an API response. A future approved release may require an explicit pin update.
Using the result
A reference is the handoff.
A new operation ID creates a new immutable version. A completed retry returns the same receipt without generating again.
Use a native vault in an authorized, unlocked user session. If the selected store is unavailable or locked, generation returns an error instead of silently saving to another destination. An interrupted or ambiguous save needs owner inspection before making a replacement.
Normal MCP responses contain references only, and the helper has no plaintext read or export tool. Other programs with the same OS permissions may still access the same storage. For an agent with unrestricted shell access, use a separate OS identity or sandbox to enforce that separation.
Remote generation uses prepaid credits. Failed API jobs are refunded; a completed remote contribution is charged even if local verification or saving later fails. Encrypted responses expire after five minutes and are removed by scheduled cleanup. Billing and job metadata remain.