Skip to main content
Glama
BrianDavidCouch

daqmx-mcp

daqmx-mcp

Independent community project. daqmx-mcp is not affiliated with, endorsed by, sponsored by, or supported by National Instruments. NI, NI-DAQmx, and related names are trademarks of National Instruments. This project includes no NI binaries, drivers, logos, or documentation. Users must obtain and license required NI software separately.

daqmx-mcp is a safety-bounded MCP server and Codex plugin for discovering data-acquisition devices and performing finite analog-voltage and digital-input reads through NI's supported nidaqmx Python package. Version 0.1.0 intentionally has no output, relay, reset, calibration, arbitrary property-write, continuous acquisition, shell, or Python-execution capability.

AI-generated hardware configurations require review by a qualified person. Tool results, including self-tests, are not proof that a connected system is electrically safe.

Quick start: mock mode

Requires Python 3.10 or newer.

python -m venv .venv
# Linux/macOS: source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
daqmx-mcp --check-config --config config.example.json
daqmx-mcp --config config.example.json

The final command is an STDIO MCP server and waits for an MCP client. To add the installed command to Codex:

codex mcp add daqmx-mcp --env DAQMX_MCP_CONFIG=/absolute/path/to/config.example.json -- daqmx-mcp

Do not copy the example absolute path literally. Codex desktop, CLI, and IDE extension share the same MCP configuration; the desktop and IDE settings also provide MCP servers → Add server → STDIO, followed by a restart.

What works

  • get_server_status, discovery, details, channel listing, self-test

  • finite multi-channel analog-voltage acquisition with optional PFI digital start trigger

  • one-shot software-timed digital input

  • bounded statistics and sample previews

  • new-file-only TDMS (preferred) and CSV recording inside one approved directory

  • deterministic cross-platform mock backend

  • lazy local backend that reports missing Python package/driver rather than breaking mock mode

  • exact device/channel allowlists, structured errors, metadata-only audit events, and finally cleanup

No stop_acquisition tool is needed: every v0.1.0 acquisition is synchronous, finite, bounded, and owned by one tool transaction.

Documentation

Development

python -m pip install -e ".[dev]"
ruff format --check .
ruff check .
mypy src
pytest --cov=daqmx_mcp --cov-report=term-missing
python -m build
pip-audit

See CONTRIBUTING.md. Apache-2.0 is used for original project code; dependency and separately installed NI software licenses remain their own.

-
license - not tested
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BrianDavidCouch/daqmx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server