项目简介
ThothCTL是一个用于创建和管理内部开发者平台(IDP)任务的命令行工具。它旨在帮助基础设施、DevOps、DevSecOps、开发者和平台工程团队加速工作、减少错误并提高合规性。
本项目仓库包含了ThothCTL工具本身及其Model Context Protocol (MCP) 服务器实现。MCP服务器模块允许兼容的LLM客户端连接到ThothCTL,以便LLM能够发现ThothCTL提供的能力(作为工具和资源)并执行相关操作,从而将LLM集成到开发和运维流程中。
主要功能点
该MCP服务器通过HTTP接口暴露了ThothCTL的核心功能:
- 工具注册与执行: 允许LLM发现并调用ThothCTL的各种命令,例如初始化项目、列出项目、执行代码扫描、管理库存等。
- 资源访问: 允许LLM获取ThothCTL管理的资源信息,例如已注册的项目列表。
- 上下文提供: 为LLM提供关于项目结构、依赖、配置等上下文信息,辅助其理解和执行任务。
安装步骤
ThothCTL及其MCP服务器是Python包,可以通过pip安装。
-
安装操作系统依赖:
- 确保系统安装了 'graphviz' (或 'dot') 和 'wkhtmltopdf'。
- 在Linux/Debian上,可以使用 'sudo apt install graphviz wkhtmltopdf -y' 进行安装。
- 在Windows上,可以使用Chocolatey ('choco install graphviz')。
- 确保安装了Python 3.8 或更高版本。
-
使用pip安装ThothCTL:
pip install --upgrade thothctl
这将安装ThothCTL命令行工具,其中包含了MCP服务器模块。
服务器配置 (为MCP客户端提供)
为了让LLM客户端连接并使用ThothCTL MCP服务,您需要启动该服务,并为客户端提供连接信息。典型的MCP客户端需要服务器的启动命令和参数。
以下是LLM客户端可能需要配置的ThothCTL MCP服务启动信息示例(JSON格式):
{ "server_name": "thothctl-mcp", "description": "ThothCTL Model Context Protocol Server", "command": ["thothctl"], "args": [ "mcp", "server", "--port", "8080" ], "protocol": "http", "notes": "服务器监听端口默认为8080,可通过 --port 参数指定。确保执行命令的环境已安装thothctl,并且路径正确。" }
请注意:
- 'command': 启动ThothCTL MCP服务器的实际命令。通常是 '["thothctl"]'。
- 'args': 传递给命令的参数列表。启动MCP服务器的参数是 '["mcp", "server"]',您可以通过添加 '"--port", "<端口号>"' 来指定监听端口,默认为8080。
- 'protocol': MCP服务器使用的传输协议。根据代码实现,这里是 'http'。
- 'server_name' 和 'description' 是用于标识服务器的友好名称和描述。
- 'notes' 字段提供了额外说明。
将上述JSON配置提供给您的LLM客户端,以便客户端能够正确启动和连接到ThothCTL MCP服务。
基本使用方法
-
启动MCP服务器: 在终端中运行安装好的'thothctl'命令,启动MCP服务器。
thothctl mcp server --port 8080服务器将启动并监听指定的端口(默认为8080)。
-
LLM客户端连接: 配置您的LLM客户端使用上面提供的JSON信息连接到ThothCTL MCP服务器。客户端将通过HTTP向服务器发送请求(例如,请求可用的工具列表'/tools'或执行某个工具'/execute')。
-
LLM客户端交互: 一旦连接建立,LLM客户端可以:
- 通过'/tools'接口获取ThothCTL提供的工具(命令)列表及其参数定义。
- 通过'/execute'接口调用特定的ThothCTL命令,并传递所需的参数。MCP服务器将执行对应的命令行操作,并将输出(stdout, stderr)和返回码返回给LLM客户端。
- 通过调用特定的工具(例如 'thothctl_get_projects')获取ThothCTL管理的资源信息。
重要提示: ThothCTL MCP服务器当前通过HTTP暴露接口。请确保在安全的环境中运行,特别是在处理敏感操作时。未来的版本可能会增加更多传输协议支持(如Stdio)。
信息
分类
开发者工具