A local MCP server that manages API keys with user approval
Project description
SecretButler 🗝️
A secure local MCP server for managing API keys with user approval
Overview
SecretButler provides a secure way to manage and share API keys with MCP clients like Claude Desktop and Cursor. It runs as a local server with a native GUI that requires explicit user approval before sharing any secrets.
✨ Features
- 🔒 Secure: Stores API keys locally in
~/.secretbutler.toml - 👤 User-controlled: GUI popup requires explicit approval for each request
- 🔌 MCP compatible: Works with any MCP client
- ⚙️ Easy setup: Simple TOML configuration
- 🍎 Native macOS: Uses native macOS GUI components
🚀 Installation
Add to your MCP client configuration:
{
"mcpServers": {
"SecretButler": {
"command": "uvx",
"args": ["secretbutler"],
"env": {
"CLIENT_NAME": "Claude"
}
}
}
}
⚙️ Configuration
On first run, SecretButler creates ~/.secretbutler.toml:
[secrets]
OPENAI_API_KEY = "sk-..."
ANTHROPIC_API_KEY = "sk-ant-..."
HF_API_KEY = "hf_..."
Simply edit this file to add your API keys.
🛠️ MCP Tools
| Tool | Description |
|---|---|
list_secrets() |
Returns available secret names (no approval needed) |
request_secrets(secret_names, client_name) |
Request specific secrets with user approval |
🔐 Security
- ✅ Secrets stored locally only
- ✅ No sharing without explicit approval
- ✅ Clear approval dialogs show requested secrets and client
- ✅ Foreground GUI prevents unauthorized access
📄 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file secretbutler-0.1.2.tar.gz.
File metadata
- Download URL: secretbutler-0.1.2.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0ab41b0ba30e155a50bc4c534378cbfa2a8d1f2235bf4a62e2b01057546c6ec
|
|
| MD5 |
462ea1afe728b47b0cd3dea668945157
|
|
| BLAKE2b-256 |
3817872c9417f330760b58d149edf820b1d78704aa1c0d9bc4ce6b040c8fa4d5
|
File details
Details for the file secretbutler-0.1.2-py3-none-any.whl.
File metadata
- Download URL: secretbutler-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8886257b8f6ddfdb249f34c98899dae4d7798b4c4b61c1cf286f49c15e61776e
|
|
| MD5 |
7e660b335fee9497096ed22f71f068da
|
|
| BLAKE2b-256 |
6edaca731617e00c5d53f563f6359c9e2e37d680d4a059ff64e0c3b35865c71a
|