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
- Características
- Requisitos Previos
- Instalación
- Configuración
- Uso
- Pruebas
- Integración con Asistentes de IA
- Variables de Entorno
- Solución de Problemas
- Estructura del Proyecto
- Contribuciones
- Legal
- Licencia
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:
Debería ver la versión de Git instalada.git --version
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 Variable | Descripción | Requerida/Valor Predeterminado |
|---|---|---|
CIPHERTRUST_URL | URL de CipherTrust Manager (http/https) | Requerida |
CIPHERTRUST_USER | Nombre de usuario de CipherTrust Manager | Requerida |
CIPHERTRUST_PASSWORD | Contraseña de CipherTrust Manager | Requerida |
CIPHERTRUST_NOSSLVERIFY | Deshabilitar verificación SSL (true/false) | false |
CIPHERTRUST_TIMEOUT | Tiempo de espera para solicitudes de CipherTrust (segundos) | 30 |
CIPHERTRUST_DOMAIN | Dominio predeterminado de CipherTrust | root |
CIPHERTRUST_AUTH_DOMAIN | Dominio de autenticación | root |
KSCTL_PATH | Ruta al binario de ksctl | ~/.ciphertrust-mcp/ksctl |
KSCTL_CONFIG_PATH | Ruta al archivo de configuración de ksctl | ~/.ksctl/config.yaml |
LOG_LEVEL | Nivel 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,<3pydantic>=2.12.0pydantic-settings>=2.0.0httpx>=0.27.0python-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.