Apptics MCP Server
Provides tools to query Zoho Apptics analytics data (crashes, devices, etc.) and automate iOS SDK integration into Xcode projects.
README
Apptics MCP Server
Model Context Protocol (MCP) server for Zoho Apptics analytics. The package authenticates with Zoho, refreshes OAuth tokens on demand, and exposes tools for querying portals, crash lists, crash trends, and active device data from Apptics.
Prerequisites
- Node.js 18 or newer.
- Zoho Apptics OAuth credentials: client ID, client secret, and a refresh token with access to Apptics APIs.
Auth Credentials
To configure Zoho Apptics MCP, you need to provide oauth credentials (client id, client secret and refresh token) as environment variables.
- Create a new self-client application from Zoho API Console.
- Generate code with
JProxy.jmobileapi.ALLscope. - Exchange the code for refresh token using the OAuth token endpoint:
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"
The JSON response include refresh_token; supply the refresh token via APPTICS_REFRESH_TOKEN.
For other Zoho data centers, switch accounts.zoho.com to accounts.zoho.eu, accounts.zoho.in, etc.
Environment Variables
| Variable | Required | Description |
|---|---|---|
APPTICS_CLIENT_ID |
Yes | OAuth client ID created in the Zoho API Console. |
APPTICS_CLIENT_SECRET |
Yes | OAuth client secret for the Zoho self-client. |
APPTICS_REFRESH_TOKEN |
Yes | Refresh token with JProxy.jmobileapi.ALL scope used to obtain access tokens. |
APPTICS_SERVER_URI |
No | Override for the Apptics API base URL (defaults to https://apptics.zoho.com/). Use regional domains if needed. |
APPTICS_ACCOUNTS_URI |
No | Override for the Zoho Accounts OAuth base URL (defaults to https://accounts.zoho.com/). Switch to accounts.zoho.eu, etc. for other data centers. |
Claude Desktop Configuration
- Open Claude Desktop.
- Navigate to Settings -> Developer -> Edit Config
- Add the following configuration.
{
"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"
}
}
}
}
- Restart Claude Desktop App.
Available Tools
| Tool | Description |
|---|---|
get_portals_and_projects_list |
Lists accessible portals and their projects for the authenticated user. |
get_crash_list |
Retrieves crash records with optional filters for date range, platform, app version, mode, pagination. |
get_crash_count_by_date |
Returns aggregated crash statistics keyed by date (hourly when querying a single day). |
get_active_devices |
Reports active devices grouped by platform/device type/app version within the requested date range. |
get_crash_detail |
Fetches detailed metadata, stack trace, and context for a specific crash using its uniqueId. |
get_device_specific_crash_distribution |
Breaks down crash impact by device model for the given crash, with optional pagination and app-version filters. |
fetch_apptics_config_by_bundle_id |
Fetches Apptics configuration (apptics-config.plist content) for a given iOS bundle ID. |
iOS SDK Integration Tools
This MCP server also automates Apptics iOS SDK setup inside Xcode projects.
integrate_apptics_ios_sdk(default SPM): Adds the Apptics package, config file, disables user script sandboxing, injects imports + initialization, createsAppticsManager.swift, and links targets. AcceptsprojectPathand optionaltargetNames("all"or specific target names).switch_apptics_dependency: Swap Apptics dependency between SPM and CocoaPods. Preserves optional modules and third-party dependencies in both directions.
For detailed procedures, parameters, and examples for both integration and switching, see IOS_SDK_PROCEDURES.md.
Example MCP call (SPM, all targets):
{
"projectPath": "/absolute/path/to/YourApp",
"packageManager": "spm",
"targetNames": "all",
"verbose": true,
"createAppticsManagerFile": true,
"useAppticsManagerWrapper": true
}
Notes:
- The pre-build script now declares an output marker (
$(DERIVED_FILE_DIR)/AppticsPreBuild.marker) so Xcode skips reruns and avoids the "run during every build" warning, including multi-target projects. - If auto-detection ever fails, you can optionally supply
appDelegatePathorswiftUIAppPath, but this is rarely needed. - Build folder in project: Integration runs a build verification step (xcodebuild). Verification uses a temp derived-data path to avoid creating
build/in the project; ifbuild/still appears, addbuild/to.gitignoreand delete the folder if desired.
Automatic Failure Reporting
When SDK integration fails, the tool generates a detailed failure report saved to your project directory. The report includes:
- Categorized error types (Prerequisites Missing, Build Failed, Configuration Error, etc.)
- Steps completed and steps failed with detailed messages
- Environment information (Xcode, CocoaPods, Swift versions)
- Build output (for build verification failures)
- Actionable suggestions for fixing the issue
Example: apptics-integration-failure-1706123456789.json
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。