应用程序MCP服务器
用于Zoho Apptics分析的模型上下文协议(MCP)服务器。该包使用Zoho进行身份验证,按需刷新OAuth令牌,并公开用于查询门户、崩溃列表、崩溃趋势和来自Apptics的活动设备数据的工具。
先决条件
- Node.js 18或更新版本。
- Zoho Apptics OAuth凭据:客户端ID、客户端密钥和可访问Apptics API的刷新令牌。
身份验证凭据
要配置Zoho Apptics MCP,您需要提供oauth凭据(客户端id、客户端密钥和刷新令牌)作为环境变量。
- 从以下位置创建新的自客户端应用程序 Zoho API控制台.
- 使用生成代码
JProxy.jmobileapi.ALL范围。 - 使用OAuth令牌终结点交换刷新令牌的代码:
curl -X POST "https://accounts.zoho.com/oauth/v2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "code=YOUR_SELF_CLIENT_CODE" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "grant_type=authorization_code"JSON响应包括 refresh_token;通过以下方式提供刷新令牌 APPTICS_REFRESH_TOKEN. 对于其他Zoho数据中心,请切换 accounts.zoho.com 到 accounts.zoho.eu, accounts.zoho.in等等。
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
APPTICS_CLIENT_ID | 是 | 在Zoho API控制台中创建的OAuth客户端ID。 |
APPTICS_CLIENT_SECRET | 是 | Zoho自客户端的OAuth客户端机密。 |
APPTICS_REFRESH_TOKEN | 是 | 使用刷新令牌 JProxy.jmobileapi.ALL 用于获取访问令牌的作用域。 |
APPTICS_SERVER_URI | 否 | 覆盖应用程序API基本URL(默认为 https://apptics.zoho.com/).如果需要,请使用区域域。 |
APPTICS_ACCOUNTS_URI | 否 | 覆盖Zoho帐户OAuth基本URL(默认为 https://accounts.zoho.com/).切换到 accounts.zoho.eu等等。 |
Claude桌面配置
- 打开克劳德桌面。
- 导航到设置->开发人员->编辑配置
- 添加以下配置。
{
"mcpServers": {
"zoho-apptics": {
"command": "npx",
"args": ["@zoho_apptics/apptics-mcp"],
"env": {
"APPTICS_CLIENT_ID": "your_client_id",
"APPTICS_CLIENT_SECRET": "your_client_secret",
"APPTICS_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}- 重新启动克劳德桌面应用程序。
可用工具
| 工具 | 说明 |
|---|---|
get_portals_and_projects_list | 列出经过身份验证的用户可访问的门户及其项目。 |
get_crash_list | 使用可选的日期范围、平台、应用程序版本、模式、分页过滤器检索崩溃记录。 |
get_crash_count_by_date | 返回按日期(查询一天时按小时)键入的聚合崩溃统计信息。 |
get_active_devices | 报告在请求的日期范围内按平台/设备类型/应用程序版本分组的活动设备。 |
get_crash_detail | 使用以下命令获取特定崩溃的详细元数据、堆栈跟踪和上下文 uniqueId. |
get_device_specific_crash_distribution | 按设备型号细分给定崩溃的崩溃影响,并提供可选的分页和应用程序版本过滤器。 |
fetch_apptics_config_by_bundle_id | 获取给定iOS捆绑包ID的Apptics配置(Apptics-config.plist内容) |
iOS SDK集成工具
此MCP服务器还可以在Xcode项目中自动设置Apptics iOS SDK。
integrate_apptics_ios_sdk(默认SPM):添加Apptics包、配置文件,禁用用户脚本沙盒,注入导入+初始化,创建AppticsManager.swift,并链接目标。接受projectPath可选targetNames("all"或特定目标名称)。switch_apptics_dependency:交换SPM和CocoaPods之间的Apptics依赖关系。在两个方向上保留可选模块和第三方依赖关系。
有关集成和切换的详细程序、参数和示例,请参阅 IOS_SDK_PROCEDURES.md.
MCP调用示例(SPM,所有目标):
{
"projectPath": "/absolute/path/to/YourApp",
"packageManager": "spm",
"targetNames": "all",
"verbose": true,
"createAppticsManagerFile": true,
"useAppticsManagerWrapper": true
}笔记:
- 预构建脚本现在声明了一个输出标记(
$(DERIVED_FILE_DIR)/AppticsPreBuild.marker)因此Xcode跳过重新运行,避免了“每次构建时运行”的警告,包括多目标项目。 - 如果自动检测失败,您可以选择提供
appDelegatePath或swiftUIAppPath,但很少需要。 - 项目中的生成文件夹: 集成运行构建验证步骤(xcodebuild)。验证使用临时导出的数据路径来避免创建
build/在项目中;如果build/仍然出现,添加build/到.gitignore如果需要,可以删除该文件夹。
自动故障报告
当SDK集成失败时,该工具会生成一份详细的失败报告,并保存到您的项目目录中。报告包括:
- 分类错误类型 (先决条件缺失、构建失败、配置错误等)
- 已完成步骤 和 步骤失败 带有详细信息
- 环境信息 (Xcode、CocoaPods、Swift版本)
- 构建输出 (用于构建验证失败)
- 可采取行动的建议 为了解决这个问题
例子: apptics-integration-failure-1706123456789.json
