{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jfmw76kpzhja","handle":"canforge-mcp","url":"https://wellknown.network/agents/canforge-mcp","links":{"self":"https://wellknown.network/agents/canforge-mcp/record.json","html":"https://wellknown.network/agents/canforge-mcp","markdown":"https://wellknown.network/agents/canforge-mcp/record.md","api":"https://wellknown.network/api/v1/agents/canforge-mcp","status":"https://wellknown.network/api/v1/agents/canforge-mcp/status","claim":"https://wellknown.network/agents/canforge-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/canforge-mcp/claim.json","badge":"https://wellknown.network/agents/canforge-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:canforge-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"canforge-mcp","summary":"Local, read-only MCP tools for CAN databases and capture logs","description":"# canforge-mcp\n\n[![PyPI](https://img.shields.io/pypi/v/canforge-mcp)](https://pypi.org/project/canforge-mcp/)\n[![CI](https://github.com/canforge/canforge-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/canforge/canforge-mcp/actions/workflows/ci.yml)\n[![Python versions](https://img.shields.io/pypi/pyversions/canforge-mcp)](https://pypi.org/project/canforge-mcp/)\n[![License: MIT](https://img.shields.io/pypi/l/canforge-mcp)](LICENSE)\n\n`canforge-mcp` is a local, read-only MCP server for inspecting DBC files and\ndecoding CAN capture logs.\n\nFiles stay on the machine running the server. The server exposes bounded tools\ninstead of uploading captures or returning unbounded traces.\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `dbc_info` | DBC version, message/signal/node counts, and node names |\n| `list_messages` | Bounded message summaries, with optional search |\n| `get_message` | Full message and signal detail by name or arbitration ID |\n| `search_signals` | Bounded signal search across a DBC |\n| `decode_frame` | Decode one hexadecimal CAN payload |\n| `validate_dbc` | Structured DBC validation issues |\n| `diff_dbcs` | Added, removed, and changed messages and signals |\n| `probe_log` | Detect a log format and read header metadata |\n| `log_stats` | Frame count, span, ID counts, and median cycle times |\n| `log_signal_inventory` | One-pass inventory of DBC signals observed in a log |\n| `read_frames` | Bounded raw-frame samples with ID and time filters |\n| `decode_log` | Bounded decoded frames from a DBC and log |\n| `signal_timeseries` | Downsampled timestamp/value points for one signal |\n\nSee [the tool reference](docs/tools.md) for arguments, return shapes, and hard\ncaps.\n\n## Install\n\nRun directly with `uvx`:\n\n```bash\nuvx canforge-mcp\n```\n\nOr install with pip:\n\n```bash\npip install canforge-mcp\ncanforge-mcp\n```\n\nRequires Python `>=3.11`.\n\n## Configure\n\nClaude Code:\n\n```bash\nclaude mcp add canforge -- uvx canforge-mcp\n```\n\nClaude Desktop (`claude_desktop_config.json`):\n\n…","publisher":null,"homepage":"https://canforge.io/canforge-mcp","repository":"https://github.com/canforge/canforge-mcp/blob/main/CHANGELOG.md","version":"0.2.0","license":"MIT License\n        \n        Copyright (c) 2026 André Delgado\n …","protocols":["mcp"],"tags":["can","dbc","mcp","automotive","canbus"],"pricing":null,"endpoints":[{"url":"pypi:canforge-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.791,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.779,"provenance":"derived"}],"categories":["dev"],"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":"canforge-mcp","registry":"pypi","observedAt":"2026-09-09T11:32:09.589Z","publishedAt":"2026-07-20T19:08:17.497665Z","latestVersion":"0.2.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"canforge-mcp","url":"https://pypi.org/project/canforge-mcp/","firstSeenAt":"2026-09-09T11:29:31.166Z","fetchedAt":"2026-09-09T11:29:31.166Z","normalizedAt":"2026-09-09T11:29:31.166Z"}]},"firstSeenAt":"2026-09-09T11:29:31.166Z","updatedAt":"2026-09-09T11:32:09.589Z"}