Zendesk 上下文服务 MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 本仓库实现了一个以 MCP(Model Context Protocol)为基础的服务端,用于向 AI 客户端提供对 Zendesk Tickets、Search、Articles 等操作的“工具”封装。通过一个内置的 MCP 服务器,它把 Zendesk 的常用操作暴露为可被 AI 客户端调用的工具集合,支持 STDIO 传输,便于在 Claude、Cursor、Windsurf 等代理工具中直接集成。
  • 主要功能点

    • MCP 服务器核心:使用 model context protocol 的服务器框架,注册并暴露工具供客户端调用。
    • 工具注册与实现:实现了 Zendesk 相关的工具,例如 zendesk_list_tickets、zendesk_show_ticket、zendesk_create_ticket、zendesk_update_ticket、zendesk_delete_ticket,以及 zendesk_search_tickets 等。
    • 通过 STDIO 传输:默认使用 StdioTransport 与客户端通信,适合本地开发与代理集成场景。
    • 与现有 CLI 的协同:服务器端复用现有的 TicketService、SearchService、UserService、ArticleService 等组件,确保与 CLI 的数据模型和调用方式保持一致。
  • 安装步骤

    • 安装并构建 zd 二进制(仓库自带 Go 构建方式,参考 README 指引)。
    • 运行 MCP 服务器命令:在命令行执行 zd mcp serve。
    • 若要在 AI 客户端集成,请确保客户端可通过 MCP 标准流程与 STDIO 传输通讯。
  • 服务器配置(MCP 客户端需要的最少信息) 说明:MCP 客户端需要知道服务器的启动方式,以便与 MCP 服务器建立连接。以下配置描述用于在 AI 客户端的软件中注册该 MCP 服务器;客户端本身不需要包含在此处的代码,只需具有配置信息即可连接。

    { "server_name": "zendesk", "command": "zd", "args": ["mcp", "serve"] }

    • server_name: MCP 服务器的唯一标识名,客户端用于引用和发现服务器。
    • command: 启动服务器的命令(本仓库中的示例是 zd)。
    • args: 启动命令的参数集合,示例为 ["mcp","serve"],表示用 zd 启动 MCP 服务。
    • 备注:具体的服务端实现已经在代码中通过 mcp.NewServer(...).Run(ctx, &mcp.StdioTransport{}) 启动并提供工具注册。
  • 基本使用方法

    1. 启动服务器
      • 在仓库根目录执行:zd mcp serve
      • 服务器将通过标准输入输出与 MCP 客户端通信。
    2. 连接客户端
      • 将客户端(如 Claude Code、Claude Desktop、Cursor、Windsurf 等)配置为指向上述服务器。
      • 使用 client.json 配置中的 server_name、command 与 args 来建立连接。
    3. 使用工具
      • 客户端可以调用已暴露的工具,例如 zendesk_list_tickets、zendesk_show_ticket、zendesk_search_tickets、zendesk_create_ticket、zendesk_update_ticket、zendesk_delete_ticket 等。
      • 工具输入通过对应该输入类型的 JSON 结构传递,输出为 JSON 结果,便于 AI 客户端解析与后续处理。
    4. 安全与权限
      • 服务器端遵循与 CLI 相同的认证机制,需具备 Zendesk 子域及认证凭据(若使用真实数据源),也可在演示模式使用演示数据。
    5. 常见注意点
      • MCP 工具输出的 JSON 结果包含经过 enrich 的数据(如带有用户信息的票据等),方便 AI 客户端在对话中使用。
      • 如需在本地测试,可以使用仓库提供的模拟数据(demo 模式)进行演示。

服务器信息