logcat mcp
MCP服务器,用于流式传输和查询设备日志 安卓 (adb logcat)以及 iOS (模拟器 log stream +物理设备 idevicesyslog).
先决条件
- Node.js >= 18
- 安卓:
adb在PATH(安卓SDK平台工具)中 - iOS模拟器:Xcode
xcrun simctl - iOS物理设备 (可选):
brew install libimobiledevice
设置
npm install
npm run buildMCP客户端配置
克劳德桌面/OpenCode
添加到MCP配置中:
{
"mcpServers": {
"logcat": {
"command": "node",
"args": ["/absolute/path/to/logcatmcp/build/index.js"]
}
}
}工具
| 工具 | 说明 |
|---|---|
list_devices | 列出已连接的Android/iOS设备 |
start_streaming | 开始从设备捕获日志 |
stop_streaming | 停止捕获日志(或全部停止 deviceId: "all") |
get_logs | 使用过滤器(优先级、标签、平台、设备、分页)查询捕获的日志 |
search_logs | 在日志消息和标签中进行全文搜索 |
get_log_stats | 汇总统计(按优先级、平台、设备计数) |
clear_logs | 清除内存中的日志缓冲区 |
clear_device_logs | 清除设备日志缓冲区(仅限Android) |
资源
| URI | 描述 |
|---|---|
logcat://status | 活动流和缓冲区统计数据(JSON) |
logcat://logs/latest | 最近100个日志条目 |
logcat://logs/errors | 最近的错误/致命条目 |
logcat://logs/{platform} | 日志筛选方式 android 或 ios |
logcat://device/{deviceId} | 来自特定设备的日志 |
用法示例
1. list_devices → see what's connected
2. start_streaming(platform: "android",
deviceId: "emulator-5554") → begin capture
3. get_logs(limit: 20, minPriority: "warn") → view recent warnings+
4. search_logs(query: "crash") → find crash-related entries
5. stop_streaming(deviceId: "all") → stop when done建筑
src/
types.ts Shared types, constants, regex patterns
android-provider.ts Android adb logcat streaming + parsing
ios-provider.ts iOS simulator/physical device log streaming
log-store.ts In-memory ring buffer with query/search/stats
index.ts MCP server entry point (tools + resources + stdio transport)许可证
麻省理工学院
