AI万址

CAN总线模拟服务器

MCP-CAN是一个专为车辆CAN/OBD数据与LLM/SLM交互设计的虚拟CAN服务器,提供DBC解码、ECU模拟和SSE工具接口,无需硬件支持。

CAN总线模拟服务器是 farzadnadiri 开发的 MCP 服务器:MCP-CAN是一个专为车辆CAN/OBD数据与LLM/SLM交互设计的虚拟CAN服务器,提供DBC解码、ECU模拟和S。接入两步走:pip install -r requirements.txt,再把下文配置粘进客户端 mcpServers 段重启即可。

它是干什么的

先把话说清楚:CAN总线模拟服务器不是又一个大模型,而是一个标准的 MCP 服务器。装好之后,你的 AI 客户端多出一组新工具,模型可以按需调用。MCP-CAN是一个专为车辆CAN/OBD数据与LLM/SLM交互设计的虚拟CAN服务器,提供DBC解码、ECU模拟和SSE工具接口,无需硬件支持

项目数据
开发者farzadnadiri
Star12
收藏0
质量等级B
平台分类开发效率
部署标签本地部署、CAN总线、OBD解码
仓库mcp-ecu

核心能力

  • MCP server for CAN/OBD → LLM/SLM (tools + DBC metadata over SSE).
  • Virtual CAN backend (python-can) out of the box; optional SocketCAN/vCAN on Linux.
  • DBC-driven encoding/decoding via cantools.
  • ECU simulator that streams multiple messages plus demo OBD-II responses.
  • MCP server (SSE) exposing tools for frames, filtering, monitoring, and DBC info.
  • Typer CLI: mcp-can (simulate, server, frames, decode, monitor, obd-request).
  • Dockerfile + docker compose for server + simulator.
  • Unit tests, type hints, lint config (ruff, mypy).

适合谁用

两类人最该装:一是天天在 Claude Desktop、Cursor 里写代码,想让 AI 直接帮你跑命令、改仓库、读文件的人;二是已经在用 MCP 生态、想按需拼装能力的折腾型用户。反过来,如果你只需要偶尔手动用它背后的服务,直接开网页就行,不必上 MCP。

完整安装配置步骤

动手前确认环境齐了:

  • Python 3.10+ 与 pip(个别仓库要求 3.11+,以 README 为准)。
  • Node.js 18 或更高版本(旧版 npx 跑不动一部分新版 MCP 包)。
  • Docker 环境(docker ps 正常返回即可)。
  • 一个支持 MCP 的客户端:Claude Desktop、Cursor、Cline、Windsurf 任选其一。

第 1 步:安装CAN总线模拟服务器

终端里任选一条(不同安装方式,效果等价):

bash
pip install -r requirements.txt
pip install -e .
npx @modelcontextprotocol/inspector
docker build -t mcp-can .

第 2 步:按官方说明写入配置

CAN总线模拟服务器的 README 没给标准 mcpServers JSON,配置入口见 官方文档 的 Usage/Configuration 章节。原则不变:客户端配置文件里加 mcpServers 条目,重启生效。

第 3 步:重启并验证

完全退出客户端再打开(是托盘里真正退出,不是关窗口)。工具列表里出现CAN总线模拟服务器的工具即接入成功;调用报错的话,先查下面的坑点清单。

容易踩的坑

  • 改了配置没反应:客户端只重启了窗口没退进程。macOS 按 Cmd+Q,Windows 检查托盘。
  • JSON 报错打不开客户端:多半是最后多个逗号。粘进任何 JSON 校验器里查一遍再保存。

常见问题

Q

CAN总线模拟服务器免费吗?

A

代码在 GitHub(https://github.com/farzadnadiri/mcp-ecu)开放获取。个别功能依赖第三方服务时费用另算,看仓库 LICENSE 和定价页。

Q

CAN总线模拟服务器能用在 Cursor / Cline 吗?

A

能。MCP 是通用协议,同一份 mcpServers 配置在这些客户端之间基本通用,只是配置文件位置不同。

Q

需要外网或代理吗?

A

拉包和调用官方 API 需要能访问 GitHub 与对应服务域名,内网环境先测 git ls-remote 和接口连通性。