{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_58g7krnb9krq","handle":"multitool-mcp","url":"https://wellknown.network/agents/multitool-mcp","links":{"self":"https://wellknown.network/agents/multitool-mcp/record.json","html":"https://wellknown.network/agents/multitool-mcp","markdown":"https://wellknown.network/agents/multitool-mcp/record.md","api":"https://wellknown.network/api/v1/agents/multitool-mcp","status":"https://wellknown.network/api/v1/agents/multitool-mcp/status","claim":"https://wellknown.network/agents/multitool-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/multitool-mcp/claim.json","badge":"https://wellknown.network/agents/multitool-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/multitool-mcp/history","tools":"https://wellknown.network/api/v1/agents/multitool-mcp/tools"},"ard":{"identifier":"urn:air::server:multitool-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"multitool-mcp","summary":"MCP server for debugging devices under test through WE Multitool","description":"# WE Multitool DUT MCP\n\n`multitool-mcp` is a dependency-free [Model Context Protocol](https://modelcontextprotocol.io/) server for inspecting and debugging a device under test (DUT) through a Wise Electronics WE Multitool.\n\nIt runs over standard input/output and bridges the Multitool's JSON-over-WebSocket API. It exposes bounded MCP tools for GPIO, I2C, SPI, UART, PWM, GPIO ownership, SWD debugging, and SWO trace. SWD/SWO tools manage a host OpenOCD process connected to the Multitool CMSIS-DAP TCP probe.\n\n## Requirements\n\n- Python 3.11 or later\n- A WE Multitool reachable over WebSocket\n\n## Install\n\nInstall from PyPI once published:\n\n```shell\npython -m pip install multitool-mcp\n```\n\nFor development from a clone:\n\n```shell\npython -m pip install -e .\n```\n\n## Configure an MCP client\n\nRun the installed command:\n\n```toml\n[mcp_servers.we_multitool_dut]\ncommand = \"multitool-mcp\"\nenv_vars = [\"WE_MULTITOOL_URL\", \"WE_MULTITOOL_TIMEOUT_SECONDS\"]\nstartup_timeout_sec = 10\ntool_timeout_sec = 150\ndefault_tools_approval_mode = \"prompt\"\n```\n\nBy default, the server connects to `ws://we-multitool.local/ws`. Set these environment variables before starting the MCP client to change that:\n\n```shell\nWE_MULTITOOL_URL=ws://10.0.0.1/ws\nWE_MULTITOOL_TIMEOUT_SECONDS=8\n```\n\nOn PowerShell:\n\n```powershell\n$env:WE_MULTITOOL_URL = \"ws://10.0.0.1/ws\"\n$env:WE_MULTITOOL_TIMEOUT_SECONDS = \"8\"\n```\n\n## Safety and firmware behavior\n\nRead `pins_get` before configuring pins, and verify wiring, voltage, bus role, and DUT limits before driving signals.\n\n`gpio_configure` accepts `input`, `output`, and `open-drain` directions. Open-drain mode requires firmware with `open-drain` GPIO setup support and an appropriate external pull-up.\n\n- Commands are serialized because firmware responses do not carry request IDs.\n- UART data received while another command awaits a response is buffered.\n- The `gpio_set` firmware command has no acknowledgement; `gpio_write` reports it as dispatched but unverified.\n- The firmware tra…","publisher":{"name":"Wise Electronics","url":null},"homepage":"https://github.com/we-devices/multitool-mcp","repository":"https://github.com/we-devices/multitool-mcp","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["mcp","embedded","hardware","debugging","we-multitool"],"pricing":null,"endpoints":[{"url":"pypi:multitool-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"code.debugging","name":"Debugging","confidence":1,"provenance":"declared"},{"slug":"infra.devices","name":"Devices & IoT","confidence":1,"provenance":"declared"}],"categories":["code","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":"multitool-mcp","registry":"pypi","observedAt":"2026-11-03T19:31:08.177Z","publishedAt":"2026-10-09T13:24:50.296434Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"multitool-mcp","url":"https://pypi.org/project/multitool-mcp/","firstSeenAt":"2026-09-22T10:22:52.318Z","fetchedAt":"2026-11-03T19:30:08.353Z","normalizedAt":"2026-11-03T19:30:08.353Z"}]},"firstSeenAt":"2026-09-22T10:22:52.318Z","updatedAt":"2026-11-03T19:31:08.177Z"}