About Secrets Plugin
Secrets Plugin is an MCP server published by amirshk in the Security category: secure credential management for MCP servers leveraging system-native keychain storage across macOS, Windows, and Linux platforms.
The repository has 58 stars and 5 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/amirshk/mcp-secrets-pluginThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Secrets Plugin
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Secrets Manager for MCP Server
Overview
secrets_manager.py is a Python utility that enables MCP servers to securely store and retrieve sensitive information using the system's native keychain/credential manager instead of relying on .env files. This approach significantly improves security by leveraging the operating system's built-in secure storage mechanisms.
Key Features
- Cross-Platform Support: Works on macOS (Keychain), Windows (Credential Locker), and other platforms (using appropriate keyring backends)
- Secure Storage: Stores sensitive data like API keys in the system's secure credential storage
- Simple API: Provides straightforward functions for storing and retrieving secrets
- Command-Line Interface: Includes a CLI for managing secrets directly
Core Functionality
Secret Storage
The script uses the keyring library to store secrets in the system's native credential manager:
- On macOS: Stores secrets in the macOS Keychain
- On Windows: Uses the Windows Credential Locker
- On other platforms: Uses the best available keyring backend
Main Functions
get_secret(service_name, secret_key): Retrieves a secret from the system keyringset_secret(service_name, secret_key, secret_value): Stores a secret in the system keyringsetup_secrets(): Interactive function to collect and store initial secretstest_get_secret(): Tests the retrieval of stored secretsget_keyring_name(): Returns the name of the current keyring backend based on the platform
Command-Line Interface
The script can be run directly with the following options:
--store: Initiates the interactive secret storage process--test: Tests retrieving stored secrets--info: Displays information about the current keyring backend
Usage Example
Instead of storing API keys in .env files:
# Old approach with .env files
API_KEY = os.getenv("API_KEY") # Insecure, stored in plaintext
# New approach with secrets_manager
from secrets_manager import get_secret
API_KEY = get_secret("MyMCPServer", "api_key") # Secure, stored in system keychain
Benefits for MCP Servers
- Enhanced Security: Secrets are stored in the operating system's secure storage rather than in plaintext files
- Simplified Management: No need to manage
.envfiles or worry about them being accidentally committed to version control - User-Friendly: Provides an interactive interface for setting up secrets
- Reliable Access: Consistent API for accessing secrets across different platforms
Implementation Note
The script includes a commented example of how to access the stored secret directly from the macOS terminal:
security find-generic-password -l "MyMCPServer" -a "api_key" -g
README fetched from the repository 4 days ago. The original is authoritative.