项目简介

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' 秒)。

注意:'--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与计算