ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

NI-DAQmx DAQ Devices

โดย K-Dense-AIรุ่น 0.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.K-Dense-AI/labmcp-ni-daqmx

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

MCP server for National Instruments DAQ devices (NI-DAQmx).

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "labmcp-ni-daqmx": {
      "command": "uvx",
      "args": [
        "labmcp-ni-daqmx"
      ],
      "env": {
        "LABMCP_ADDRESS": "ใส่ค่าของคุณ",
        "LABMCP_SIMULATE": "ใส่ค่าของคุณ",
        "LABMCP_READ_ONLY": "ใส่ค่าของคุณ",
        "LABMCP_LIMITS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add labmcp-ni-daqmx --env LABMCP_ADDRESS='ใส่ค่าของคุณ' --env LABMCP_SIMULATE='ใส่ค่าของคุณ' --env LABMCP_READ_ONLY='ใส่ค่าของคุณ' --env LABMCP_LIMITS='ใส่ค่าของคุณ' -- uvx labmcp-ni-daqmx

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "labmcp-ni-daqmx": {
      "command": "uvx",
      "args": [
        "labmcp-ni-daqmx"
      ],
      "env": {
        "LABMCP_ADDRESS": "ใส่ค่าของคุณ",
        "LABMCP_SIMULATE": "ใส่ค่าของคุณ",
        "LABMCP_READ_ONLY": "ใส่ค่าของคุณ",
        "LABMCP_LIMITS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "labmcp-ni-daqmx": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "labmcp-ni-daqmx"
      ],
      "env": {
        "LABMCP_ADDRESS": "ใส่ค่าของคุณ",
        "LABMCP_SIMULATE": "ใส่ค่าของคุณ",
        "LABMCP_READ_ONLY": "ใส่ค่าของคุณ",
        "LABMCP_LIMITS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • LABMCP_ADDRESS env
    Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025
  • LABMCP_SIMULATE env
    Set to 1 to use the built-in simulator (no hardware)
  • LABMCP_READ_ONLY env
    Set to 1 to disable all state-changing tools
  • LABMCP_LIMITS env
    Safety limit overrides, e.g. max_temperature_c=80

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub K-Dense-AI ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 18935 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 51% ของอีก 18935 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 18935 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

NI-DAQmx DAQ Devices ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 44 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Calendesk

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

โดย formulahendryเริ่มต้น↓ 66/สัปดาห์★ 440อัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

โดย desktop-commanderกำลังโต★ 211อัปเดต 4 วันที่ผ่านมา

รันบนคลาวด์✓ desktopcommander.app

Calendesk

Manage Calendesk bookings, customers, employees and services from AI assistants. OAuth sign-in.

โดย Calendeskเริ่มต้นอัปเดต วันนี้

รันบนคลาวด์✓ calendesk.com

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

NI-DAQmx DAQ Devices — MCP Server

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.

Packagelabmcp-ni-daqmx
InstrumentsNI-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
InterfacesUSB, PCI/PCIe, PXI, Ethernet (cDAQ chassis)
ProtocolNI-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

Try it without hardware

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.

Connect your instrument

  1. Install NI-DAQmx (Windows or Linux; macOS is not supported by NI-DAQmx) from ni.com. The nidaqmx Python package is installed with this server; python -m nidaqmx installdriver can also install the driver.
  2. Find the device name in NI MAX (*Devices and Interfaces*) or with nilsdev on Linux, e.g. Dev1 or cDAQ1Mod1. Close NI MAX test panels before connecting.
  3. Test the connection:
   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.

Add to your MCP client

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).

Tools

ToolKindDescription
get_command_log👁 readReturn 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👁 readReport 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👁 readDescribe 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👁 readList 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👁 readMeasure 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👁 readRead the logic level of digital lines.
read_thermocouple👁 readMeasure 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🛑 safetyClose and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
set_outputs_safe🛑 safetyPut 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⚠️ hazardSet 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⚠️ hazardDrive 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).

Safety limits

LimitDefaultMeaning
max_ao_voltage_v5 VLargest \voltage\an agent may put on an analog output
max_samples100 000Most samples per channel in one acquisition
max_rate_hz100 000 HzHighest sample clock rate per channel
max_acquisition_s60 sLongest 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.

Example prompts

  • "List the NI devices and tell me which inputs Dev1 has and their voltage ranges."
  • "Acquire ai0 and ai1 differentially at 10 kHz for 0.5 s on the ±1 V range and give me the RMS noise of each; save the data to ~/daq/noise.csv."
  • "Read the type K thermocouples on cDAQ1Mod1/ai0:3 once a second for 30 seconds using the built-in CJC and report the average of each."
  • "Set ao0 to 2.0 V, confirm it on the ai2 loopback, then set it back to 0."
  • "Is the interlock on port1/line0 closed? Then switch port0/line2 high to open the valve."
  • "We're done: put every output in a safe state."

Notes

  • Every tool call is one short DAQmx task (create channels, configure timing, read or write, close), as in NI's examples, so the server never holds the device reserved between calls. Another program using the device at the same time causes a clear "resource reserved" error (-50103). Output and digital-line tasks are serialised separately from acquisitions, so 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.
  • Acquisitions are capped at 600 s per tool call even if 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.
  • Outputs hold their value after the task closes on most NI devices, which is what the output tools rely on. Some devices have configurable idle/power-up output behaviour; check your device if it resets outputs.
  • Reading a digital line can change it. A DAQmx digital-input task configures the line as an input. The server therefore reports lines it is driving from their last commanded level instead of reading them, and documents the risk for lines driven by other software.
  • Terminal configuration matters. default lets NI-DAQmx choose (often differential where supported). A wrong choice gives offsets or noise rather than an error.
  • Thermocouples use 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.
  • Rates: multiplexed devices share 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.
  • NI-DAQmx warnings (e.g. about coerced values) are returned in each acquisition's warnings list.

Hardware verification

ModelNI-DAQmx versionInterfaceVerified byDate
*none yet: be the first*
ถาม PopNx