FieldCure.Mcp.ZStudio 0.14.0

{
  "inputs": [
    {
      "type": "promptString",
      "id": "zstudio_license_key",
      "description": "ZStudio license key carrying the zstudio-ai (MCP) entitlement. Omit to use the fingerprint-bound server-issued trial.",
      "password": true
    },
    {
      "type": "promptString",
      "id": "zstudio_workdir",
      "description": "Default folder for reading and writing .zstudy files when a tool is called without an explicit path. Defaults to a 'ZStudio' folder under your Documents. Paste a full folder path, e.g. C:\\Workspace",
      "password": false
    },
    {
      "type": "promptString",
      "id": "zstudio_autosave",
      "description": "Auto-save each affected study to its .zstudy after every successful mutating tool call. On by default — leave empty. Set to 'off' to explore a study without modifying the file on disk (there is no undo once a change is saved); you must then call save_study explicitly to persist.",
      "password": false
    }
  ],
  "servers": {
    "FieldCure.Mcp.ZStudio": {
      "type": "stdio",
      "command": "dnx",
      "args": ["FieldCure.Mcp.ZStudio@0.14.0", "--yes"],
      "env": {
        "ZSTUDIO_LICENSE_KEY": "${input:zstudio_license_key}",
        "ZSTUDIO_WORKDIR": "${input:zstudio_workdir}",
        "ZSTUDIO_AUTOSAVE": "${input:zstudio_autosave}"
      }
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global FieldCure.Mcp.ZStudio --version 0.14.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local FieldCure.Mcp.ZStudio --version 0.14.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=FieldCure.Mcp.ZStudio&version=0.14.0
                    
nuke :add-package FieldCure.Mcp.ZStudio --version 0.14.0
                    

ZStudio MCP Server

An MCP (Model Context Protocol) server that exposes the ZStudio electrochemical impedance spectroscopy (EIS) analysis engine to AI assistants. Import multi-vendor EIS measurement files, build and organize .zstudy documents, plot them, and run Z-HIT / Kramers–Kronig / DRT / equivalent-circuit fitting — directly from Claude, VS Code, and other MCP hosts.

ZStudio MCP ties ZStudio's validation / DRT / fitting engine into a conversational analysis flow, so you can check data quality faster, compare physically plausible candidate models, and understand the limits of every result. All numbers are computed by the verified ZStudio engine (each result carries a provenance stamp) — the AI only guides the workflow and interprets. Results are saved as .zstudy and open seamlessly in the ZStudio desktop app.

Developed by FieldCure Co., Ltd.

Requirements

  • Windows 10/11 (x64) — this is a Windows-only package. It uses the native Intel MKL (x64) math provider and Windows-based machine licensing; macOS and Linux are not supported.
  • .NET SDK 10 or later — the server is launched with dnx, which runs the NuGet package without installing it globally and requires the SDK (not just the runtime).
  • An MCP host (Claude Desktop, VS Code, or any stdio MCP client).

Configure your MCP host

Many hosts can add this server automatically from the NuGet MCP registry. To configure manually, run it from NuGet without installing, via dnx:

{
  "mcpServers": {
    "zstudio": {
      "command": "dnx",
      "args": ["FieldCure.Mcp.ZStudio"],
      "env": {
        "ZSTUDIO_LICENSE_KEY": "<your license key>",
        "ZSTUDIO_WORKDIR": "C:\\Users\\<you>\\Documents\\ZStudio"
      }
    }
  }
}

All environment variables are optional:

  • Omit ZSTUDIO_LICENSE_KEY to run on the 15-day trial.
  • Omit ZSTUDIO_WORKDIR to default to a ZStudio folder under your Documents (created on first use). This is where studies are read/written when a tool is called without an explicit path.
  • Omit ZSTUDIO_AUTOSAVE — auto-save is on by default (no value needed to enable it). Set it to off only to explore a study without modifying the file on disk; save_study is then the explicit way to persist.

(Exact config syntax varies by host — see your MCP host's documentation.)

Environment variables

Variable Required Description
ZSTUDIO_LICENSE_KEY No ZStudio license key carrying the MCP (zstudio-ai) entitlement. If omitted, a 15-day trial is used.
ZSTUDIO_WORKDIR No Default folder for reading and writing .zstudy files when a tool is called without an explicit path. Defaults to a ZStudio folder under your Documents.
ZSTUDIO_AUTOSAVE No On by default — leave unset; no value is needed to enable it. Set to off to disable the automatic save of the affected study after each successful mutating tool call (any other value keeps auto-save on).

Tools

The model works through short id-handles and token-light summaries; raw spectra stay on the server. Charts travel as Plotly specs that chart-capable hosts (Claude Desktop, Cowork, VS Code, …) render inline.

  • Session & documentscreate_from_file (import a raw file; optionally opens the study in the same call), open_study, list_studies, list_tree, get_dataset (token-light summary, optional geometric shape), get_dataset_metadata, get_curve (decimated / windowed measured points, column-oriented), get_analysis (read back a dataset's stored ECM / Loewner / K-K / DRT / Z-HIT results — and the options each was produced with — without re-running), save_study, export_study (write the study to a re-analyzable .xlsx workbook), list_session, close_study, open_in_app (launch the ZStudio desktop app).
  • Editingnew_study, import_data, add_folder, rename_item, move_item, remove_item, set_active_dataset, set_dataset_properties, get_study_info, set_study_info.
  • Data curation (masking)set_frequency_exclusions / set_point_exclusions / clear_exclusions mask measured points (raw spectrum only) without deleting them (reversible; new analyses use only non-excluded points). Stored analyses are snapshots and are not recomputed, so re-run the analysis to apply a new mask. get_curve include_excluded=true surfaces masked points with per-point indices to curate them.
  • Plottingplot (Nyquist / Bode / admittance; overlay multiple datasets, overlay a stored analysis reconstruction, or a dataset-level residual plot).
  • Analysiszhit (apply=false tunes options non-destructively), set_analysis_source, kk (Kramers–Kronig; R/C-vs-τ Voigt distribution), drt_tikhonov (continuous γ(τ) with a curve-shape description), drt_loewner (discrete RC/RL poles), estimate_inductance (series/stray diagnostic), export_inductive_free (spectrum with the inductive stray Ls + Rp|Lp + Rx|Lx removed, Rs kept), guess_ecm (data-derived initial values, no fit), evaluate_ecm (χ²/uncertainty at adjusted values, no fit), fit_ecm (with optional circuit schematic; seed_from continues from the stored state).
  • Batchbatch_run fans one analysis (kk / drt_tikhonov / guess_ecm / fit_ecm) out across many datasets (or the whole study) in parallel, returning a token-light per-dataset summary. For ECM, omit the circuit to fit each dataset's own stored model, or pass one to apply the same circuit to all.
  • Circuits (CDC)parse_circuit, render_circuit, circuit_reference, simulate_circuit, list_models (built-in model catalog with typical values and recommended frequency windows).
  • Licensinglicense_status (reports licensed / trial / unlicensed; always callable).

Studies and analysis results auto-save to their .zstudy after each mutating tool call (disable with ZSTUDIO_AUTOSAVE=off).

Vendor formats auto-detected on import: BioLogic (.mpr/.mpt), Gamry (.DTA), Scribner/ZView (.z), Ivium, EcoChemie, Elchemea, MinTech, and generic CSV/TSV.

License & support

Commercial software. The MCP tools require a valid ZStudio license that includes the AI (MCP) add-on; a time-limited trial runs when no key is supplied.

  • To purchase a license (including the AI/MCP add-on), contact MinTech: support@g-mintech.co.kr
  • Developer: FieldCure Co., Ltd. — https://www.fieldcure.com — support@fieldcure.com

© FieldCure Co., Ltd. All rights reserved.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.14.0 44 7/5/2026
0.13.0 49 7/2/2026
0.12.0 64 7/1/2026
0.11.0 113 6/27/2026
0.10.0 107 6/26/2026
0.9.0 100 6/26/2026
0.8.1 99 6/25/2026
0.8.0 103 6/24/2026
0.7.0 105 6/22/2026
0.6.0 105 6/21/2026
0.5.0 97 6/21/2026
0.4.0 174 6/19/2026
0.3.1 114 6/18/2026
0.3.0 105 6/17/2026
0.2.0 104 6/12/2026
0.1.1 110 6/9/2026
0.1.0 105 6/8/2026

v0.14.0 — External-change save guard, plus shared-engine Loewner-stray fixes; tool count unchanged (44), but save_study gains a `force` parameter (RECONNECT the MCP server after updating — the tool schema changed). An MCP session holds a full-study snapshot from load time and every mutating tool auto-saves the WHOLE study, so a stale session could silently clobber edits another writer (typically the ZStudio app) had made to the bound .zstudy. StudySession now tracks the bound file's last-write time as of its last load/save and refuses a same-file overwrite when the on-disk timestamp moved (ExternalFileChangeException); saving to a new path never trips the guard, and a successful save refreshes the baseline. A blocked auto-save is surfaced ON the tool result as a "[auto-save blocked] ..." text block (stderr is invisible to the model) so the caller can decide: re-open to take the disk version, or save_study force=true to overwrite. save_study and open_in_app's pre-save now route through the guarded session save (both previously bypassed the save gate). Shared ZStudio engine fixes carried by this build: Loewner spectra are now stored on the raw measured basis (Rs+jωLs added back into the reconstruction, so the app / MCP / Excel exports share one basis with no special-casing), and the two-R|L high-frequency stray fit gained an arc-term rescue — gated on an in-window Z' drop plus a Z' up-turn — that restores the in-band Rp|Lp on low-f_max cells where the old fit degenerated to a spurious series-only stray.