Credential Manager

Un servidor para gestionar de forma segura las credenciales de API localmente a través del Protocolo de Contexto de Modelo (MCP).

Documentación

🔐 Servidor MCP de Credential Manager

Test License: MIT Python 3.13+

Un servidor MCP seguro para gestionar credenciales de API localmente. Solo lectura por defecto con almacenamiento JSON simple.

✨ Características

  • 🔒 Seguro por defecto - El modo de solo lectura evita cambios accidentales
  • 📁 Almacenamiento simple - ~/.credential-manager-mcp/credentials.json
  • 🔧 Configuración fácil - Script de shell interactivo
  • 🔄 Seguro para múltiples instancias - Siempre lee datos frescos del disco
  • 🎯 Exposición mínima - Muestra solo datos esenciales

🚀 Inicio Rápido

1. Instalar y Configurar

# Install from PyPI
uvx credential-manager-mcp

Configuración común (Claude Desktop):

{
  "mcpServers": {
    "credential-manager": {
      "command": "uvx",
      "args": ["credential-manager-mcp"],
      "env": {
        "CREDENTIAL_MANAGER_READ_ONLY": "false"
      }
    }
  }
}

Configuración de desarrollo (ejecutar desde el código fuente):

{
  "mcpServers": {
    "credential-manager": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/credential-manager-mcp",
        "run", "credential-manager-mcp"
      ],
      "env": {
        "CREDENTIAL_MANAGER_READ_ONLY": "false"
      }
    }
  }
}

2. Agregar Credenciales

# Interactive mode
./add-credential.sh

# Command line
./add-credential.sh "GitHub" "https://api.github.com" "ghp_token" "username" "2024-12-31T23:59:59"

🛠 Herramientas Disponibles

Modo Solo Lectura (Predeterminado):

  • list_credentials() - Listar credenciales (id, nombre de la aplicación solamente)
  • get_credential_details(credential_id) - Obtener detalles completos

Modo Lectura-Escritura:

  • add_credential(app, base_url, access_token, [user_name], [expires])
  • update_credential(credential_id, [fields...])
  • delete_credential(credential_id)

📋 Ejemplos de Uso

# 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")

⚙️ Configuración

Variables de Entorno:

  • CREDENTIAL_MANAGER_READ_ONLY - Establecer a "false" para operaciones de escritura (predeterminado: "true")

Formato de Expiración:

  • "2024-12-31T23:59:59" - Fecha y hora ISO
  • "never" - Sin expiración

🔒 Seguridad

  • Solo lectura por defecto
  • Almacenamiento local únicamente (~/.credential-manager-mcp/credentials.json)
  • Bloqueo de archivos para acceso concurrente seguro
  • Exposición mínima de datos en listados

🧪 Desarrollo

git clone https://github.com/mclamee/credential-manager-mcp.git
cd credential-manager-mcp
uv sync --dev
uv run pytest test/ -v

📄 Licencia

Licencia MIT - consulte el archivo LICENSE para más detalles.