返回市场
扎马德-MCP-Go

扎马德-MCP-Go

作者:arush15june11 星标更新:2025-07-08

项目介绍

zammad-go-mcp

用于访问Zammad API的MCP服务器。

此服务器支持以下功能:

  • 阅读工单和用户列表。
  • 获取特定工单和用户的详细信息。
  • 搜索工单和用户。
  • 创建新的工单。
  • 向现有工单添加备注(文章)。
  • 获取工单的通信历史记录(文章)。

功能

该服务器提供了以下MCP资源和工具:

资源允许AI通过URI以结构化的方式从Zammad中读取数据。

  • zammad://tickets
    • 名称: 列出工单
    • 描述: 列出所有可通过配置的API令牌访问的工单。
    • MIME类型: application/json
  • zammad://tickets/{ticket_id} (模板)
    • 名称: 显示工单(资源)
    • 描述: 显示由其 {ticket_id} 标识的特定工单的详细信息。
    • MIME类型: application/json
  • zammad://users
    • 名称: 列出用户
    • 描述: 列出所有可通过配置的API令牌访问的用户。
    • MIME类型: application/json
  • zammad://users/{user_id} (模板) 名称: 显示用户(资源) 描述: 显示由其 {user_id} 标识的特定用户的详细信息。 MIME类型: application/json

工具

工具允许AI在Zammad中执行操作或特定查询。

  • create_ticket: 在Zammad中创建一个新的工单。
    • 需要:title, group, customer(电子邮件或用户ID),body
    • 可选:type(文章类型,默认:"note"),internal(布尔值,默认:false)。
  • search_tickets: 根据查询字符串搜索工单。
    • 需要:query
    • 可选:limit(默认:50)。
  • add_note_to_ticket: 向现有工单添加内部备注(文章)。
    • 需要:ticket_id, body
    • 可选:internal(布尔值,默认:true)。
  • get_ticket: 根据ID检索特定工单的详细信息。
    • 需要:ticket_id
  • get_user: 根据ID检索特定用户的详细信息。
    • 需要:user_id
  • search_users: 根据查询字符串(例如,电子邮件、登录名、姓名)搜索用户。
    • 需要:query
    • 可选:limit(默认:5_0)。
  • get_ticket_articles: 检索特定工单的所有文章(通信)。
    • 需要:ticket_id

前提条件

  • Go: 安装了1.24或更高版本。
  • Zammad实例: 可访问运行中的Zammad实例(URL)。
  • Zammad API令牌: 在您的Zammad实例中生成具有足够权限的API令牌。

获取Zammad API令牌

您需要在Zammad中生成一个API令牌,以便此MCP服务器能够进行身份验证并与API交互。

  1. 使用管理员账户(或具有管理API令牌权限的账户)登录到您的Zammad实例。
  2. 导航到您的个人资料设置(通常通过点击左下角的头像/首字母)。
  3. 转到Token Access部分。
  4. 点击**“创建”**或相应的按钮以生成新令牌。
  5. 给令牌一个描述性的标签(例如,“Claude MCP Server”)。
  6. 关键地分配必要的权限。 根据提供的工具,您可能需要如下权限:
    • ticket.agent(或根据用例的 ticket.customer)- 查看、创建、搜索工单和添加文章。
    • user.reader - 查看和搜索用户。
    • (可选) 如果以后添加这些工具,admin.user 可能需要进行更广泛的用户搜索或修改。查阅Zammad的权限文档以获取具体信息。
  7. 点击**“创建”“保存”**。
  8. 立即复制生成的令牌。 Zammad只会显示令牌一次。安全存储它。

安装及设置

  1. 克隆仓库:

    git clone https://github.com/arush15june/zammad-mcp-go.git
    cd zammad-mcp-go
    
  2. 构建二进制文件:

    go build -o zammad-mcp-go main.go
    

    这将在当前目录中创建一个名为 zammad-mcp-go 的可执行文件(Windows上为 zammad-mcp-go.exe)。

Claude Desktop配置

{
  "mcpServers": {
        "zammad": {
            "command": "<path-to>/zammad-go-mcp.exe",
            "args": [],
            "env": {
                "ZAMMAD_URL": "<zammad_url>",
                "ZAMMAD_TOKEN": "<zammad_token>"
            }
        }
    }
}