article
README
🚀 Zendesk API MCP 服务器
这是一个全面的模型上下文协议 (MCP) 服务器,用于与 Zendesk API 进行交互。它提供了一系列工具和资源,可用于管理 Zendesk 支持、Talk、Chat 和 Guide 等产品,极大提升了与 Zendesk 系统交互的效率和便捷性。
✨ 主要特性
- 完整覆盖 Zendesk API 功能,为用户提供全面的操作能力。
- 提供管理票务、用户、组织等的工具,方便对各类资源进行操作。
- 具备访问 Zendesk API 文档的资源,便于用户查阅相关资料。
- 使用 Zendesk API 令牌进行安全身份验证,保障系统交互的安全性。
🚀 快速开始
先决条件
- 需要安装 Node.js 14 或更高版本。
- 拥有带有 API 访问权限的 Zendesk 账户。
📦 安装指南
- 克隆此仓库。
- 安装依赖:
npm install
- 使用你的 Zendesk 凭据创建一个
.env文件:
ZENDESK_SUBDOMAIN=your-subdomain
ZENDESK_EMAIL=your-email@example.com
ZENDESK_API_TOKEN=your-api-token
运行服务器
启动服务器:
npm start
使用自动重启功能进行开发:
npm run dev
使用 MCP 检查器测试
通过 MCP 检查器测试服务器:
npm run inspect
💻 使用示例
基础用法
以下是一些使用本服务器提供工具的基础示例:
票务操作
# 列出 Zendesk 中的票务
list_tickets()
# 根据 ID 获取特定票务
get_ticket(ticket_id)
# 创建新票务
create_ticket(subject, description)
# 更新现有票务
update_ticket(ticket_id, updated_info)
# 删除票务
delete_ticket(ticket_id)
用户操作
# 列出 Zendesk 中的用户
list_users()
# 根据 ID 获取特定用户
get_user(user_id)
# 创建新用户
create_user(name, email)
# 更新现有用户
update_user(user_id, updated_info)
# 删除用户
delete_user(user_id)
组织操作
# 列出 Zendesk 中的组织
list_organizations()
# 根据 ID 获取特定组织
get_organization(organization_id)
# 创建新组织
create_organization(name)
# 更新现有组织
update_organization(organization_id, updated_info)
# 删除组织
delete_organization(organization_id)
组别操作
# 列出 Zendesk 中的代理组
list_groups()
# 根据 ID 获取特定组
get_group(group_id)
# 创建新代理组
create_group(name)
# 更新现有组
update_group(group_id, updated_info)
# 删除组
delete_group(group_id)
宏指令操作
# 列出 Zendesk 中的宏指令
list_macros()
# 根据 ID 获取特定宏指令
get_macro(macro_id)
# 创建新宏指令
create_macro(name, actions)
# 更新现有宏指令
update_macro(macro_id, updated_info)
# 删除宏指令
delete_macro(macro_id)
视图操作
# 列出 Zendesk 中的视图
list_views()
# 根据 ID 获取特定视图
get_view(view_id)
# 创建新视图
create_view(name, conditions)
# 更新现有视图
update_view(view_id, updated_info)
# 删除视图
delete_view(view_id)
触发器操作
# 列出 Zendesk 中的触发器
list_triggers()
# 根据 ID 获取特定触发器
get_trigger(trigger_id)
# 创建新触发器
create_trigger(name, conditions, actions)
# 更新现有触发器
update_trigger(trigger_id, updated_info)
# 删除触发器
delete_trigger(trigger_id)
高级用法
你可以通过组合不同的工具和操作,实现更复杂的业务逻辑。例如,在创建新票务时,同时关联特定的用户和组织:
# 创建新用户
new_user = create_user("John Doe", "john.doe@example.com")
# 创建新组织
new_organization = create_organization("Example Organization")
# 创建新票务并关联用户和组织
create_ticket("New Ticket Subject", "This is a new ticket description", requester_id=new_user.id, organization_id=new_organization.id)
📚 详细文档
可用工具
票务
list_tickets:列出 Zendesk 中的票务。get_ticket:根据 ID 获取特定票务。create_ticket:创建新票务。update_ticket:更新现有票务。delete_ticket:删除票务。
用户
list_users:列出 Zendesk 中的用户。get_user:根据 ID 获取特定用户。create_user:创建新用户。update_user:更新现有用户。delete_user:删除用户。
组织
list_organizations:列出 Zendesk 中的组织。get_organization:根据 ID 获取特定组织。create_organization:创建新组织。update_organization:更新现有组织。delete_organization:删除组织。
组别
list_groups:列出 Zendesk 中的代理组。get_group:根据 ID 获取特定组。create_group:创建新代理组。update_group:更新现有组。delete_group:删除组。
宏指令
list_macros:列出 Zendesk 中的宏指令。get_macro:根据 ID 获取特定宏指令。create_macro:创建新宏指令。update_macro:更新现有宏指令。delete_macro:删除宏指令。
视图
list_views:列出 Zendesk 中的视图。get_view:根据 ID 获取特定视图。create_view:创建新视图。update_view:更新现有视图。delete_view:删除视图。
触发器
list_triggers:列出 Zendesk 中的触发器。get_trigger:根据 ID 获取特定触发器。create_trigger:创建新触发器。update_trigger:更新现有触发器。delete_trigger:删除触发器。
资源
zendesk://docs/{section}可用于访问相关文档资源。
Scan to join WeChat group