Token导航 LogoToken导航TokenDH.com
Wpilog MCP logo
运维云端未说明官方级别未说明来源级核验

Wpilog MCP

MCP Server

wpilog-mcp是一个基于MCP协议的机器人日志分析服务,允许用户通过自然语言查询和分析WPILib日志数据,适用于机器人竞赛后的故障诊断和性能优化。

工具数

45

提示词数

0

GitHub Stars

9

资源数

0
JavaClaude性能优化Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TripleHelixProgramming

提供方

TripleHelixProgramming

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

wpilog-mcp:用于WPILib日志的模型上下文协议(mcp)服务器

你有没有想过为什么你的机器人在还剩30秒的时候就死了?或者为什么汽车在实践中起作用,但在竞争中却不起作用?

wpilogmcp让你用简单的英语问这些问题。加载机器人的遥测日志,并与您的数据进行对话。建造于 FRC团队2363三螺旋 使用WPILib的官方 DataLogReader 以保证格式兼容性。

看看有什么可能: 看看这个 实例分析 由真实的机器人日志生成,特别是 VACHE电源分析 是该系统严格坚持使用最新版本进行过度解释的绝佳证明。

目录

______________________________________________________________________

安装

运行wpilog-mcp有两种方法,具体取决于您使用的AI客户端。该服务器是为Claude设计和测试的,但应该与任何支持MCP的客户端一起工作。

VS代码扩展 --安装 WPILog分析仪 扩展,它处理一切:Java检测、服务器启动和MCP注册。如果您将VS Code与Claude Code、Copilot或任何其他MCP兼容代理一起使用,这是最简单的方法。无需手动配置。当你的机器人项目打开时,人工智能可以将日志数据与你的源代码进行交叉引用,以进行更丰富的、针对特定团队的分析。

独立安装 --对于VS Code之外的MCP客户端:Claude Desktop、Claude Code CLI、Gemini或其他MCP兼容工具。你跑 ./gradlew install,配置 servers.yaml,并将您的MCP客户端指向 wpilog-mcp 发射器。服务器会将其功能添加到您的工具已经拥有的功能中。

两者可以同时安装。它们作为具有单独配置的独立服务器实例运行——扩展使用VS Code设置,而独立安装使用 ~/.wpilog-mcp/servers.yaml对其中一个的更改不会影响另一个。

那就问吧

Please show me our logs from the Chesapeake District event
We lost Q42 — can you look at the log and help us understand what happened?
Please walk me through the power delivery during teleop — were there any brownout concerns?
How did our four swerve modules compare in that match?
What are the scoring rules for this year's game?
Can you pull our match results from The Blue Alliance and look for trends across the event?
注: 分析的深度和质量取决于您使用的AI模型。wpilogmcp提供工具和数据,模型提供推理。更有能力的模型将产生更有洞察力的分析。

______________________________________________________________________

AI语义处理

模型上下文协议(MCP) 是一个开放标准,使人工智能助手(如克劳德)能够学习和使用提供专业知识的工具。

该项目提供了一个 MCP 服务器,它充当罗塞塔石碑,用于解码WPILOG文件中数据的含义。

与要求您确切知道要查找什么的传统日志查看器(如AdvantageScope)不同, wpilog mcp 允许您提出高级工程和战略问题。人工智能不仅仅是“查询”数据;它 假设、调查和综合.

服务器提供工具——分析的质量取决于AI模型很好地使用它们的能力。下面的例子反映了像克劳德这样能力很强的模型的可能性。

诚实的分析,而不仅仅是答案

人工智能模型有一种自然的倾向,即找到符合数据的解释——即使数据不支持强有力的结论。wpilogmcp旨在对抗这种偏见。每个工具都会返回 准确的原始数据 (统计数据、时间戳、样本计数、p值)而不是预先消化的结论。内置的护栏引导AI进行诚实、合格的分析:

  • 数据质量评分 --每个响应都包括基于样本计数、数据差距和时间规律的质量评估。当数据质量较差时,AI会被明确告知降低其信心。
  • 认识论指导 --工具描述和响应元数据嵌入了“建议”和“可能表明”等语言,而不是“证明”或“确认”。人工智能被提醒,一次匹配永远不足以得出明确的结论。
  • 原始工具设计 --服务器提供构建块(电压统计、电流统计、相关系数),而不是返回健康评分的单个“诊断我的机器人”工具。人工智能必须对多个工具调用进行推理,使其逻辑透明且可审计。

目标:当你问“为什么我们失去了Q68?”时,你会得到基于数据实际显示的分析,并对它没有显示的内容进行适当的警告。

示例场景

1.自主的“赛后矿坑老板”

提示: *“我们刚刚完成Q68,司机们说机器人在遥操作过程中‘口吃’。调查日志,告诉维修人员要检查什么。”*

  • AI的推理: Claude将加载日志,扫描 get_ds_timeline 对于限电事件,请使用 power_analysis 找出哪个电机控制器在那个确切的时间戳具有最高的电流尖峰,并进行检查 can_health 暂停。
  • 结果: *“我在42.5秒时发现了一个BROWNOUT_START。在此期间,‘进气/滚筒’电流飙升至60A,而速度为零,表明存在机械堵塞。检查进气是否有碎屑或安装支架弯曲。”*

2.战略性“周期时间”优化

提示: *“比较Q74和Q68的循环时间。为什么我们在Q68的下半场速度较慢?"*

  • AI的推理: 克劳德将从TBA获取比赛结果以查看比分,使用 analyze_cycles 计算基于状态的效率,并将“死区时间”与机器人位置数据相关联。
  • 结果: *“你在Q74中的平均得分周期为8.2秒。在Q68中,它们在60秒后减慢到12.5秒。我注意到,在这些较慢的周期中,机器人在‘舞台’障碍物周围走的路要长得多——检查你的自动寻路或驾驶员路径是否被堵塞。”*

3.控制理论“调整审计”

提示: *“看看我们在上一场比赛中的转弯驾驶性能。我们的转向PID是否过于激进?寻找振荡。”*

  • AI的推理: 克劳德将使用 analyze_swerve 要识别模块,请调用 get_statistics 关于转向错误,并运行 find_peaks 寻找高频振荡 AppliedVolts.
  • 结果: *“当机器人处于静止状态时,左后模块在转向位置显示0.15秒的振荡周期。这表明你的P增益略高,或者你的D增益不足以适应新模块。”*

蓝色联盟整合

在获取免费API密钥 thebluealance.com/account.

配置后,服务器用TBA数据丰富匹配日志:

  • 比赛时间 -更正FMS的午夜时间戳
  • 分数 -你的联盟得分和对手得分
  • 赢/输 -你的球队是否赢得了比赛
  • 联盟 -你的团队属于哪个联盟(红/蓝)

团队编号从每个日志文件的元数据(DriverStation/FMS数据)中提取,并配置 team 值作为回退。

此数据会自动添加到 list_available_logs 具有事件/匹配/团队元数据的日志的输出。

REV日志集成

wpilog-mcp相关性 .revlog 文件(由WPILib机器人程序使用REV硬件生成)包含您的WPILOG数据,使您能够访问具有同步时间戳的高分辨率电机控制器遥测。

它是如何工作的:

  1. Revlog文件是通过基于时间的匹配自动发现的——它们可以位于同一目录、兄弟目录或配置的日志目录树中的任何位置(最高可达配置的扫描深度(默认值5))
  2. 在任何工具调用中引用wpilog——第一次访问时会自动发现并同步匹配的revlogs
  3. 使用 sync_status 在依赖时间戳之前验证同步置信度
  4. 同步结果被缓存到磁盘上——重新加载相同的wpilog+revlog对会跳过解析和关联

同步: 时间戳使用两阶段方法对齐:

  1. 粗对齐systemTime 条目和revlog文件名时间戳(秒级)
  2. 精细对准 通过匹配信号的皮尔逊互相关,如电机输出占空比(毫秒级)

对于长时间记录(>15分钟),FPGA时钟和单调时钟之间的线性时钟漂移会被自动估计和补偿。

系统根据相关强度、一致信号对的数量和对间一致性报告置信水平(高/中/低/失败)。高置信度下的典型精度为±1-5ms。

如果自动同步失败,使用 set_revlog_offset 以手动提供已知的偏移。

限制:

  • REV日志使用 CLOCK_MONOTONIC 虽然WPILOG使用FPGA时间,但每次启动的偏移量都不同
  • 相关性需要重叠的信号变化(平坦/禁用数据会降低质量)
  • 短日志或稳态数据可能会产生较低的置信度同步

可用数据:

  • 应用输出(占空比)、速度、位置
  • 母线电压、输出电流、温度
  • 故障和粘性故障

TOOLS.md 获取详细的工具文档和同步算法的技术说明。

可用工具

wpilogmcp提供了45个分类工具。所有需要工具的日志都需要 path 参数——服务器在首次引用时自动加载日志,并自动清除空闲日志。

类别工具
发现get_server_guide, suggest_tools
核心list_available_logs, list_loaded_logs, list_entries, read_entry, get_entry_info, list_struct_types, health_check
查询search_entries, get_types, find_condition, search_strings
统计get_statistics, compare_entries, detect_anomalies, find_peaks, rate_of_change, time_correlate
机器人分析get_match_phases, analyze_swerve, power_analysis, can_health, compare_matches, get_code_metadata, moi_regression
FRC域名get_ds_timeline, analyze_vision, profile_mechanism, analyze_auto, analyze_cycles, analyze_replay_drift, analyze_loop_timing, predict_battery_health, get_game_info, analyze_can_bus
待定get_tba_status, get_tba_match_data
RevLoglist_revlog_signals, get_revlog_data, sync_status, set_revlog_offset, wait_for_sync
出口export_csv, generate_report

从这里开始: 呼叫 get_server_guide 首先要了解可用的分析功能。这可以防止在内置工具已存在时编写自定义分析代码。

捆绑游戏数据: 2024 Crescendo,2025 Reefscape,2026重建。这 get_game_info 该工具返回这些赛季的得分区、比赛计时和场地几何形状。

支持的数据类型

基本体类型

boolean, int64, float, double, string, raw, json,以及每个数组

WPILib几何图形类型

类型解码字段
Pose2dx, y, rotation_rad, rotation_deg
Pose3dx, y, z, qw, qx, qy, qz
Translation2d/3dx, y, (z)
Rotation2dradians, degrees
Rotation3dqw, qx, qy, qz
Transform2d/3d与姿势相同
Twist2d/3ddx, dy, (dz), dtheta/(rx, ry, rz)

WPILib运动学类型

类型解码字段
ChassisSpeedsvx_mps, vy_mps, omega_radps
SwerveModuleStatespeed_mps, angle_rad, angle_deg
SwerveModulePositiondistance_m, angle_rad, angle_deg

视觉和自主类型

类型解码字段
TargetObservationyaw_rad, yaw_deg, pitch_rad, pitch_deg, skew_rad, skew_deg, area, confidence, objectID
PoseObservationtimestamp, pose_x, pose_y, pose_z, pose_qw, pose_qx, pose_qy, pose_qz, ambiguity, tagCount, averageTagDistance, type
SwerveSampletimestamp, x, y, heading, heading_deg, vx, vy, omega, ax, ay, alpha, moduleForcesX[4], moduleForcesY[4]

*注: PoseObservation.type 被解码为枚举字符串: MEGATAG_1, MEGATAG_2,或 PHOTONVISION.*

故障排除

  • VS代码扩展问题 --请参阅 扩展README
  • 独立安装问题 --请参阅 doc/STANDALONE.md
  • 日志文件显示为已损坏 --截断的日志(来自机器人断电)得到了妥善处理。服务器恢复尽可能多的数据,并将日志标记为截断。
  • 内存不足,日志很大 --增加堆大小。扩展名:set wpilog-mcp.maxHeap8g.独立:套 WPILOG_MAX_HEAP=8g.

许可证

MIT许可证-请参阅 许可证

致谢

另见

目录标签

目录标签

JavaClaude性能优化机器人日志分析本地部署自然语言查询数据诊断FRC竞赛

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

45

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP