
MC3000 Charger
io.github.nietonchique由 GitHub 账号 nietonchique 发布v0.2.4更新于 Oct 25, 2026
Safe MCP server for SKYRC MC3000-compatible battery chargers over Bluetooth Low Energy.
概览
本地 MCP 服务器,让助手通过低功耗蓝牙扫描、读取并安全控制兼容 SKYRC MC3000 的电池充电器。
- 可以做什么
- 扫描附近的充电器并通过蓝牙连接或断开
- 读取槽位状态、电池化学类型、模式、电压、电流、温度与状态
- 列出并校验电池配置,先以试运行方式渲染,再执行实际写入
- 应用配置与启动槽位各自需要独立的按槽位确认令牌
- 立即停止单个槽位或全部槽位,并将电压曲线导出为 JSON 或 CSV
- 导出有容量上限且已脱敏的会话审计日志
- 适用场景
- 适合拥有兼容 SKYRC MC3000 充电器、希望助手查看槽位状态、准备并校验充电配置,并在明确确认下执行充电且随时可紧急停止的用户。
- 运行要求
- 以本地 Rust 二进制通过 stdio 运行(可用 cargo、AUR 或 Linux x86_64 的 MCPB 包安装),无需 Python 运行时。需要蓝牙低功耗适配器,Linux 上还需 BlueZ/D-Bus。未声明任何账号、API 密钥或环境变量。提供假后端,可在无硬件时试用。
安装
在 SourceWeft 中
- 打开 控制台中的 MC3000 Charger,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mc3000-mcp
Safe local MCP control for SKYRC MC3000-compatible chargers.
mc3000-mcp connects an AI agent to a battery charger without handing it an unsupervised
hardware API. BLE control is local. Charging is dry-run by default. Live writes and starts need
explicit per-slot confirmation. Emergency stop is always one call away.
Hardware warning. Wrong chemistry, current, voltage, slot, or unsupervised charging can damage cells or start a fire. The MCP server is the safety boundary, not the LLM. Keep the charger in sight. See SECURITY.md.
Install
A Linux x86_64 MCPB bundle is attached to each release for MCPB-compatible clients.
Linux BLE requires BlueZ/D-Bus:
Connect an MCP client
Client-specific examples are in examples/.
Try it without hardware:
Agent skill
charger-agent uses the portable Agent Skills layout: one folder with a
SKILL.md manifest. No vendor-specific installer is required.
Install it for Codex:
For OMP, use ~/.omp/agent/skills as the destination. For Claude-compatible clients, use
~/.claude/skills. Hermes can also install the raw file, but it is just one compatible client—not
the distribution format.
The folder contains the charger workflow plus a pre-start checklist and example profile. It is guidance only; the Rust MCP server remains the enforced safety boundary.
CLI
The default command starts MCP stdio. Read-only diagnostics are also available directly:
The CLI can scan and read slots. It cannot write profiles, change settings, or start charging.
Safe workflow
- Read slot status.
- Validate a battery profile.
- Render it as a dry run.
- Apply it with
confirmation_token=APPLY_PROFILE_SLOT_<slot>. - Start it with a separate
confirmation_token=START_SLOT_<slot>. - Monitor voltage, current, temperature, and status.
- Use
charger.stop_slot/charger.stop_allimmediately if anything looks wrong.
Example dry run for physical slot 4 / API slot 3:
Start requires a second explicit confirmation:
Emergency stop is deliberately tokenless:
Tools
Production surface is namespaced as charger.*:
Fourteen legacy mc3000_* tools remain for protocol/debugging work. They use the same
confirmation policy for non-emergency writes. Raw writes cannot implicitly start slots and always
block factory/calibration restore opcodes.
Safety model
- API slots are zero-based
0..3; physical slots are1..4. apply_profiledefaults todry_run=true.- Live profile writes require exactly
APPLY_PROFILE_SLOT_<slot>. - Starts require exactly
START_SLOT_<slot>. - Safety checks run before any backend call; unsupported chemistry fails closed.
- NiMH/Eneloop/NiCd, LiIon, and LiFe have enforced limits.
- Unknown charger models and MC5000 connections are read-only.
- Session logs redact addresses and confirmation tokens and are bounded in memory.
Full model: docs/safety-model.md.
Profile schema and bundled examples: docs/profile-schema.md.
Compatibility
Confirmed live: SKYRC MC3000 firmware 1.23, hardware 2.20.
Protocol details are documented from the official Android app and hardware testing in
docs/ble-protocol-notes.md and
docs/reverse-notes.md. MC5000 support is intentionally read-only until
writes are verified on real hardware.
Charger firmware behavior can differ. A profile write acknowledgement is not proof that the charger applied it—start the slot and verify mode/current/status.
Development
The fake backend keeps hardware out of normal tests and CI. See
CONTRIBUTING.md for the full workflow and hardware-safety rule.
Documentation
- Security and disclosure:
SECURITY.md - Safety model:
docs/safety-model.md - Supported devices:
docs/supported-devices.md - Examples:
docs/examples.md - Release/publishing checklist:
docs/publishing.md - Agent skill:
skill/SKILL.md
License
Apache-2.0. See LICENSE.
来源:README.md,提交 73a4acd
工具
0版本历史
2- v0.2.4最新Oct 25, 2026
- v0.2.1Oct 23, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分