Secure credential management for MCP servers leveraging system-native keychain storage across macOS, Windows, and Linux platforms
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mcp-secrets-plugin": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in security
An evil MCP server used for redteam testing
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
mcpki-server is the backend infrastructure for https://www.mcpki.org, enabling secure public key management and autonomous certificate handling for large language models (LLMs).
MCP Security Weekly
Get CVE alerts and security updates for Mcp Secrets Plugin and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
The script uses the keyring library to store secrets in the system's native credential manager:
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 platformThe 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 backendInstead 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
.env files or worry about them being accidentally committed to version controlThe 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