CipherTrust Manager

Interactúa con los recursos de CipherTrust Manager usando la interfaz de línea de comandos ksctl.

Documentación

Servidor MCP de CipherTrust Manager

Este proyecto implementa un servidor MCP (Model Context Protocol) de CipherTrust desarrollado de forma independiente que permite a asistentes de IA como Claude o Cursor interactuar con los recursos de CipherTrust Manager utilizando la CLI de ksctl.

Tabla de Contenidos

Aviso Importante

Este es un proyecto independiente y de código abierto. Tenga en cuenta:

  • ⚠️ No cuenta con soporte oficial de Thales
  • ✅ Utiliza APIs públicas e interfaces documentadas
  • 🔧 Mantenido de forma independiente
  • 📝 Úselo bajo su propio riesgo - pruébelo a fondo en su entorno
  • 💼 Sin garantía - consulte la licencia para conocer los términos completos

Para obtener soporte oficial de CipherTrust Manager, comuníquese directamente con Thales.

Características

El servidor MCP expone un conjunto de herramientas y endpoints para que los clientes (como Claude Desktop y Cursor) interactúen con los recursos de CipherTrust. Las operaciones compatibles incluyen:

  • Gestión de claves
  • Gestión de clientes CTE
  • Gestión de usuarios
  • Gestión de conexiones
  • Y más

Beneficios:

  • Interfaz unificada para que los asistentes de IA interactúen con CipherTrust Manager
  • Soporte para gestión de claves, gestión de conexiones, gestión de clientes CTE y más
  • Comunicación JSON-RPC a través de stdin/stdout
  • Configurable mediante variables de entorno

Requisitos Previos

  • Git
  • Python 3.11 o superior
  • uv para la gestión de dependencias
  • Acceso a una instancia de CipherTrust Manager
  • Credenciales válidas de CipherTrust Manager

Instalación de Git (Windows)

Si no tiene Git instalado en Windows, siga estos pasos:

  • Descargue e instale Git para Windows: https://git-scm.com/download/win
  • O instálelo mediante winget:
    winget install --id Git.Git -e --source winget
    
  • Verifique la instalación - Abra PowerShell y ejecute:
    git --version
    
    Debería ver la versión de Git instalada.

Instalación de Python y uv

Método 1: Instalación Manual

1. Descargue Python

# Open PowerShell as Administrator (optional)
cd $env:USERPROFILE\Downloads
Invoke-WebRequest -Uri "https://www.python.org/ftp/python/3.12.4/python-3.12.4-amd64.exe" -OutFile "python-installer.exe"

2. Ejecute el Instalador

.\python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0

3. Verifique la Instalación

Abra una nueva terminal y ejecute:

python --version
pip --version

4. Instale uv

pip install uv
uv --version

5. Clone el Repositorio

git clone https://github.com/sanyambassi/ciphertrust-manager-mcp-server.git
cd ciphertrust-manager-mcp-server

6. Cree un Entorno Virtual e Instale las Dependencias

uv venv
.venv\Scripts\activate
uv pip install -e .

Método 2: Usando winget (Windows)

1. Instale Python con winget

winget install --id Python.Python.3.12 --source winget --accept-package-agreements --accept-source-agreements

2. Cierre y Vuelva a Abrir PowerShell

Esto garantiza que Python esté disponible en su PATH.

3. Verifique la Instalación

python --version
pip --version

4. Instale uv

pip install uv
uv --version

5. Clone el Repositorio

git clone https://github.com/sanyambassi/ciphertrust-manager-mcp-server.git
cd ciphertrust-manager-mcp-server

6. Cree un Entorno Virtual e Instale las Dependencias

uv venv
.venv\Scripts\activate
uv pip install -e .

Configuración

(Opcional) Copie y Edite el Archivo de Entorno de Ejemplo

Ejemplo de .env:

cp .env.example .env
# Edit .env with your CipherTrust Manager details

También puede establecer estas variables como variables de entorno directamente en lugar de usar un archivo .env.

Ejemplo de contenido de .env:

CIPHERTRUST_URL=https://your-ciphertrust-manager.example.com
CIPHERTRUST_USER=admin
CIPHERTRUST_PASSWORD=your-password-here
CIPHERTRUST_NOSSLVERIFY=true

Uso

⚠️ Importante: Antes de comenzar, la variable de entorno o el archivo .env debe contener una URL válida de CipherTrust Manager.

Tiene dos formas principales de ejecutar el Servidor MCP de CipherTrust:

Método 1: Ejecución Directa

uv run ciphertrust-mcp-server

Esto ejecuta la función main() en ciphertrust_mcp_server/__main__.py.

Método 2: Ejecución como Módulo

uv run python -m ciphertrust_mcp_server.__main__

Pruebas

Este proyecto incluye capacidades integrales de prueba utilizando el Inspector del Protocolo de Contexto de Modelo y pruebas unitarias de Python.

Pruebas Rápidas

# Manual JSON-RPC testing (direct stdin/stdout)
uv run ciphertrust-mcp-server
# Then send JSON-RPC commands (see TESTING.md for details)

# Interactive UI (Inspector 2.5+). Open the printed URL; it includes MCP_INSPECTOR_API_TOKEN.
npx @modelcontextprotocol/inspector uv run --no-sync ciphertrust-mcp-server

# Quick CLI testing
# Get tools
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/list --format json
# Get system information
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/call --tool-name system_information --tool-arg action=get --format json
# Get 2 keys
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/call --tool-name key_management --tool-arg action=list --tool-arg limit=2 --format json

Métodos de Prueba Disponibles

  • 🔧 Pruebas JSON-RPC Manuales: Comunicación directa stdin/stdout para depuración y desarrollo
  • 🖥️ Pruebas de UI Interactiva: Interfaz web visual para pruebas y depuración manuales
  • ⚡ Pruebas Automatizadas por CLI: Automatización de línea de comandos para integración CI/CD
  • 🧪 Pruebas Unitarias de Python: Pruebas unitarias integrales para los componentes del servidor
  • 🔗 Pruebas de Integración: Pruebas de extremo a extremo con instancias reales de CipherTrust Manager

Scripts NPM

npm run test:inspector:ui     # Open Inspector UI (uses project .env)
npm run test:inspector:cli    # List tools via Inspector CLI
npm run test:python          # Run Python unit tests
npm run test:full           # Run complete test suite

Guía Integral de Pruebas

📖 Para instrucciones detalladas de prueba, consulte TESTING.md

🔧 Para ejemplos de indicaciones para asistentes de IA, consulte EXAMPLE_PROMPTS.md

La guía de pruebas cubre:

  • Configuración y ajuste completos
  • Escenarios de prueba avanzados

Los ejemplos de indicaciones incluyen:

  • Operaciones de gestión de claves
  • Gestión de usuarios y grupos
  • Gestión de sistemas y servicios
  • Gestión de clústeres
  • Gestión de licencias
  • Operaciones CTE
  • Operaciones criptográficas
  • Y más escenarios prácticos

Integración con Asistentes de IA

Uso con Cursor

1. Configure Cursor

  • Vaya a Configuración > Herramientas MCP > Agregar MCP personalizado
  • Agregue el siguiente contenido en el archivo de configuración (por ejemplo, mcp.json):
{
  "mcpServers": {
    "ciphertrust": {
      "command": "Path to your project folder/ciphertrust-manager-mcp-server/.venv/bin/ciphertrust-mcp-server",
      "args": [],
      "env": {
        "CIPHERTRUST_URL": "https://your-ciphertrust.example.com",
        "CIPHERTRUST_USER": "admin",
        "CIPHERTRUST_PASSWORD": "your-password-here"
      }
    }
  }
}

En Windows, use la ruta .venv\Scripts\ciphertrust-mcp-server.exe y barras invertidas dobles:

{
  "mcpServers": {
    "ciphertrust": {
      "command": "C:\\path\\to\\ciphertrust-manager-mcp-server\\.venv\\Scripts\\ciphertrust-mcp-server",
      "args": [],
      "env": {
        "CIPHERTRUST_URL": "https://your-ciphertrust.example.com",
        "CIPHERTRUST_USER": "admin",
        "CIPHERTRUST_PASSWORD": "your-password-here"
      }
    }
  }
}

2. Aplique la Configuración

Desactive y vuelva a activar el servidor MCP de CipherTrust en Cursor para aplicar los cambios.

Uso con Claude Desktop

1. Localice o cree el archivo de configuración de Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Roaming\Claude\claude_desktop_config.json

2. Agregue o actualice la configuración del servidor MCP:

Ejemplo para macOS/Linux:

{
  "mcpServers": {
    "ciphertrust": {
      "command": "/absolute/path/to/ciphertrust-manager-mcp-server/.venv/bin/ciphertrust-mcp-server",
      "env": {
        "CIPHERTRUST_URL": "https://your-ciphertrust.example.com",
        "CIPHERTRUST_USER": "admin",
        "CIPHERTRUST_PASSWORD": "your-password-here"
      }
    }
  }
}

Ejemplo para Windows:

{
  "mcpServers": {
    "ciphertrust": {
      "command": "C:\\absolute\\path\\to\\ciphertrust-manager-mcp-server\\.venv\\Scripts\\ciphertrust-mcp-server",
      "env": {
        "CIPHERTRUST_URL": "https://your-ciphertrust.example.com",
        "CIPHERTRUST_USER": "admin",
        "CIPHERTRUST_PASSWORD": "your-password-here"
      }
    }
  }
}

Ajuste la ruta para que coincida con la ubicación real de su proyecto y su entorno.

3. Reinicie Claude Desktop

Reinicie Claude Desktop para aplicar los cambios.

Variables de Entorno

Establezca estas variables en su shell o en un archivo .env en la raíz del proyecto:

Nombre de la VariableDescripciónRequerida/Valor Predeterminado
CIPHERTRUST_URLURL de CipherTrust Manager (http/https)Requerida
CIPHERTRUST_USERNombre de usuario de CipherTrust ManagerRequerida
CIPHERTRUST_PASSWORDContraseña de CipherTrust ManagerRequerida
CIPHERTRUST_NOSSLVERIFYDeshabilitar verificación SSL (true/false)false
CIPHERTRUST_TIMEOUTTiempo de espera para solicitudes de CipherTrust (segundos)30
CIPHERTRUST_DOMAINDominio predeterminado de CipherTrustroot
CIPHERTRUST_AUTH_DOMAINDominio de autenticaciónroot
KSCTL_PATHRuta al binario de ksctl~/.ciphertrust-mcp/ksctl
KSCTL_CONFIG_PATHRuta al archivo de configuración de ksctl~/.ksctl/config.yaml
LOG_LEVELNivel de registro (DEBUG, INFO)INFO

Ejemplo de archivo .env:

CIPHERTRUST_URL=https://your-ciphertrust.example.com
CIPHERTRUST_USER=admin
CIPHERTRUST_PASSWORD=yourpassword
CIPHERTRUST_NOSSLVERIFY=false
CIPHERTRUST_TIMEOUT=30
CIPHERTRUST_DOMAIN=root
CIPHERTRUST_AUTH_DOMAIN=root
KSCTL_PATH=
KSCTL_CONFIG_PATH=
LOG_LEVEL=INFO

Solución de Problemas

Registros de inicio exitosos:

  • El servidor está diseñado para ejecutarse como un subproceso de los clientes MCP (como Claude Desktop o Cursor) y se comunica mediante JSON-RPC a través de stdin/stdout.
  • Verá una salida de registro como la siguiente en el registro MCP del asistente de IA:
2025-06-16 02:22:30,462 - ciphertrust_mcp_server.server - INFO - Starting ciphertrust-manager v0.2.0
2025-06-16 02:22:30,838 - ciphertrust_mcp_server.server - INFO - Successfully connected to CipherTrust Manager
2025-06-16 02:22:30,838 - ciphertrust_mcp_server.server - INFO - MCP server ready and waiting for JSON-RPC messages on stdin...

Dependencias

El archivo pyproject.toml incluye estas dependencias:

  • mcp>=2.1.1,<3
  • pydantic>=2.12.0
  • pydantic-settings>=2.0.0
  • httpx>=0.27.0
  • python-dotenv>=1.0.0

Si encuentra problemas, asegúrese de que todas las dependencias estén instaladas y actualizadas.

Estructura del Proyecto

ciphertrust-manager-mcp-server/
├── src
│   ├── ciphertrust_mcp_server/     # Main server code
├── tests/                      	# Testing configuration and unit tests
│   ├── mcp_inspector_config.json
│   ├── test_scenarios.json
│   ├── test_server.py
│   └── test_integration_simple.py
├── scripts/                    	# Testing and utility scripts
│   ├── test_with_inspector.bat
│   ├── test_with_inspector.sh
│   └── run_tests.py
├── docs/                      		# Additional documentation
│   ├── TESTING.md
│   ├── EXAMPLE_PROMPTS.md
│   └── TOOLS.md
├── README.md                   	# This file
├── pyproject.toml             		# Python dependencies
└── package.json               		# Node.js dependencies for testing

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción (Pull Request). Aunque esto comenzó como un proyecto personal, las contribuciones ayudan a mejorarlo para todos.

Legal

Aviso de Marca Comercial

CipherTrust® y las marcas comerciales relacionadas son propiedad de Thales Group y sus subsidiarias. Este proyecto no está afiliado, respaldado ni patrocinado por Thales Group.

Sin Garantía

Este software se proporciona "tal cual" sin garantía de ningún tipo. Úselo bajo su propio riesgo.

Soporte

Este es un proyecto independiente. Para obtener soporte oficial de CipherTrust Manager, comuníquese directamente con Thales. Para problemas con este servidor MCP no oficial, utilice el rastreador de problemas de GitHub.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para obtener más detalles.