CipherTrust Manager MCP Server
Enables AI assistants like Claude and Cursor to interact with CipherTrust Manager resources for key management, CTE client management, user management, and connection management through the ksctl CLI.
README
CipherTrust Manager MCP Server
This project implements an independently-developed CipherTrust MCP (Model Context Protocol) server that allows AI Assistants like Claude or Cursor to interact with CipherTrust Manager resources using the ksctl CLI.
Table of Contents
- Important Notice
- Features
- Prerequisites
- Installation
- Configuration
- Usage
- Testing
- Integration with AI Assistants
- Environment Variables
- Troubleshooting
- Project Structure
- Contributing
- Legal
- License
Important Notice
This is an independent, open-source project. Please note:
- ⚠️ Not officially supported by Thales
- ✅ Uses public APIs and documented interfaces
- 🔧 Independently maintained
- 📝 Use at your own risk - test thoroughly in your environment
- 💼 No warranty - see license for full terms
For official CipherTrust Manager support, please contact Thales directly.
Features
The MCP server exposes a set of tools and endpoints for clients (such as Claude Desktop and Cursor) to interact with CipherTrust resources. Supported operations include:
- Key management
- CTE client management
- User management
- Connection management
- And more
Benefits:
- Unified interface for AI assistants to interact with CipherTrust Manager
- Support for key management, connection management, CTE client management, and more
- JSON-RPC communication over stdin/stdout
- Configurable via environment variables
Prerequisites
- Git
- Python 3.11 or higher
- uv for dependency management
- Access to a CipherTrust Manager instance
Installing Git (Windows)
If you don't have Git installed on Windows, follow these steps:
- Download and install Git for Windows: https://git-scm.com/download/win
- Or install via winget:
winget install --id Git.Git -e --source winget - Verify installation - Open PowerShell and execute:
You should see the installed Git version.git --version
Installing Python and uv
Method 1: Manual Installation
1. Download 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. Run the Installer
.\python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
3. Verify Installation
Open a new terminal and run:
python --version
pip --version
4. Install uv
pip install uv
uv --version
5. Clone the Repository
git clone https://github.com/sanyambassi/ciphertrust-manager-mcp-server.git
cd ciphertrust-manager-mcp-server
6. Create a Virtual Environment and Install Dependencies
uv venv
.venv\Scripts\activate
uv pip install -e .
Method 2: Using winget (Windows)
1. Install Python with winget
winget install --id Python.Python.3.12 --source winget --accept-package-agreements --accept-source-agreements
2. Close and Reopen PowerShell
This ensures Python is available in your PATH.
3. Verify Installation
python --version
pip --version
4. Install uv
pip install uv
uv --version
5. Clone the Repository
git clone https://github.com/sanyambassi/ciphertrust-manager-mcp-server.git
cd ciphertrust-manager-mcp-server
6. Create a Virtual Environment and Install Dependencies
uv venv
.venv\Scripts\activate
uv pip install -e .
Configuration
(Optional) Copy and Edit the Example Environment File
Example .env:
cp .env.example .env
# Edit .env with your CipherTrust Manager details
You can also set these as environment variables directly instead of using a .env file.
Example .env content:
CIPHERTRUST_URL=https://your-ciphertrust-manager.example.com
CIPHERTRUST_USER=admin
CIPHERTRUST_PASSWORD=your-password-here
CIPHERTRUST_NOSSLVERIFY=true
Usage
⚠️ Important: Before starting, either the environment variable or .env should contain a valid CipherTrust Manager URL.
You have two main ways to run the CipherTrust MCP Server:
Method 1: Direct Execution
uv run ciphertrust-mcp-server
This runs the main() function in ciphertrust_mcp_server/__main__.py.
Method 2: Module Execution
uv run python -m ciphertrust_mcp_server.__main__
Testing
This project includes comprehensive testing capabilities using the Model Context Protocol Inspector and Python unit tests.
Quick Testing
# Manual JSON-RPC testing (direct stdin/stdout)
uv run ciphertrust-mcp-server
# Then send JSON-RPC commands (see TESTING.md for details)
# Interactive UI testing (opens browser interface)
npx @modelcontextprotocol/inspector uv run ciphertrust-mcp-server
# Quick CLI testing
# Get tools
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/list
# 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
# 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
Available Testing Methods
- 🔧 Manual JSON-RPC Testing: Direct stdin/stdout communication for debugging and development
- 🖥️ Interactive UI Testing: Visual web interface for manual testing and debugging
- ⚡ CLI Automated Testing: Command-line automation for CI/CD integration
- 🧪 Python Unit Tests: Comprehensive unit testing for server components
- 🔗 Integration Tests: End-to-end testing with real CipherTrust Manager instances
NPM Scripts
After creating a package.json file:
npm run test:inspector:ui # Open interactive testing interface
npm run test:inspector:cli # Run automated CLI tests
npm run test:python # Run Python unit tests
npm run test:full # Run complete test suite
Comprehensive Testing Guide
📖 For detailed testing instructions, see TESTING.md
🔧 For example AI assistant prompts, see EXAMPLE_PROMPTS.md
The testing guide covers:
- Complete setup and configuration
- Advanced testing scenarios
The example prompts include:
- Key management operations
- User and group management
- System and service management
- Cluster management
- License management
- CTE operations
- Crypto operations
- And more practical scenarios
Integration with AI Assistants
Using with Cursor
1. Configure Cursor
- Go to Settings > MCP Tools > Add Custom MCP
- Add the following contents in the config file (e.g.,
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"
}
}
}
}
On Windows, use the .venv\Scripts\ciphertrust-mcp-server.exe path and double backslashes:
{
"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. Apply Configuration
Disable and Re-enable the CipherTrust MCP server in Cursor to apply the changes.
Using with Claude Desktop
1. Locate or create the Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Roaming\Claude\claude_desktop_config.json
2. Add or update the MCP server configuration:
macOS/Linux Example:
{
"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"
}
}
}
}
Windows Example:
{
"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"
}
}
}
}
Adjust the path to match your actual project location and environment.
3. Restart Claude Desktop
Restart Claude Desktop to apply the changes.
Environment Variables
Set these in your shell or in a .env file in the project root:
| Variable Name | Description | Required/Default |
|---|---|---|
CIPHERTRUST_URL |
CipherTrust Manager URL (http/https) | Required |
CIPHERTRUST_USER |
CipherTrust Manager username | Required |
CIPHERTRUST_PASSWORD |
CipherTrust Manager password | Required |
CIPHERTRUST_NOSSLVERIFY |
Disable SSL verification (true/false) | false |
CIPHERTRUST_TIMEOUT |
Timeout for CipherTrust requests (seconds) | 30 |
CIPHERTRUST_DOMAIN |
Default CipherTrust domain | root |
CIPHERTRUST_AUTH_DOMAIN |
Authentication domain | root |
KSCTL_PATH |
Path to ksctl binary | ~/.ciphertrust-mcp/ksctl |
KSCTL_CONFIG_PATH |
Path to ksctl config file | ~/.ksctl/config.yaml |
LOG_LEVEL |
Logging level (DEBUG, INFO) | INFO |
Example .env file:
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
Troubleshooting
Successful startup logs:
- The server is designed to be run as a subprocess by MCP clients (like Claude Desktop or Cursor) and communicates via JSON-RPC over stdin/stdout.
- You'll see log output like in the AI assistant's MCP log:
2025-06-16 02:22:30,462 - ciphertrust_mcp_server.server - INFO - Starting ciphertrust-manager v0.1.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...
Dependencies
The pyproject.toml file includes these dependencies:
mcp>=1.0.0pydantic>=2.0.0pydantic-settings>=2.0.0httpx>=0.27.0python-dotenv>=1.0.0
If you encounter issues, ensure all dependencies are installed and up-to-date.
Project Structure
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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. While this started as a personal project, contributions help make it better for everyone.
Legal
Trademark Notice
CipherTrust® and related trademarks are the property of Thales Group and its subsidiaries. This project is not affiliated with, endorsed by, or sponsored by Thales Group.
No Warranty
This software is provided "as is" without warranty of any kind. Use at your own risk.
Support
This is an independent project. For official CipherTrust Manager support, please contact Thales directly. For issues with this unofficial MCP server, please use the GitHub issue tracker.
License
This project is licensed under the MIT License. See the LICENSE file for details.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。