Integrates with macOS to provide secure secret storage through the system keychain and includes a native menu bar app for managing secret access requests and notifications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Secretslist my S3 buckets using {{AWS_ACCESS_KEY}}"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Secrets
A secure secrets management MCP server for AI assistants. Enables LLM-powered CLI tools to safely handle credentials with user approval, automatic redaction, and secret capture from command output.
Features
Secret Injection - Use
{{SECRET_NAME}}placeholders in commands to inject secretsSession-Based Permissions - User approves secret access per-session with time-based expiry
Output Redaction - Automatically redacts known secrets and common patterns from output
Secret Capture - Extract secrets from command output (e.g., AWS session tokens) and store for future use
LLM-Friendly Metadata - Descriptions help future LLMs discover and use the right secrets
macOS Menu Bar App - Native notifications and dialogs for secret requests
Encrypted Vault - Secrets stored with Fernet encryption, key in system keychain
Installation
Or install from source:
Quick Start
MCP Configuration
Add to your MCP client configuration:
MCP Tools
run_command
Execute a CLI command with secret injection and output redaction.
Parameters:
command- Command with{{SECRET_NAME}}placeholderstimeout- Timeout in seconds (default: 60)capture- Extract secrets from JSON output:path- JSONPath expression (e.g.,$.Credentials.SecretAccessKey)name- Name for the captured secretdescription- LLM-friendly descriptionexpires_at- ISO 8601 expiration timestamp
redact_patterns- Additional regex patterns to redactskip_builtin_patterns- Skip built-in redaction patterns
list_secrets
List available secrets with their descriptions.
Returns:
request_secret
Request the user to add a missing secret via the menu bar app.
The menu bar app will show a native macOS dialog prompting the user to enter the secret value.
get_permissions
Get current session permission status for secrets.
How It Works
Client LLM calls to discover available secrets
LLM constructs command with
{{SECRET_NAME}}placeholdersUser approves secret access when prompted (cached for session)
Server injects secrets and executes command
Output is redacted before returning to LLM
Captured secrets are stored with LLM-provided descriptions for future use
Menu Bar App (macOS)
The menu bar app provides:
Server status indicator (🔐 running / 🔓 stopped)
List of stored secrets with expiry times
Native dialogs for secret requests
Notifications when secrets are captured or expiring
Start with:
Security Model
Encrypted storage - Vault encrypted with Fernet, key stored in system keychain
Permission prompts - User must approve each secret's use
Session expiry - Permissions auto-expire (default: 1 hour)
Output redaction - Secrets automatically removed from command output
Audit logging - All secret access logged to
~/.mcp-secrets/audit.log
Configuration
Configuration stored at ~/.mcp-secrets/config.json:
Set values with:
Development
License
MIT