Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
MCP server for National Instruments DAQ devices (NI-DAQmx).
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
LABMCP_ADDRESS, LABMCP_SIMULATE, LABMCP_READ_ONLY, LABMCP_LIMITSDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"labmcp-ni-daqmx": {
"command": "uvx",
"args": [
"labmcp-ni-daqmx"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add labmcp-ni-daqmx --env LABMCP_ADDRESS=your-value --env LABMCP_SIMULATE=your-value --env LABMCP_READ_ONLY=your-value --env LABMCP_LIMITS=your-value -- uvx labmcp-ni-daqmxTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"labmcp-ni-daqmx": {
"command": "uvx",
"args": [
"labmcp-ni-daqmx"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"labmcp-ni-daqmx": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-ni-daqmx"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
LABMCP_ADDRESS envLABMCP_SIMULATE envLABMCP_READ_ONLY envLABMCP_LIMITS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 10. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto K-Dense-AI bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 44 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, ActivitySmith
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI agents and scripts reporting back to your iPhone with Push Notifications and Live Activities.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Let an AI agent acquire voltages and thermocouple temperatures, read digital lines and (with your permission) set analog and digital outputs on National Instruments DAQ hardware through the official NI-DAQmx driver and its Python API.
| Package | labmcp-ni-daqmx |
| Instruments | NI-DAQmx devices: USB-6001/6002/6003, USB-6008/6009, USB-6211/6212/6218, USB/PCIe M and X Series (62xx/63xx), CompactDAQ C Series modules (e.g. NI 9201, 9211, 9263, 9401), NI MAX simulated devices |
| Interfaces | USB, PCI/PCIe, PXI, Ethernet (cDAQ chassis) |
| Protocol | NI-DAQmx via the nidaqmx Python API (API docs, source, NI-DAQmx driver) |
| Status | 🧪 simulated: tested against a simulated nidaqmx backend, not yet verified on hardware. Report a hardware test |
uvx labmcp-ni-daqmx --simulate --check
The built-in simulator is a USB-6341-like X Series device Dev1: a 1 V / 50 Hz sine on ai0, a 2.5 V sensor on ai1, ao0/ao1 looped back to ai2/ai3, a ~37 °C thermocouple on ai4, and an external "interlock" holding port1/line0 high. It reproduces NI-DAQmx behaviour such as error codes (e.g. -200170 channel does not exist, -200576 no built-in CJC) and the shapes task.read() returns.
Testing the real NI-DAQmx path without hardware: in NI MAX (Windows) choose *Devices and Interfaces → Create New… → Simulated NI-DAQmx Device*, then run the server *without* --simulate against that device, e.g. --address SimDev1. NI MAX simulated devices return synthetic data, and get_connection_info reports ni_max_simulated_device: True. On Linux, simulated-device support is limited (NI's configuration tools can import a configuration file that defines one, with mixed results); use --simulate there.
nidaqmx Python package is installed with this server; python -m nidaqmx installdriver can also install the driver.nilsdev on Linux, e.g. Dev1 or cDAQ1Mod1. Close NI MAX test panels before connecting. uvx labmcp-ni-daqmx --check # works if exactly one device is present
uvx labmcp-ni-daqmx --address Dev1 --check
`--address` is the NI-DAQmx device name. It is optional when exactly one device exists.
Claude Code
claude mcp add ni-daq -- uvx labmcp-ni-daqmx --address Dev1
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
{
"mcpServers": { "ni-daq": { "command": "uvx", "args": ["labmcp-ni-daqmx", "--address", "Dev1"] } } }
Add --read-only to allow acquisitions but block the output tools (set_outputs_safe stays available). Add --option safe_do_lines=port0/line0:3 to make set_outputs_safe always drive those lines low. For other clients, generate the snippet with uvx labmcp config ni-daqmx --address Dev1 --client vscode (also cursor, codex, claude-code).
| Tool | Kind | Description |
|---|---|---|
get_command_log | 👁 read | Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done. |
get_connection_info | 👁 read | Report which instrument is connected (identity, address, simulated or real), whether the server is read-only, and the active safety limits. Call this first. |
get_device_info | 👁 read | Describe the connected device: analog input/output channels, digital lines, supported voltage ranges, maximum sample rates, and the outputs this server has set. Call this before choosing channels, ranges and rates. |
list_devices | 👁 read | List every NI-DAQmx device the driver can see (product type, serial number, channels, whether it is an NI MAX simulated device) and which one this server is connected to. |
read_analog | 👁 read | Measure voltage on one or more analog inputs: a single on-demand reading, or a finite hardware-timed acquisition of samples per channel at rate_hz. Returns per-channel statistics and a downsampled waveform; optionally saves all data to CSV. |
read_digital_lines | 👁 read | Read the logic level of digital lines. |
read_thermocouple | 👁 read | Measure temperature (°C) with thermocouples (types B, E, J, K, N, R, S, T) on a thermocouple-capable device, e.g. an NI 9211/9212/9213/9214 module or USB-TC01. |
reconnect | 🛑 safety | Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged). |
set_outputs_safe | 🛑 safety | Put the device's outputs in a safe state: every analog output to 0 V (or the bottom of its range if 0 V is not in it) and, by default, every digital line this server drove - plus the safe_do_lines option lines - driven low. Use when finished or if anything looks wrong. |
write_analog | ⚠️ hazard | Set an analog output to a DC voltage (static, software-timed). The output keeps this value after the call on most NI devices, until changed or set_outputs_safe is called. |
write_digital_lines | ⚠️ hazard | Drive digital output lines high or low. The lines keep their level after the call until changed or set_outputs_safe is called. |
get_connection_info, get_command_log and reconnect are built into every LabMCP server. The command log records every task the server ran (channels, ranges, rates, values written).
| Limit | Default | Meaning | ||
|---|---|---|---|---|
max_ao_voltage_v | 5 V | Largest \ | voltage\ | an agent may put on an analog output |
max_samples | 100 000 | Most samples per channel in one acquisition | ||
max_rate_hz | 100 000 Hz | Highest sample clock rate per channel | ||
max_acquisition_s | 60 s | Longest finite acquisition (samples / rate) |
Override at launch, e.g. --limit max_ao_voltage_v=10 --limit max_acquisition_s=300. Limits are checked before anything is sent. The device's own AO range is also enforced (e.g. USB-6008/6009 outputs 0-5 V only), as are its maximum sample rates.
set_outputs_safe (and write_analog) never wait for a running acquisition to finish: NI-DAQmx runs an analog-input task and AO/DIO tasks on the same device side by side.max_acquisition_s is raised. The returned waveform is downsampled by keeping each block's minimum and maximum, so short spikes are not lost. save_path must be a new .csv file: it is checked before acquiring, and an existing file is never overwritten.default lets NI-DAQmx choose (often differential where supported). A wrong choice gives offsets or noise rather than an error.add_ai_thrmcpl_chan with built-in or constant cold-junction compensation. A CJC *channel* (SCANNABLE_CHANNEL) is not offered in this version because its correct use depends on the device.ai_max_multi_channel_rate_hz across channels, and NI-DAQmx coerces the sample clock to a rate the timebase can produce. The actual rate is returned in sample_rate_hz.warnings list.| Model | NI-DAQmx version | Interface | Verified by | Date |
|---|---|---|---|---|
| *none yet: be the first* |