GuideBB-0004

Building an MCP server for the Analog Discovery 2

Ari Mahpour shows how he wrapped Digilent's WaveForms SDK in a FastMCP server to control an Analog Discovery 2 from an IDE. The article's figures show MCP tool calls capturing a waveform and generating a signal. A 3.3 V sine request came out at 6.6 V peak-to-peak, and he saves large captures to files rather than returning them.

Open original source resources.altium.com · Ari Mahpour

Shown working
Why this evidence label?

Article shows a waveform captured through an MCP tool call.

How we check entries
Preview image for Building an MCP server for the Analog Discovery 2
The source's own preview image, from resources.altium.com.

Briefing

Mahpour runs the setup on Linux with Digilent's Adept runtime and WaveForms installed, and notes that under WSL the device can be forwarded from Windows with usbipd. Functions marked with FastMCP's @mcp.tool() decorator become tools; the rest of server.py holds helpers the model never sees. Asked to "read the oscilloscope input", the model picked capture_waveform without being given its name.

He had his model build on Digilent's official WaveForms SDK rather than a third-party pip package, which he says an LLM may reach for as a shortcut. He recommends checking each tool by script or by hand, and stating in the prompt or the docstring whether a value is peak or peak-to-peak. He describes the server as a demonstration, not a complete library.

Tags

Interface

Report a problem with this entry