daqmx-mcp
A safety-bounded MCP server for discovering data-acquisition devices and performing finite analog-voltage and digital-input reads through NI's nidaqmx Python package.
README
daqmx-mcp
Independent community project.
daqmx-mcpis 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
finallycleanup
No stop_acquisition tool is needed: every v0.1.0 acquisition is synchronous, finite, bounded, and owned by one tool transaction.
Documentation
- Architecture
- Safety and threat model
- Configuration
- Tool reference
- Windows, NI-DAQmx, and simulated devices
- Codex and plugin setup
- Examples and limitations
- Compatibility and verification
- Troubleshooting
- Roadmap
- Risk register
- Reviewed references
- Release checklist
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.