项目简介
这是一个使用 Go 语言开发的 Model Context Protocol (MCP) 服务器,旨在将 Zammad 帮助台系统的功能集成到支持 MCP 的 LLM 客户端中。它通过标准化接口暴露 Zammad API 的数据和服务,使 LLM 能够获取 Zammad 中的信息并执行某些操作。
主要功能点
通过本 MCP 服务器,LLM 客户端可以访问以下 Zammad 功能:
- 获取票据列表: 查看所有可访问的 Zammad 票据。
- 获取特定票据详情: 根据票据 ID 获取单个票据的详细信息。
- 搜索票据: 根据查询字符串搜索相关票据。
- 创建新票据: 在 Zammad 中创建一个新的票据。
- 为票据添加备注: 向现有票据添加内部备注或文章。
- 获取票据沟通历史: 获取特定票据的所有文章(如邮件、备注等)。
- 获取用户列表: 查看所有可访问的 Zammad 用户。
- 获取特定用户详情: 根据用户 ID 获取单个用户的详细信息。
- 搜索用户: 根据查询字符串搜索 Zammad 用户(如按邮箱、登录名、姓名)。
安装步骤
- 安装 Go 语言: 确保您的系统安装了 Go 1.24 或更高版本。您可以从 Go 官方网站 下载并安装。
- 获取 Zammad 实例和 API Token: 您需要一个运行中的 Zammad 实例的 URL,以及一个具有足够权限的 API Token。关于如何生成 API Token,请参考以下简要步骤(详细请查阅 Zammad 文档):
- 使用管理员或有权限的账号登录 Zammad。
- 进入您的个人资料设置。
- 找到“Token Access”部分并创建新 Token。
- 给 Token 命名,并确保为其分配了访问票据 ('ticket.agent' 或 'ticket.customer') 和用户 ('user.reader') 所需的权限。
- 保存并立即复制生成的 Token,它只会显示一次。
- 克隆仓库: 打开终端,运行以下命令:
git clone https://github.com/arush15june/zammad-mcp-go.git cd zammad-mcp-go - 构建可执行文件: 在仓库目录中运行:
这将在当前目录生成一个名为 'zammad-mcp-go' (或 'zammad-mcp-go.exe' 在 Windows 上) 的可执行文件。go build -o zammad-mcp-go main.go
MCP 服务器配置 (为 MCP 客户端准备)
本服务器是设计给支持 MCP 协议的客户端(如某些 LLM 应用或工具)使用的。您需要在您的 MCP 客户端中配置本服务器。典型的配置方式是告诉客户端如何启动并与本服务器通信。这通常涉及指定服务器可执行文件的路径 ('command'),以及通过环境变量 ('env') 传递 Zammad 连接信息。
以下是一个示例配置结构(请参考您的 MCP 客户端的具体配置方式):
{ "mcpServers": { "zammad": { // 您为该服务器指定的名称 "command": "<zammad-mcp-go 可执行文件的完整路径>", "args": [], // 启动参数,通常为空 "env": { "ZAMMAD_URL": "<您的 Zammad 实例的 URL,例如 https://your-zammad.example.com>", "ZAMMAD_TOKEN": "<您的 Zammad API Token>" } } } }
请将 '<zammad-mcp-go 可执行文件的完整路径>','<您的 Zammad 实例的 URL>' 和 '<您的 Zammad API Token>' 替换为实际的值。
基本使用方法
一旦在您的 MCP 客户端中正确配置并启动了 Zammad MCP 服务器,支持 MCP 的 LLM 应用将能够:
- 发现服务器提供的能力(Resources 和 Tools)。
- 根据需要调用 Tools 执行操作(如创建票据、搜索票据/用户、添加备注)。
- 通过 Resources 读取结构化的数据(如获取票据/用户列表、获取票据/用户详情)。
LLM 通常会根据您的指令和上下文,自动决定何时以及如何使用这些暴露的能力与 Zammad 进行交互。
信息
分类
商业系统