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

PalmSens Potentiostat

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

ติดตั้ง

ภาพรวม

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

MCP server for PalmSens potentiostats running MethodSCRIPT (EmStat Pico, EmStat4, Sensit, Nexus).

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

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

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

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

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

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

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

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

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

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

เปิดใน Cursor

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

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

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

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

เปิดใน VS Code

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

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

{
  "servers": {
    "labmcp-palmsens": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "labmcp-palmsens"
      ],
      "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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

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

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

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

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

PalmSens Potentiostat ปลอดภัยไหม?

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

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

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

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

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

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

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

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

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

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

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

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

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อัปเดต 3 วันที่ผ่านมา

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

AikenDewit

Read, add and schedule your AikenDewit tasks and today's top three from ChatGPT or Claude.

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

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

README จากผู้ทำ

เปิดอ่าน README

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

PalmSens Potentiostat — MCP Server

Let an AI agent run cyclic voltammetry, linear sweep voltammetry, differential pulse voltammetry and chronoamperometry on PalmSens potentiostats that speak MethodSCRIPT, and get back downsampled data, peak summaries and optional full-resolution CSV files.

Packagelabmcp-palmsens
InstrumentsEmStat Pico (module and development board), EmStat4 LR/HR (EmStat4S, EmStat4M, EmStat4X), Sensit Wearable / Sensit BT, Nexus
InterfacesUSB (virtual COM port), UART
ProtocolMethodSCRIPT v1.x (MethodSCRIPT manual v1.8) over the PalmSens online communication protocol (EmStat Pico v1.6, EmStat4 v1.3); cross-checked against PalmSens/MethodSCRIPT_Examples
Status🧪 simulated: tested against a wire-level simulator, not yet verified on hardware. Report a hardware test

Try it without hardware

uvx labmcp-palmsens --simulate --check

The simulator is an EmStat Pico with a 3 mm disk electrode in 1 mM of a reversible one-electron redox couple (E° = +0.20 V, like ferro/ferricyanide vs Ag/AgCl). It interprets the scripts the server sends and streams correctly encoded data packages, so you get a proper CV "duck", DPV peaks and Cottrell decays. Simulated time runs 10× faster than real time; change that with --option sim_speed=1 (real time) or =100.

Connect your instrument

  1. Close PSTrace / MultiTrace. Only one program can hold the serial port.
  2. Find the port: uvx labmcp ports. An EmStat Pico development board or Sensit shows up as a USB serial port (FTDI). An EmStat4 or Nexus shows up as a virtual COM port named after the device.
  3. Test the connection:
   uvx labmcp-palmsens --address /dev/ttyUSB0 --check            # EmStat Pico / Sensit (Linux)

uvx labmcp-palmsens --address /dev/tty.usbmodemXXXX --check # EmStat4 (macOS) uvx labmcp-palmsens --address COM7 --check # Windows

   Defaults are the EmStat Pico's: **230400 baud, 8N1, XON/XOFF**, LF line endings. Over USB the EmStat4 and Nexus ignore the baud rate. For an EmStat4 **UART** connection use `serial://COM7?baudrate=921600&rtscts=true&xonxoff=false`.
  1. --check sends the firmware-version (t) and serial-number (i) commands and prints the model, firmware and serial.

Add to your MCP client

Claude Code

claude mcp add potentiostat -- uvx labmcp-palmsens --address /dev/ttyUSB0

Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)

{

"mcpServers": { "potentiostat": { "command": "uvx", "args": ["labmcp-palmsens", "--address", "/dev/ttyUSB0"] } } }

Add --read-only to allow device information only: every measurement tool applies potential and is hidden.

Tools

ToolKindDescription
abort_measurement🛑 safetyAbort the running measurement or script immediately (communication command Z) and make sure the cell is switched off. Safe to call when nothing is running.
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👁 readIdentify the potentiostat (model, firmware, serial number) and list its potential window, PGStat modes and current ranges, so measurement parameters can be chosen within them.
reconnect🛑 safetyClose and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
run_chronoamperometry⚠️ hazardHold the cell at potential_v for run_time_s and record the current every interval_s. Returns the data (time from the instrument timer) plus first/last/mean current and the charge. Applies potential to the cell.
run_cyclic_voltammetry⚠️ hazardRun a cyclic voltammogram: begin -> vertex 1 -> vertex 2 -> begin, n_scans times, and return potential/current/time data with the anodic and cathodic peaks of every scan. Applies potential to the cell for the whole scan; the cell is switched off at the end.
run_differential_pulse_voltammetry⚠️ hazardRun differential pulse voltammetry (current = forward - reverse, per step) from begin to end potential and return the data with the peak current and peak potential. The scan rate must be below step / pulse_time / 2. Applies potential to the cell.
run_linear_sweep_voltammetry⚠️ hazardRun a linear sweep voltammogram from begin_potential_v to end_potential_v and return the data with the largest/smallest current and where they occur. Applies potential to the cell.
run_methodscript⚠️ hazardAdvanced: run a raw MethodSCRIPT and return its raw output and decoded data packages. Literal potentials of set_e / set_range_minmax da and the CV, LSV, DPV, SWV, NPV, ACV, CA, PAD, EIS and fast CV/CA techniques are checked against max_potential_v, and literal set_range ba / set_autoranging ba currents against max_current_range_a; values computed at run time are not. Aborted after timeout_s; add on_finished: + cell_off to your script so the cell is switched off after an abort. After a runtime error, a timeout or abort_measurement the server switches the cell off itself.

Safety limits

LimitDefaultMeaning
max_potential_v2.0 VLargest absolute potential vs RE any technique (or literal in a raw script) may apply, including DPV pulses
max_current_range_a0.01 AHighest current range an agent may select (with autorange, the instrument never goes above current_range_a); in raw scripts, literal set_range ba / set_autoranging ba values
max_duration_s600 sLongest measurement (including equilibration) or raw-script timeout

Override at launch, e.g. --limit max_potential_v=1.0 --limit max_duration_s=1800. Whatever the limits say, a single tool call is capped at one hour.

Example prompts

  • "Run a CV of my ferrocyanide sample from −0.2 V to +0.6 V and back at 50 mV/s, three cycles, and tell me E½ and the peak separation."
  • "Do a scan-rate study: CVs at 25, 50, 100 and 200 mV/s between −0.1 and 0.5 V, save each as CSV, and check whether the peak current scales with √v."
  • "Run DPV from 0 to 0.6 V with 50 mV pulses and report the peak potential and height."
  • "Hold 0.5 V for 60 s, record the current every 0.2 s, and give me the total charge passed."
  • "Which potential window and current ranges does this potentiostat support?"
  • "Abort the measurement."

Notes

  • What the server sends. Each technique is one MethodSCRIPT modelled on PalmSens' measurement-loop examples: set_pgstat_chan 0, set_pgstat_mode, set_max_bandwidth, set_range_minmax da, set_range ba, set_autoranging ba, set_e, cell_on, optional wait, then meas_loop_cv / lsv / dpv / ca with pck_add of the set potential and current, and on_finished: cell_off. So the cell is switched off after completion and after an abort. A runtime error skips on_finished: (MethodSCRIPT manual §10.1), so after one the server sends a separate cell_off script. The exact script is in get_command_log.
  • PGStat mode and bandwidth. Max bandwidth is 6× the data rate (the ratio PalmSens' examples use). On the EmStat Pico and Sensit, the server picks low speed (−1.25 to 2.0 V, 2.2 V window, ≤ 100 Hz), then max range (−1.7 to 2.0 V, 2.6 V window), then high speed (1.214 V window) to fit your potentials. If none fits, it says why before anything is sent. EmStat4 and Nexus use low speed mode; per the manual, the modes do not differ on those instruments.
  • Current sign and units. Anodic (oxidation) current is positive; potentials are the *set* potentials vs RE; time_s comes from the instrument timer for chronoamperometry and from step/scan rate for sweeps.
  • Summaries. CV peaks are the raw maximum and minimum current of each scan (no baseline correction). ΔEp and the midpoint are estimates. Staircase sampling makes ΔEp somewhat larger than the ideal 59 mV at large steps.
  • Raw scripts. run_methodscript checks literal potentials (and store_var literals) of set_e, set_range_minmax da and the CV/LSV/DPV/SWV/NPV/ACV/CA/PAD/EIS loops and meas_fast_cv/meas_fast_ca against max_potential_v (DPV pulse and 2x SWV amplitude included). Literal current ranges of set_range ba / set_autoranging ba are checked against max_current_range_a. Values computed inside the script are not checked. The script is aborted at timeout_s and a cell_off script is run.
  • Abort. abort_measurement sends the communication-protocol Z command. A running technique returns the data measured so far with aborted: true. Afterwards (and when nothing was running) the server runs a one-line cell_off script, so the cell is also switched off after a raw script without on_finished:. If the output of a running script cannot be read (e.g. a USB glitch), the server aborts the script and switches the cell off before reporting the error; a single corrupted data line is skipped with a warning instead.
  • Saving data. save_path must end in .csv; missing folders are created and an existing file is never overwritten (choose a new name). The path is checked before the measurement starts. Points with a nan value are left out (with a warning).
  • Not covered: galvanostatic techniques, EIS, SWV/NPV/PAD, multiplexers, bipotentiostat mode, multi-channel MultiEmStat4 systems and the CRC16 protocol extension. Use run_methodscript for single-channel scripts beyond the built-in techniques.

Hardware verification

ModelFirmwareInterfaceVerified byDate
*none yet: be the first*
ถาม PopNx