HaloPSA MCP 服务器

一个MCP(模型上下文协议)服务器,通过自然语言为AI代理提供HaloPSA API访问,管理票据、客户、资产等。

  • by Tim-ImpendingTech
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Tim-ImpendingTech/HaloPSA-MCP-Server

使用说明

HaloPSA MCP服务器

一个MCP(模型上下文协议)服务器,为AI代理提供访问HaloPSA API的权限。通过Claude Desktop或任何兼容MCP的客户端,使用自然语言管理票证、客户端、资产等。

特性

  • 35+工具 涵盖门票、客户、资产、代理商、场地、合同、项目、发票、预约、知识库、供应商、报价和机会
  • 票务跟踪 --列出分配给特定代理或由特定代理创建的票证的专用工具
  • OAuth2身份验证 具有自动令牌缓存和刷新功能
  • 分页和过滤 在所有列表操作中
  • TypeScript 以严谨的方式,建立在官方的基础上 @modelcontextprotocol/sdk

设置

先决条件

  • Node.js 18+
  • 配置了API访问权限的HaloPSA实例
  • OAuth2客户端ID和机密(在HaloPSA中的“配置”>“集成”>“API应用程序”下创建API应用程序)

安装

git clone https://github.com/Tim-ImpendingTech/HaloPSA-MCP-Server.git
cd HaloPSA-MCP-Server
npm install
npm run build

配置

创建一个 .env 文件(或设置环境变量):

HALOPSA_BASE_URL=https://halo.yourcompany.co.uk
HALOPSA_TENANT=yourtenantname
HALOPSA_CLIENT_ID=your-client-id
HALOPSA_CLIENT_SECRET=your-client-secret

可选变量:

变量 默认值 描述
HALOPSA_AUTH_URL {HALOPSA_BASE_URL}/auth 覆盖身份验证服务器URL
HALOPSA_SCOPE all OAuth2范围
HALOPSA_TIMEOUT_MS 30000 请求超时(毫秒)

Claude桌面配置

添加到您的Claude Desktop配置文件(claude_desktop_config.json):

{
  "mcpServers": {
    "halopsa": {
      "command": "node",
      "args": ["/path/to/HaloPSA-MCP-Server/dist/index.js"],
      "env": {
        "HALOPSA_BASE_URL": "https://halo.yourcompany.co.uk",
        "HALOPSA_TENANT": "yourtenantname",
        "HALOPSA_CLIENT_ID": "your-client-id",
        "HALOPSA_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

可用工具

门票

工具 说明
halo_list_tickets 按客户、代理、状态、类型、团队、站点筛选列出门票
halo_get_ticket 通过身份证获得一张包含完整详细信息的单程票
halo_create_ticket 创建新票证
halo_update_ticket 更新现有工单
halo_list_assigned_tickets 列出分配给特定代理的所有门票
halo_list_created_tickets 列出特定用户创建/报告的所有票证

行动

工具 说明
halo_list_actions 列出工单上的操作(注释、更新、电子邮件)
halo_create_action 为工单添加注释、回复或更新

客户

工具 说明
halo_list_clients 列出客户(组织)
halo_get_client 按ID获取单个客户端
halo_create_client 创建新客户端
halo_update_client 更新现有客户端

资产

工具 说明
halo_list_assets 列出具有筛选功能的资产(设备、CI)
halo_get_asset 按ID获取单个资产
halo_create_asset 创建新资产
halo_update_asset 更新现有资产

代理

工具 说明
halo_list_agents 列出代理商(技术人员/员工)
halo_get_agent 按ID获取单个代理

站点

工具 说明
halo_list_sites 列出地点(地点)
halo_get_site 按ID获取单个站点
halo_create_site 创建新网站

查找数据

工具 说明
halo_list_statuses 列出所有票证状态
halo_list_teams 列出所有团队
halo_list_ticket_types 列出所有门票类型
halo_list_priorities 列出所有优先级

知识库

工具 说明
halo_search_kb_articles 搜索知识库文章
halo_get_kb_article 按ID获取知识库文章
halo_create_kb_article 创建新的知识库文章

合同

工具 说明
halo_list_contracts 列出客户合同
halo_get_contract 通过ID获取合同

项目

工具 说明
halo_list_projects 列出项目
halo_get_project 按ID获取项目
halo_create_project 创建新项目
halo_update_project 更新现有项目

发票

工具 说明
halo_list_invoices 列出发票
halo_get_invoice 按ID获取发票

预约

工具 说明
halo_list_appointments 列出约会
halo_get_appointment 凭身份证预约
halo_create_appointment 创建新约会

供应商

工具 说明
halo_list_suppliers 列出供应商
halo_get_supplier 通过ID获取供应商

引文

工具 说明
halo_list_quotations 列出报价
halo_get_quotation 按ID获取报价

机会

工具 说明
halo_list_opportunities 列出销售机会(销售渠道)
halo_get_opportunity 通过ID获得机会

发展

# Run in development mode (with auto-reload)
npm run dev

# Build
npm run build

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

许可证

麻省理工学院