SuperAPI AI 工具集

halo-change-request

部署与运维

查看项目

更新于 10-15 17:21

技能介绍

用途:在 HaloPSA / HaloITSM(同一产品的 MSP 版与内部 IT 版,API 相同)中按“发现 → 预览 → 确认 → 提交”流程创建变更请求。Halo 中的“变更请求”并非内置对象,而是按组织配置的工单类型(Request Type),其数字 id 与自定义字段因组织而异,且常见客户变更、内部变更、标准/常规/紧急等多种类型,因此必须先发现并人工确认。

主要能力:通过 halo-mcp 服务提供只读工具(halo_list_ticket_types、halo_get_ticket_type、halo_list_fields、halo_get_field、halo_list_tickets、halo_get_ticket、halo_list_clients、halo_list_sites、halo_list_users),以及唯一的写工具 halo_create_change_request;submit=false 时只返回将 POST 到 /api/Tickets 的请求体,不产生写入。配合 Memory MCP 按租户缓存已确认的变更类型(entity=halo-<tenant>,key=change_ticket_types)。

使用方式:先用 memory_get_facts 读取该租户已确认的变更类型目录并按分类(customer、internal、emergency 等)匹配;缺失或失效时用 halo_list_ticket_types(can_create_only=true) 发现候选并请操作者选择,确认后用 memory_record_fact 与 memory_record_decision 记录。再通过 halo_get_ticket_type 获取字段模式,用 halo_list_tickets / halo_get_ticket 参考真实样例,解析客户/站点/用户后调用 halo_create_change_request 预览,展示原始请求体并停止,仅在操作者针对该预览明确批准后以 submit=true 再次调用完成写入。最后将决策、预览、批准和生成的工单 id 记入 GAIT 审计。

运行条件:命令 python3 -u mcp-servers/halo-mcp/halo_mcp_server.py(stdio),Python 3.10+,依赖 fastmcp、httpx、python-dotenv;环境变量 HALO_BASE_URL、HALO_CLIENT_ID、HALO_CLIENT_SECRET 为必需,HALO_TENANT、HALO_SCOPE、HALO_AUTH_URL、HALO_VERIFY_SSL、HALO_TIMEOUT、HALO_PAGE_SIZE / HALO_MAX_PAGES、HALO_RATE_LIMIT 可选,OAuth2 客户端凭据认证。

限制:整个服务只有 halo_create_change_request 一个写入工具;禁止跳过预览与逐次人工批准;不得假设只有一个变更类型或自动选择;Memory 只存类型 id 与字段元数据,绝不存凭据或工单内容;缓存类型无法解析时需失效并重新发现。