daq-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DAQ_MCP_SIMULATE | No | Set to '1' to force the simulated backend; leave unset to try the real NI-DAQmx driver and fall back to simulation if unavailable. | 0 |
| DAQ_MCP_ALLOW_WRITE | No | Set to '1' to enable digital and analog output; leave unset to disable writes by default. | 0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List NI DAQ devices visible to this machine. Returns the device name, product type, serial number, and which channel types it supports. Call this first — channel names are device-specific. |
| describe_deviceA | Describe one device's full channel inventory. Returns available analog input, analog output, digital input, and digital output channels, plus voltage ranges and max sample rates. Use this to pick valid channel names before reading or writing. |
| read_analogA | Read voltage samples from an analog input channel. channel: fully qualified, e.g. "Dev1/ai0" samples: how many samples to acquire (1 = single instantaneous reading) rate_hz: sample rate for multi-sample reads Returns the samples plus min/mean/max, so the model can reason about the signal without pulling thousands of raw floats into context. |
| read_digitalA | Read the current logic level of a digital input line. channel: e.g. "Dev1/port0/line0" Returns {"channel": ..., "value": true/false}. |
| write_digitalA | Set a digital output line high or low. Requires DAQ_MCP_ALLOW_WRITE=1. Returns the line's state after the write (read back from hardware, not echoed) so the model can confirm the effect. |
| write_analogA | Set an analog output channel to a DC voltage. Clamped to AO_VOLTAGE_LIMITS. Returns both the requested and the actual applied voltage, and flags whether clamping occurred — never silently changes the value the model asked for. |
| monitor_analogA | Acquire a finite analog waveform and return summary statistics. Built for the "is my sensor behaving?" question: returns mean, RMS, peak- to-peak, standard deviation, and a downsampled preview rather than the full sample array. Keeps large acquisitions out of the context window. |
| self_testB | Run the device's built-in self-test and report pass/fail. Useful as a first diagnostic when reads return unexpected values. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| current_config | The active safety configuration: allowlist, write status, voltage limits. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rhit-folayaod/MCP-NIDAQMX'
If you have feedback or need assistance with the MCP directory API, please join our Discord server