项目简介
Itential MCP 服务器是一个基于 Model Context Protocol (MCP) 标准构建的应用后端。它旨在将大语言模型(LLM)客户端连接到 Itential 平台,使 AI 助手能够利用 Itential 的能力进行网络自动化管理、工作流编排和平台状态监控。
该服务器通过标准化的方式暴露 Itential 平台的功能,允许 LLM 调用预定义的“工具”来执行操作或获取信息,例如检查平台健康状态、管理工作流等。
主要功能点
- 多传输协议支持: 支持 Stdio(标准输入输出)和 SSE(Server-Sent Events)两种传输协议,灵活适应不同的部署环境和客户端需求。
- 动态工具加载: 无需修改服务器核心代码,即可自动发现并注册位于特定目录下的工具函数,方便扩展功能。
- 与 Itential 平台集成: 通过内置的客户端模块连接到 Itential 平台,支持基本的用户名密码认证和 OAuth 认证。
- 丰富工具集: 内置多种工具,可用于获取 Itential 平台健康状态、查询工作流/任务指标、列出可用工作流、启动工作流等。
- 配置灵活: 可通过命令行参数或环境变量进行配置。
安装步骤
本项目是一个 Python 应用,可以通过 PyPI 包管理器或从源代码安装。
通过 PyPI 安装
确保您已安装 Python 3.10 或更高版本。
pip install itential-mcp
从源代码安装 (适用于开发或构建 Docker 镜像)
克隆仓库并使用 'make' 命令构建环境。您需要安装 'uv' 和 'make' 工具。
git clone https://github.com/itential/itential-mcp cd itential-mcp make build
构建 Docker 镜像
如果希望在容器中运行,可以构建 Docker 镜像:
make container
服务器配置 (供MCP客户端参考)
MCP 客户端需要知道如何启动 MCP 服务器进程并与其建立连接。以下是配置 MCP 客户端时可能需要提供的服务器信息及参数说明:
通常,MCP 客户端的配置会是一个 JSON 对象,包含服务器的名称、启动命令及其参数。例如:
{ "name": "Itential Platform MCP", "command": "itential-mcp", "args": [ "--transport", "stdio", "--host", "0.0.0.0", "--port", "8000", "--log-level", "INFO", // ... 其他MCP服务器参数 ... ], // ... 可能还有其他连接相关的配置,取决于客户端 ... }
请根据您的 MCP 客户端要求和实际部署环境,参考以下参数说明进行配置:
- 'command': 启动 Itential MCP 服务器的可执行命令,通常是 'itential-mcp' (如果在环境变量 PATH 中)。
- 'args': 传递给 'command' 的参数列表。关键参数包括:
- '--transport <协议>': 指定 MCP 服务器使用的传输协议。
- 可选值:'stdio' (默认,通过标准输入/输出通信), 'sse' (通过 HTTP Server-Sent Events 通信)。
- '--host <地址>': 如果使用 SSE 传输,指定服务器监听的 IP 地址 (默认: 'localhost')。'0.0.0.0' 通常用于允许外部访问。
- '--port <端口>': 如果使用 SSE 传输,指定服务器监听的端口号 (默认: '8000')。
- '--log-level <级别>': 设置服务器的日志级别 (默认: 'INFO')。
- 可选值:'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'。
- '--platform-host <地址>': Itential 平台的 IP 地址或主机名 (默认: 'localhost')。这是 MCP 服务器连接的后台服务地址。
- '--platform-port <端口>': Itential 平台的端口 (默认: '0',表示自动检测)。
- '--platform-disable-tls': 如果指定,则连接 Itential 平台时禁用 TLS 加密 (默认: 不禁用)。
- '--platform-disable-verify': 如果指定,则连接 Itential 平台时禁用证书验证 (默认: 不禁用)。
- '--platform-user <用户>': 连接 Itential 平台使用的用户名 (默认: 'admin')。
- '--platform-password <密码>': 连接 Itential 平台使用的密码 (默认: 'admin')。
- '--platform-client-id <ID>': 使用 OAuth 认证连接 Itential 平台的 Client ID。
- '--platform-client-secret <密钥>': 使用 OAuth 认证连接 Itential 平台的 Client Secret。
- '--platform-timeout <秒>': 连接 Itential 平台的超时时间 (默认: '30' 秒)。
- '--transport <协议>': 指定 MCP 服务器使用的传输协议。
注意:'--platform-*' 系列参数是配置 MCP 服务器如何连接到 Itential 平台 后端,而不是 MCP 客户端连接到 MCP 服务器的参数。然而,一些 MCP 客户端可能允许通过服务器启动参数来配置后端连接。
所有这些参数也可以通过环境变量设置,环境变量名前缀为 'ITENTIAL_MCP_'。例如,设置传输协议可以使用 'export ITENTIAL_MCP_TRANSPORT=sse'。
基本使用方法
安装后,可以直接从命令行启动 MCP 服务器。
使用默认的 Stdio 传输启动 (通常用于与同一进程或通过标准I/O通信的客户端):
itential-mcp
使用 SSE 传输并在指定地址和端口监听 (通常用于通过网络连接的客户端):
itential-mcp --transport sse --host 0.0.0.0 --port 8000
启动服务器后,它将等待 MCP 客户端连接并发送 JSON-RPC 请求。
信息
分类
AI与计算