Zendesk OAuth MCP服务器
提供AI代理的MCP服务器 只读 使用浏览器会话cookie访问Zendesk票证-在API令牌不可用的情况下使用。允许您的代理搜索工单、阅读工单详细信息和查看对话历史记录。此服务器无法创建、更新或删除任何Zendesk数据。
设置
1.下载二进制文件
从以下网址下载适用于您平台的最新版本 发布页面.
# macOS (Apple Silicon)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*darwin_arm64*'
# macOS (Intel)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*darwin_amd64*'
# Linux (x86_64)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*linux_amd64*'tar -xzf zendesk-oauth-mcp_*.tar.gz
chmod +x zendesk-oauth-mcp
# Move to a directory on your PATH
mv zendesk-oauth-mcp ~/.local/bin/注意(macOS): 如果macOS阻止二进制文件,请删除隔离属性: ``bash xattr -dr com.apple.quarantine ~/.local/bin/zendesk-oauth-mcp ``或者从源代码构建:
gh repo clone BagToad/zendesk-oauth-mcp
cd zendesk-oauth-mcp
go build -o zendesk-oauth-mcp .2.确保 ~/.local/bin 正在您的路径上
如果 ~/.local/bin 还没有在你的 PATH,将其添加到您的shell配置文件中:
bash/zsh:
PATH="$HOME/.local/bin:$PATH"然后重新启动shell或运行 source ~/.bashrc / source ~/.zshrc.
fish:
fish_add_path ~/.local/bin3.添加到您的MCP客户端
将服务器添加到MCP客户端配置中。唯一需要的设置是 ZENDESK_SUBDOMAIN:
GitHub Copilot命令行界面 -添加到 ~/.copilot/mcp-config.json:
{
"mcpServers": {
"zendesk": {
"command": "zendesk-oauth-mcp",
"args": [],
"env": {
"ZENDESK_SUBDOMAIN": "your-subdomain"
}
}
}
}服务器将自动从浏览器中提取您的Zendesk会话cookie(请参阅 认证).您还可以通过添加来手动提供cookie "ZENDESK_COOKIE": "your-cookie-string" 到 env 块。
如果二进制文件不在您的PATH,请使用二进制文件的完整路径(例如。/Users/you/.local/bin/zendesk-oauth-mcp).
4.安装Zendesk技能
复制包含的 技能档案 转到您的个人技能目录,这样Copilot就知道如何在所有项目中使用Zendesk工具:
mkdir -p ~/.copilot/skills/zendesk-mcp
cp .github/skills/zendesk-mcp/SKILL.md ~/.copilot/skills/zendesk-mcp/如果您没有此仓库的本地克隆,可以直接下载该文件: ``bash mkdir -p ~/.copilot/skills/zendesk-mcp gh api repos/BagToad/zendesk-oauth-mcp/contents/.github/skills/zendesk-mcp/SKILL.md \ --jq '.content' | base64 -d > ~/.copilot/skills/zendesk-mcp/SKILL.md ``5.安装Zendesk Investigator代理
复制包含的 代理文件 到您的个人代理目录,以便Copilot可以执行端到端的票证调查:
mkdir -p ~/.copilot/agents
cp .github/agents/zendesk-investigator.agent.md ~/.copilot/agents/如果您没有此仓库的本地克隆,可以直接下载该文件: ``bash mkdir -p ~/.copilot/agents gh api repos/BagToad/zendesk-oauth-mcp/contents/.github/agents/zendesk-investigator.agent.md \ --jq '.content' | base64 -d > ~/.copilot/agents/zendesk-investigator.agent.md ``6.重新启动MCP客户端
重新启动MCP客户端(例如重新启动Copilot CLI)以获取新的服务器、技能和代理。您现在应该可以访问 search_tickets, get_ticket, get_ticket_comments,以及 list_tickets 工具。
7.测试连接
通过让Copilot查询您的Zendesk实例来验证您的设置是否正常工作:
show me all open tickets assigned to $USER如果所有配置都正确,您应该会看到您的未结工单列表。如果您遇到身份验证错误,请仔细检查cookie和子域值。
更新
要更新到最新版本,请下载新的二进制文件并替换现有的二进制文件:
# macOS (Apple Silicon)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*darwin_arm64*' --clobber
# macOS (Intel)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*darwin_amd64*' --clobber
# Linux (x86_64)
gh release download --repo BagToad/zendesk-oauth-mcp -p '*linux_amd64*' --clobbertar -xzf zendesk-oauth-mcp_*.tar.gz
chmod +x zendesk-oauth-mcp
mv -f zendesk-oauth-mcp ~/.local/bin/注意(macOS): 如果macOS阻止更新的二进制文件,请删除隔离属性: ``bash xattr -dr com.apple.quarantine ~/.local/bin/zendesk-oauth-mcp ``然后重新启动MCP客户端以获取新版本。
认证
此服务器使用浏览器的会话cookie向Zendesk进行身份验证。这意味着它具有与您登录的Zendesk帐户相同的权限,不需要管理员设置。
自动Cookie提取(推荐)
当 ZENDESK_COOKIE 如果未设置,服务器将在启动时使用以下命令自动从浏览器的cookie数据库中提取cookie 古怪的支持的浏览器:
| 浏览器 | macOS | Linux |
|---|---|---|
| 禅 | ✅ | ✅ |
| 火狐浏览器 | ✅ | ✅ |
| Safari | ✅ | - |
| Chrome | ✅ | ✅ |
| 边缘 | ✅ | ✅ |
服务器按照上面列出的顺序搜索浏览器。一旦找到有效的Zendesk Cookie,它就会停止搜索。这意味着 首先检查Zen和Firefox 并且不需要任何密码提示。
如果cookie在会话中期过期(401错误),服务器将自动从浏览器中重新提取并重试请求。
macOS上的Chrome浏览器: Chrome使用macOS钥匙链加密Cookie。服务器首次读取Chrome Cookie时,macOS将显示密码提示以允许Keychain访问。您可以在钥匙串访问中授予“始终允许”,但每当重建二进制文件时,此选项都会重置。为了完全避免出现提示,请确保您在非Chromium浏览器(Zen、Firefox或Safari)中登录到Zendesk。
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
ZENDESK_SUBDOMAIN | 是 | 您的Zendesk子域(例如。 mycompany 为了 mycompany.zendesk.com) |
ZENDESK_COOKIE | 否 | 已满 Cookie 标头值。如果省略,服务器会自动从您的浏览器中提取Cookie。 |
手动Cookie设置
如果自动提取不适用于您的设置,您可以手动提供cookie:
- 在浏览器中登录您的Zendesk实例
- 打开 开发者工具 → 网络 标签
- 点击任何请求
zendesk.com - 找到
Cookie标题在 请求头 - 复制整个cookie字符串并将其设置为
ZENDESK_COOKIE在MCP配置中
⚠️ 安全说明: 会话cookie授予您对Zendesk帐户的完全访问权限。将其视为密码,不要将其提交到源代码管理或在日志中共享。
工具和用法
此服务器提供四种MCP工具: search_tickets, get_ticket, get_ticket_comments,以及 list_tickets.
有关详细的工具文档、参数、搜索语法和代理使用提示,请参阅 技能档案.
常见错误
| 错误 | 原因 | 修复 |
|---|---|---|
spawn zendesk-oauth-mcp ENOENT | 在您的计算机上找不到二进制文件 PATH | 确保 ~/.local/bin 在你的 PATH (参见步骤2),并且二进制文件位于那里。 |
spawn zendesk-oauth-mcp EACCES | 二进制文件缺少执行权限 | 运行 chmod +x ~/.local/bin/zendesk-oauth-mcp |
401 Unauthorized | Cookie已过期 | 服务器会通过从浏览器中重新提取来自动重试。如果这种情况持续存在,请在浏览器中登录Zendesk以刷新会话。 |
403 Forbidden | 权限不足 | 确保经过身份验证的用户具有代理访问权限 |
404 Not Found | 票ID无效 | 验证票ID是否存在 |
429 Too Many Requests | 速率受限 | 等待并重试;降低请求频率 |
发展
go build -o zendesk-oauth-mcp . # Build the binary
go run . # Run without building许可证
麻省理工学院
