项目简介
JumpServer MCP Server 是一个基于 Model Context Protocol (MCP) 的应用后端,它将 JumpServer 的管理 API 转化为可供大模型 (LLM) 客户端调用的工具。通过标准化的 MCP 协议,该服务器允许 AI 应用安全、便捷地访问 JumpServer 的功能和数据,实现自动化运维和智能交互。
主要功能点
- JumpServer API 封装: 自动解析 JumpServer 的 OpenAPI (Swagger) 规范,将其提供的 RESTful API 转换为标准 MCP 工具。
- 工具调用执行: 接收 LLM 客户端发起的工具调用请求,负责向 JumpServer API 发起实际的 HTTP 调用,并处理返回结果。
- 标准协议支持: 基于 Server-Sent Events (SSE) 实现 MCP 协议的通信,支持客户端与服务器之间的数据交换。
- 身份验证集成: 集成 JumpServer API 的 Bearer Token 认证机制,并在工具调用时应用,确保操作权限。
- 动态能力声明: 根据 JumpServer API 规范动态生成并向客户端声明可用的工具能力。
安装步骤
本项目推荐使用 Docker 容器方式部署:
-
准备 JumpServer API Token: 获取用于访问 JumpServer API 的 Bearer Token。您可以通过 JumpServer 的 API 认证接口(通常是 '/api/v1/authentication/auth/')使用用户名和密码获取。获取方法请参考仓库 README 中的 'curl' 命令示例。
-
创建 '.env' 环境文件: 在计划部署 MCP 服务器的机器上创建一个名为 '.env' 的文件,内容如下,请替换为您的 JumpServer URL 和上一步获取的 API Token:
# Bearer token to access the JumpServer API api_token=您的JumpServer API Token # JumpServer URL jumpserver_url=您的JumpServer URL (例如: http://jumpserverhost) # 更多配置项可参考 config.py 文件,如服务器监听端口 server_port,是否开启 debug 等 -
启动 Docker 容器: 使用以下命令启动 JumpServer MCP Server Docker 容器:
docker run -d -it -p 8099:8099 --env-file .env --name jms_mcp ghcr.io/jumpserver/mcp:latest提示:'-p 8099:8099' 将容器内部的 8099 端口映射到宿主机的 8099 端口,您可以根据需要修改宿主机端口。'--env-file .env' 指定加载您的环境配置文件。
服务器配置 (供 MCP 客户端使用)
要连接到 JumpServer MCP Server,您的 MCP 客户端需要以下基本配置信息:
- 连接协议 (type): 'sse' (Server-Sent Events)
- 服务器地址 (url): MCP 服务器监听的完整 URL。默认情况下,如果您将容器端口 8099 映射到宿主机的 8099 端口,且 'base_path' 配置为 '/sse' (默认值),则 URL 为 'http://<您部署服务器的IP或域名>:8099/sse'。请根据实际部署情况调整 IP/域名和端口。
- 身份验证 (headers / initializationOptions):
- 如果 MCP 服务器本身配置了 API Key ('settings.api_key') 用于保护 MCP 端点,客户端连接时需要在 HTTP Header 中包含 'Authorization: Bearer <您的MCP服务器API Key>'。
- 用于调用 JumpServer API 的 Token ('api_token' 在服务器 '.env' 中配置的那个) 通常会作为会话初始化选项 ('initializationOptions') 的一部分,在 MCP 协议内部传递给服务器。这部分由 MCP 客户端根据其框架实现来传递。
示例客户端配置结构 (JSON):
{ "type": "sse", // 连接协议 "url": "http://127.0.0.1:8099/sse", // MCP服务器地址 // 可能需要用于验证MCP端点的Header,取决于服务器设置 // "headers": { // "Authorization": "Bearer your_mcp_server_api_key" // }, // 用于JumpServer API调用的Token通常在sessionOptions中传递,具体结构取决于客户端实现 // "initializationOptions": { ... } }
基本使用方法
- 确保 JumpServer 服务正常运行。
- 按照安装步骤成功启动 JumpServer MCP Server Docker 容器。
- 使用支持 MCP 协议的 LLM 客户端,配置正确的连接信息 ('type' 和 'url') 以及必要的认证信息。
- 客户端连接成功后,即可发现 JumpServer API 暴露的各种工具,并向 MCP 服务器发送工具调用请求,实现对 JumpServer 功能的调用。
信息
分类
商业系统