Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
MCP server for LabJack T4, T7/T7-Pro and T8 DAQ devices (LJM).
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-labjack": {
"command": "uvx",
"args": [
"labmcp-labjack"
],
"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-labjack --env LABMCP_ADDRESS=your-value --env LABMCP_SIMULATE=your-value --env LABMCP_READ_ONLY=your-value --env LABMCP_LIMITS=your-value -- uvx labmcp-labjackTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"labmcp-labjack": {
"command": "uvx",
"args": [
"labmcp-labjack"
],
"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-labjack": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-labjack"
],
"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 7. 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.3) kam vor 41 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, Agent Data Tools: Utilities
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ 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.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
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 read analog inputs, stream waveforms, read thermocouples, check digital lines and (with your permission) set DACs and digital outputs on LabJack T4, T7/T7-Pro and T8 DAQ devices through LabJack's official LJM library.
| Package | labmcp-labjack |
| Instruments | LabJack T4, T7, T7-Pro, T8 (and their OEM versions) |
| Interfaces | USB, Ethernet, WiFi (T7-Pro) |
| Protocol | LJM library + T-series Modbus register map (T-Series Datasheet, register map ljm_constants.json, labjack-ljm Python wrapper) |
| Status | 🧪 simulated: tested against a simulated LJM backend, not yet verified on hardware. Report a hardware test |
uvx labmcp-labjack --simulate --check
uvx labmcp-labjack --simulate --option sim_model=T8 --check # T4, T7, T7-Pro (default) or T8
The simulator wires a 2 V / 10 Hz sine to AIN0, a thermistor divider (~2.5 V) to AIN1, DAC0 back into AIN2, an LM34 cold-junction sensor to AIN3, and a ~37 °C thermocouple to AIN0-AIN3 when the thermocouple feature is used. Other inputs are grounded.
labjack-ljm Python package is installed automatically with this server, but it needs that native library. uvx labmcp-labjack --check # first LabJack found
uvx labmcp-labjack --address 470012345 --check # by serial number uvx labmcp-labjack --address 192.168.1.207 --option connection_type=ETHERNET --check uvx labmcp-labjack --option device_type=T4 --check # only open a T4
`--address` is the LJM identifier: a serial number, an IP address, a device name, or `ANY` (the default).
Claude Code
claude mcp add labjack -- uvx labmcp-labjack --address 470012345
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
{
"mcpServers": { "labjack": { "command": "uvx", "args": ["labmcp-labjack", "--address", "470012345"] } } }
Add --read-only to allow measurements but block the DAC and digital-output tools (set_outputs_safe stays available). Add --option safe_dio=FIO0,FIO1 to make set_outputs_safe always release those lines, even if another program drove them. For other clients, generate the snippet with uvx labmcp config labjack --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 | Identify the connected LabJack (model, serial, firmware, connection) and list what it offers: analog inputs, valid input ranges, resolution indices, DAC range, digital lines and stream rate. Call this before configuring channels. |
read_analog_inputs | 👁 read | Read one or more analog inputs once (command-response) and return volts. |
read_device_temperature | 👁 read | Read the LabJack's internal temperature sensor (°C, about ±2 °C) and the estimated ambient air temperature. On the T8 also returns the sensor next to each AIN terminal. Cannot be read while a stream is running. |
read_digital_inputs | 👁 read | Report the logic level and direction (input/output/analog) of digital I/O lines. |
read_thermocouple | 👁 read | Read a thermocouple with the T7/T8 AIN thermocouple extended feature (types B, C, E, J, K, N, R, S, T) and return °C with the measured voltage and cold-junction temperature. |
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_digital_output | ⚠️ hazard | Make a digital line an output and drive it high (3.3 V) or low (0 V). |
set_outputs_safe | 🛑 safety | Put the outputs in a safe state: stop any stream, set DAC0 and DAC1 to 0 V, and release every digital line this server drove (plus the safe_dio option lines) to input - or drive them low with dio_mode='low'. Use when finished or if anything looks wrong. |
stream_analog | 👁 read | Acquire a hardware-timed waveform on one or more analog inputs (LJM stream mode) and return per-channel statistics plus a downsampled waveform; optionally save everything to CSV. |
write_dac | ⚠️ hazard | Set an analog output (DAC0/DAC1) to a DC voltage. The output stays at this value 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 LJM register read and write.
| Limit | Default | Meaning |
|---|---|---|
max_dac_voltage_v | 5 V | Highest DAC voltage an agent may set (hardware: T4/T7 0-5 V, T8 0-10 V) |
max_stream_duration_s | 60 s | Longest hardware-timed stream |
max_scan_rate_hz | 10 000 Hz | Highest stream scan rate (the device maximum still applies) |
Override at launch, e.g. --limit max_dac_voltage_v=2.5. Limits are checked before anything is sent. Streams are also capped at 2 million samples in total.
AIN#_RANGE) and resolution indices come from LabJack's register map: T7 ±10/±1/±0.1/±0.01 V and index 0-8 (T7-Pro 0-12, but 9-12 cannot stream); T8 ±11 … ±0.018 V and index 0-16 (one index shared by all inputs); T4 fixed ranges (AIN0-3 ±10 V, AIN4-11 0-2.5 V) and index 0-5. DAC range: T4/T7 0-5 V, T8 0-10 V.read_analog_inputs stay on the device until changed or power-cycled. Omitted settings are left as they are; every reading reports what it was measured against (GND, the T7 negative input, or the T8's isolated terminal).read_digital_inputs uses the DIO_STATE/DIO_DIRECTION bitmasks. (Reading a single-line register such as FIO3 would switch that line to input.)dio_mode="low" instead.AIN#_EF_INDEX 20-30). With cjc="internal" the CJC register is set to its documented default TEMPERATURE_DEVICE_K (address 60052), which the T8 firmware maps to each channel's own terminal sensor (TEMPERATURE#_CAPTURE); cjc="lm34" uses LabJack's LM34 conversion (55.56 K/V, 255.37 K). An open input returns valid=false (the device reports -9999).stream_basic.py example (internal clock, no trigger, auto settling). While a stream runs, command-response analog reads are blocked by the device. Skipped scans (buffer overflow) are reported and left empty. set_outputs_safe does not wait for a running stream: it stops it at the next read (the partial result is returned with aborted: true). A stream runs at 1 scan/s or faster (so that stop is prompt) and always takes at least two scans; that real duration is what the max_stream_duration_s limit checks. 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 (an existing file is never overwritten, and the path is checked before streaming).| Model | Firmware | Interface | Verified by | Date |
|---|---|---|---|---|
| *none yet: be the first* |