development
documentation
public
AI Assistants
open-source
What is An independently-developed CipherTrust MCP server for AI Assistants.?
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. It exposes tools and endpoints for key management, user management, and more, providing a unified interface for AI assistants.
Documentation
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.
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:
โ ๏ธ 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
uv run ciphertrust-mcp-server\n\n# 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\n\n# Get tools
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/list\n\n# 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\n\n# 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
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.0
pydantic>=2.0.0
pydantic-settings>=2.0.0
httpx>=0.27.0
python-dotenv>=1.0.0
If you encounter issues, ensure all dependencies are installed and up-to-date.
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.