{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9venr3nbm68p","handle":"openinverter-mcp","url":"https://wellknown.network/agents/openinverter-mcp","links":{"self":"https://wellknown.network/agents/openinverter-mcp/record.json","html":"https://wellknown.network/agents/openinverter-mcp","markdown":"https://wellknown.network/agents/openinverter-mcp/record.md","api":"https://wellknown.network/api/v1/agents/openinverter-mcp","status":"https://wellknown.network/api/v1/agents/openinverter-mcp/status","claim":"https://wellknown.network/agents/openinverter-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/openinverter-mcp/claim.json","badge":"https://wellknown.network/agents/openinverter-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/openinverter-mcp/history","tools":"https://wellknown.network/api/v1/agents/openinverter-mcp/tools"},"ard":{"identifier":"urn:air::server:openinverter-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"openinverter-mcp","summary":"MCP server for openinverter / EV-CAN work: parameter DB inspection, CAN frame decode, DBC operations, and recorded-log analysis","description":"# openinverter-mcp\n\nMCP server for [openinverter](https://openinverter.org/) / EV-CAN work: inspect openinverter\nparameter databases, decode and encode CAN frames via DBC files, and analyze recorded CAN\nlogs — from Claude Code, Claude Desktop, or any MCP client.\n\nBuilt for DIY EV builders (Leaf/Tesla drive units, stm32-sine firmware). **No CAN hardware\nrequired**: the DBC, log, and param-DB lanes are fully usable standalone on files. Live\ndevice access exists but is deliberately locked behind a feature flag (see Safety).\n\n## Install\n\nRequires Python 3.10+.\n\n```sh\npip install openinverter-mcp        # once published; from a clone:\ngit clone <this repo> && cd openinverter-mcp\nuv sync                             # or: pip install -e .\n```\n\n## Register with Claude Code\n\nFrom a clone (project-scoped `.mcp.json` in this repo already does this):\n\n```sh\nclaude mcp add openinverter -- uv run --directory C:/path/to/openinverter-mcp openinverter-mcp\n```\n\nOnce on PyPI, no clone needed:\n\n```sh\nclaude mcp add openinverter -- uvx openinverter-mcp\n```\n\nThen in a session: \"load assets/sample.dbc and decode 0x156 701C2D2ED40D4A00\".\n\n## Tools\n\nHandles (`dbc:1`, `log:1`, `paramdb:1`) are returned by the load tools; every tool that\ntakes a handle also accepts a file path directly.\n\n| Tool | What it does |\n|---|---|\n| `server_info` | Version, device-lane status, loaded handles. Smoke test. |\n| `dbc_load` | Load a DBC file → handle + message/node summary. |\n| `dbc_info` | List messages (with `search` over message/signal names) or full signal detail for one message. |\n| `decode_frame` | One raw frame (id + hex data) → named signal values. |\n| `encode_message` | Signal values → frame bytes (hex + candump form), range-checked. |\n| `log_open` | Open a recorded log: candump `.log`, Vector `.blf`, python-can `.csv`, `.asc`, `.trc`. |\n| `log_stats` | Bus overview: per-id counts, rates (Hz), time span, DLC profile. |\n| `log_decode` | Decode a log through a DBC; id filter + pagination; unknown id…","publisher":{"name":"Jesse Sapirstein","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["can","canbus","dbc","ev","mcp","openinverter"],"pricing":null,"endpoints":[{"url":"pypi:openinverter-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.filesystem","name":"Filesystem","confidence":0.802,"provenance":"derived"},{"slug":"infra.devices","name":"Devices & IoT","confidence":0.802,"provenance":"derived"}],"categories":["dev","infra"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"openinverter-mcp","registry":"pypi","observedAt":"2026-11-03T20:29:47.677Z","publishedAt":"2026-09-13T17:40:18.005905Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"openinverter-mcp","url":"https://pypi.org/project/openinverter-mcp/","firstSeenAt":"2026-09-16T07:23:27.189Z","fetchedAt":"2026-11-03T20:29:05.411Z","normalizedAt":"2026-11-03T20:29:05.411Z"}]},"firstSeenAt":"2026-09-16T07:23:27.189Z","updatedAt":"2026-11-03T20:29:47.677Z"}