A FastMCP server for securely managing API credentials locally
Project description
🔐 Credential Manager MCP Server
A secure MCP server for managing API credentials locally. Read-only by default with simple JSON storage.
✨ Features
- 🔒 Secure by default - Read-only mode prevents accidental changes
- 📁 Simple storage -
~/.credential-manager-mcp/credentials.json - 🔧 Easy setup - Interactive shell script
- 🔄 Multi-instance safe - Always reads fresh data from disk
- 🎯 Minimal exposure - Shows only essential data
🚀 Quick Start
1. Install & Configure
# Install from PyPI
uvx credential-manager-mcp
Common config (Claude Desktop):
{
"mcpServers": {
"credential-manager": {
"command": "uvx",
"args": ["credential-manager-mcp"],
"env": {
"CREDENTIAL_MANAGER_READ_ONLY": "false"
}
}
}
}
Devlopment config (run from source):
{
"mcpServers": {
"credential-manager": {
"command": "uv",
"args": [
"--directory", "/path/to/credential-manager-mcp",
"run", "credential-manager-mcp"
],
"env": {
"CREDENTIAL_MANAGER_READ_ONLY": "false"
}
}
}
}
2. Add Credentials
# Interactive mode
./add-credential.sh
# Command line
./add-credential.sh "GitHub" "https://api.github.com" "ghp_token" "username" "2024-12-31T23:59:59"
🛠 Available Tools
Read-Only Mode (Default):
list_credentials()- List credentials (id, app name only)get_credential_details(credential_id)- Get full details
Read-Write Mode:
add_credential(app, base_url, access_token, [user_name], [expires])update_credential(credential_id, [fields...])delete_credential(credential_id)
📋 Usage Examples
# List all credentials
list_credentials()
# {"credentials": [{"id": "abc...", "app": "GitHub"}], "count": 1}
# Get credential details
get_credential_details("credential-id")
# Add new credential (write mode only)
add_credential("GitHub", "https://api.github.com", "ghp_token", "user", "2024-12-31T23:59:59")
⚙️ Configuration
Environment Variables:
CREDENTIAL_MANAGER_READ_ONLY- Set to"false"for write operations (default:"true")
Expiration Format:
"2024-12-31T23:59:59"- ISO datetime"never"- No expiration
🔒 Security
- Read-only by default
- Local storage only (
~/.credential-manager-mcp/credentials.json) - File locking for safe concurrent access
- Minimal data exposure in listings
🧪 Development
git clone https://github.com/mclamee/credential-manager-mcp.git
cd credential-manager-mcp
uv sync --dev
uv run pytest test/ -v
📄 License
MIT License - see LICENSE file for details.
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 credential_manager_mcp-1.0.2.tar.gz.
File metadata
- Download URL: credential_manager_mcp-1.0.2.tar.gz
- Upload date:
- Size: 27.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5732d2a1d2108947058730f403c06f3d0bafbc393c280c7b3fc23ffb3853e7cb
|
|
| MD5 |
af102cff73d12622767a56383a411f2b
|
|
| BLAKE2b-256 |
151f82c599462605485c02d133657c3ae7aff78de907ab337e4cc4bcbaa0e1b2
|
Provenance
The following attestation bundles were made for credential_manager_mcp-1.0.2.tar.gz:
Publisher:
publish.yml on mclamee/credential-manager-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
credential_manager_mcp-1.0.2.tar.gz -
Subject digest:
5732d2a1d2108947058730f403c06f3d0bafbc393c280c7b3fc23ffb3853e7cb - Sigstore transparency entry: 241380920
- Sigstore integration time:
-
Permalink:
mclamee/credential-manager-mcp@eb5673d36c1e70787b6e7a1377e252445481a906 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/mclamee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb5673d36c1e70787b6e7a1377e252445481a906 -
Trigger Event:
push
-
Statement type:
File details
Details for the file credential_manager_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: credential_manager_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
239ab2df5816dc474db8eb265341aa86a94e46b90552d6b4177c9560916fc245
|
|
| MD5 |
b85d608b1fce7fe536f487244c7176dd
|
|
| BLAKE2b-256 |
7e2fc824d832313153411f56c9cd287a835d8d7fb1998fd1758a3ffc2128d250
|
Provenance
The following attestation bundles were made for credential_manager_mcp-1.0.2-py3-none-any.whl:
Publisher:
publish.yml on mclamee/credential-manager-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
credential_manager_mcp-1.0.2-py3-none-any.whl -
Subject digest:
239ab2df5816dc474db8eb265341aa86a94e46b90552d6b4177c9560916fc245 - Sigstore transparency entry: 241380931
- Sigstore integration time:
-
Permalink:
mclamee/credential-manager-mcp@eb5673d36c1e70787b6e7a1377e252445481a906 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/mclamee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb5673d36c1e70787b6e7a1377e252445481a906 -
Trigger Event:
push
-
Statement type: