返回市场
密钥信任管理器MCP服务器

密钥信任管理器MCP服务器

作者:sanyambassi7 星标更新:2025-08-21

项目介绍

技术文档摘要

CipherTrust Manager MCP Server

该项目实现了一个独立开发的CipherTrust MCP(模型上下文协议)服务器,允许像Claude或Cursor这样的AI助手通过ksctl CLI与CipherTrust Manager资源进行交互。

目录

重要通知

这是一个独立的开源项目。请注意:

  • ⚠️ 不受Thales官方支持
  • ✅ 使用公共API和已记录的接口
  • 🔧 独立维护
  • 📝 自行承担风险使用 - 在您的环境中彻底测试
  • 💼 无保证 - 查看许可证以获取完整条款

如需官方CipherTrust Manager支持,请直接联系Thales。

特性

MCP服务器提供了一组工具和端点,供客户端(例如Claude Desktop和Cursor)与CipherTrust资源进行交互。支持的操作包括:

  • 密钥管理
  • CTE客户端管理
  • 用户管理
  • 连接管理
  • 更多

优点:

  • 统一的界面,使AI助手能够与CipherTrust Manager进行交互
  • 支持密钥管理、连接管理、CTE客户端管理和更多功能
  • 通过stdin/stdout进行JSON-RPC通信
  • 可通过环境变量进行配置

前提条件

  • Git
  • Python 3.11或更高版本
  • uv 用于依赖管理
  • 访问CipherTrust Manager实例

安装Git(Windows)

如果您在Windows上没有安装Git,请按照以下步骤操作:

  • 下载并安装Git for Windowshttps://git-scm.com/download/win
  • 或者通过winget安装
    winget install --id Git.Git -e --source winget
    
  • 验证安装 - 打开PowerShell并执行:
    git --version
    
    您应该能看到已安装的Git版本。

安装Python和uv

方法1:手动安装

1. 下载Python

# 以管理员身份打开PowerShell(可选)
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. 运行安装程序

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

3. 验证安装

打开一个新的终端并运行:

python --version
pip --version

4. 安装uv

pip install uv
uv --version

5. 克隆仓库

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

6. 创建虚拟环境并安装依赖项

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

方法2:使用winget(Windows)

1. 使用winget安装Python

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

2. 关闭并重新打开PowerShell

这确保Python在您的PATH中可用。

3. 验证安装

python --version
pip --version

4. 安装uv

pip install uv
uv --version

5. 克隆仓库

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

6. 创建虚拟环境并安装依赖项

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

配置

(可选)复制并编辑示例环境文件

示例.env

cp .env.example .env
# 使用您的CipherTrust Manager详细信息编辑.env

您也可以直接设置这些环境变量,而不是使用.env文件。

示例.env内容:

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

使用

⚠️ 重要提示: 在启动之前,环境变量或.env文件应包含有效的CipherTrust Manager URL。

您有两种主要方式来运行CipherTrust MCP Server:

方法1:直接执行

uv run ciphertrust-mcp-server

这会运行ciphertrust_mcp_server/__main__.py中的main()函数。

方法2:模块执行

uv run python -m ciphertrust_mcp_server.__main__

测试

此项目包括使用模型上下文协议检查器和Python单元测试的全面测试能力。

快速测试

# 手动JSON-RPC测试(直接stdin/stdout)
uv run ciphertrust-mcp-server
# 然后发送JSON-RPC命令(详情见TESTING.md)

# 交互式UI测试(打开浏览器界面)
npx @modelcontextprotocol/inspector uv run ciphertrust-mcp-server

# 快速CLI测试
# 获取工具
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/list
# 获取系统信息
npx @modelcontextprotocol/inspector --cli --config tests/mcp_inspector_config.json --server ciphertrust-local --method tools/call --tool-name system_information --tool-arg action=get
# 获取2个密钥
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

可用测试方法

  • 🔧 手动JSON-RPC测试:直接stdin/stdout通信,用于调试和开发
  • 🖥️ 交互式UI测试:视觉web界面,用于手动测试和调试
  • ⚡ CLI自动化测试:命令行自动化,用于CI/CD集成
  • 🧪 Python单元测试:对服务器组件进行全面单元测试
  • 🔗 集成测试:与真实CipherTrust Manager实例进行端到端测试

NPM脚本

创建package.json文件后:

npm run test:inspector:ui     # 打开交互式测试界面
npm run test:inspector:cli    # 运行自动CLI测试
npm run test:python          # 运行Python单元测试
npm run test:full           # 运行完整的测试套件

全面测试指南

📖 详细的测试说明,请参阅TESTING.md

🔧 示例AI助手提示,请参阅EXAMPLE_PROMPTS.md

测试指南涵盖:

  • 完整的设置和配置
  • 高级测试场景

示例提示包括:

  • 密钥管理操作
  • 用户和组管理
  • 系统和服务管理
  • 集群管理
  • 许可证管理
  • CTE操作
  • 加密操作
  • 更多实际场景

与AI助手集成

与Cursor集成

1. 配置Cursor

  • 转到设置 > MCP工具 > 添加自定义MCP
  • 在配置文件(例如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"
      }
    }
  }
}

在Windows上,使用.venv\Scripts\ciphertrust-mcp-server.exe路径,并使用双反斜杠:

{
  "mcpServers": {
    "ciphertrust": {
      "command": "C:\\path\\to\\ciphertrust-manager-mcp-server\\.venv\\Scripts\\ciphertrust-mcp-server",
      "args": [],
      "env": {
        "CIPHERTRUST_URL": "https://your-ciphertrust.example.com",
        你的密码在这里
      }
    }
  }
}

2. 应用配置

在Cursor中禁用并重新启用CipherTrust MCP服务器以应用更改。

与Claude Desktop集成

1. 查找或创建Claude Desktop配置文件:

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

2. 添加或更新MCP服务器配置:

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"
      }
    }
  }
}

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"
      }
    }
  }
}

调整路径以匹配您的实际项目位置和环境。

3. 重启Claude Desktop

重启Claude Desktop以应用更改。

环境变量

在您的shell或项目根目录下的.env文件中设置这些变量:

变量名称描述必填/默认值
CIPHERTRUST_URLCipherTrust Manager URL(http/https)必填
CIPHERTRUST_USERCipherTrust Manager用户名必填
CIPHERTRUST_PASSWORDCipherTrust Manager密码必填
CIPHERTRUST_NOSSLVERIFY禁用SSL验证(true/false)false
CIPHERTRUST_TIMEOUTCipherTrust请求超时(秒)30
CIPHERTRUST_DOMAIN默认CipherTrust域root
CIPHERTRUST_AUTH_DOMAIN认证域root
KSCTL_PATHksctl二进制文件路径~/.ciphertrust-mcp/ksctl
KSCTL_CONFIG_PATHksctl配置文件路径~/.ksctl/config.yaml
LOG_LEVEL日志级别(DEBUG, INFO)INFO

示例.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

故障排除

成功启动日志:

  • 该服务器设计为由MCP客户端(如Claude Desktop或Cursor)作为子进程运行,并通过stdin/stdout进行JSON-RPC通信。
  • 您将在AI助手的MCP日志中看到如下输出:
2025-06-16 02:22:30,462 - ciphertrust_mcp_server.server - INFO - 正在启动ciphertrust-manager v0.1.0
2025-06-16 02:22:30,838 - ciphertrust_mcp_server.server - INFO - 已成功连接到CipherTrust Manager
2025-06-16 02:22:30,838 - ciphertrust_mcp_server.server - INFO - MCP服务器已准备好并等待从stdin接收JSON-RPC消息...

依赖项

pyproject.toml文件包含以下依赖项:

  • mcp>=1.0.0
  • pydantic>=2.0.0
  • pydantic-settings>=2.0.0
  • httpx>=0.27.0
  • python-dotenv>=1.0.0

如果遇到问题,请确保所有依赖项均已安装并是最新的。

项目结构

ciphertrust-manager-mcp-server/
├── src
│   ├── ciphertrust_mcp_server/     # 主服务器代码
├── tests/                      	# 测试配置和单元测试
│   ├── mcp_inspector_config.json
│   ├── test_scenarios.json
│   ├── test_server.py
│   └── test_integration_simple.py
├── scripts/                    	# 测试和实用脚本
│   ├── test_with_inspector.bat
│   ├── test_with_inspector.sh
│   └── run_tests.py
├── docs/                      		# 额外文档
│   ├── TESTING.md
│   ├── EXAMPLE_PROMPTS.md
│   └── TOOLS.md
├── README.md                   	# 本文档
├── pyproject.toml             		# Python依赖项
└── package.json               		# 测试用Node.js依赖项

贡献

欢迎贡献!请随时提交Pull Request。虽然这个项目最初是一个个人项目,但贡献有助于让每个人受益。

法律

商标声明

CipherTrust®及相关商标是Thales集团及其子公司的财产。本项目未得到Thales集团的认可、赞助或支持。

无保证

本软件按“原样”提供,不附带任何形式的保证。自行承担风险使用。

支持

这是一个独立的项目。如需官方CipherTrust Manager支持,请直接联系Thales。对于此非官方MCP服务器的问题,请使用GitHub问题跟踪器。

许可

本项目根据MIT许可发布。详情请参阅LICENSE文件。