FieldCure.Mcp.ZStudio
1.0.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@1.0.0", "--yes"], "env": { "ZSTUDIO_LICENSE_KEY": "${input:zstudio_license_key}", "ZSTUDIO_WORKDIR": "${input:zstudio_workdir}", "ZSTUDIO_AUTOSAVE": "${input:zstudio_autosave}" } } } }
.vscode/mcp.json settings file.
dotnet tool install --global FieldCure.Mcp.ZStudio --version 1.0.0
dotnet new tool-manifest
dotnet tool install --local FieldCure.Mcp.ZStudio --version 1.0.0
#tool dotnet:?package=FieldCure.Mcp.ZStudio&version=1.0.0
nuke :add-package FieldCure.Mcp.ZStudio --version 1.0.0
ZStudio MCP Server
An MCP (Model Context Protocol) server that brings the ZStudio electrochemical impedance spectroscopy (EIS) analysis engine to AI assistants such as Claude and VS Code. You ask in plain language; the assistant calls ZStudio to do the work. Analysis results are computed by the ZStudio engine. Measured values are read from source files; the AI guides the workflow and interprets the results.
Developed by FieldCure Co., Ltd.
What you can do
- Import measurements from common potentiostat formats into a ZStudio study
(
.zstudy) and organize datasets in folders. - Check data quality with Kramers–Kronig and Z-HIT, and mask bad points without deleting them.
- Find time constants with DRT (Tikhonov continuous distribution or Loewner discrete poles), including detection and removal of cable / fixture inductance.
- Fit equivalent circuits: get data-derived starting values, compare candidate circuits, fit them, and read the uncertainty of every parameter — one dataset at a time or across a whole study.
- Plot Nyquist / Bode / admittance charts, overlays and residuals; chart-capable hosts show them inline.
- Read charge/discharge records (BioLogic GCPL) that sit next to the EIS files — every original point, page by page or as a full CSV export.
- Keep working in the desktop app: studies saved by the server open in the ZStudio app. The app is optional; the server runs on its own.
Supported files
| Data | Formats |
|---|---|
EIS (imported into a .zstudy) |
BioLogic .mpr / .mpt, Gamry .DTA, Scribner/ZView .z, Ivium .ids / .idf, EcoChemie .dfr, Elchemea .i2b, MinTech .csv, generic text .csv / .tsv / .txt / .dat (with or without a header row) |
| Charge/discharge (DC time series) | BioLogic .mpr recorded with GCPL |
Formats are detected automatically.
Install
- 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). Check withdotnet --version. - An MCP host — Claude Desktop, VS Code, or any stdio MCP client.
There is nothing else to install: the host starts the server with dnx and
downloads the package on first use.
Configure your MCP host
Many hosts can add this server automatically from the NuGet MCP registry. To configure it manually:
Claude Desktop — add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"zstudio": {
"command": "dnx",
"args": ["FieldCure.Mcp.ZStudio"],
"env": {
"ZSTUDIO_LICENSE_KEY": "<your license key>",
"ZSTUDIO_WORKDIR": "C:\\Users\\<you>\\Documents\\ZStudio"
}
}
}
}
VS Code — add to .vscode/mcp.json (or your user MCP configuration):
{
"servers": {
"zstudio": {
"type": "stdio",
"command": "dnx",
"args": ["FieldCure.Mcp.ZStudio"],
"env": {
"ZSTUDIO_LICENSE_KEY": "<your license key>"
}
}
}
}
Restart the host (or reconnect the server) after editing. Exact syntax varies by host — see your host's documentation.
All environment variables are optional:
| Variable | Description |
|---|---|
ZSTUDIO_LICENSE_KEY |
ZStudio license key that includes the AI (MCP) add-on. Omit it to use the 15-day trial. |
ZSTUDIO_WORKDIR |
Folder where studies and exports are read and written when no path is given. Defaults to a ZStudio folder under your Documents (created on first use). |
ZSTUDIO_AUTOSAVE |
Auto-save is on by default — leave it unset. Set off to disable auto-save; explicit saves, imports and exports can still write files (use save_study to save a study). |
Getting started
Ask your assistant in plain language, for example:
- "Import
C:\data\cell01.mprinto a new study and summarize the datasets." - "Run a Kramers–Kronig check on every dataset and tell me which ones look unreliable."
- "Use DRT to find how many time constants this spectrum has."
- "Suggest two or three equivalent circuits for this cell, fit them, and compare."
- "Read
C:\data\cell01_GCPL.mprand export the whole charge/discharge record to CSV." - "Open this study in the ZStudio app."
The assistant chooses the tools; you can also name a tool or an option directly.
Saving, charts and data handling
- Saving. Imports, edits and analyses are saved to the study's
.zstudyafter each change (auto-save). If the same file was changed outside the session — for example saved from the ZStudio app — the save is held back instead of overwriting it and the assistant is told, so you can reload the study or, if you choose, overwrite it. - Charts. Hosts that render MCP charts show them inline. Other hosts get the
numeric summary plus a standalone HTML chart file in an
artifactsfolder under the working folder. - Charge/discharge data is held in memory for the session only; it is never
written into a
.zstudy. Exports go to CSV files you choose. - Where data goes. Your measurement files are read and analyzed by the server on your PC. What the server returns to the assistant — summaries and analysis results by default, and any measured points, curve rows or chart data you or the assistant request — is passed to the AI model through your MCP host, under that host's data policy. Ask for summaries rather than raw rows when you want to limit what is sent.
License and troubleshooting
ZStudio MCP is commercial software. It needs a ZStudio license that includes the AI (MCP) add-on; a regular ZStudio app license alone does not enable it.
- Trial. Without a key, a 15-day trial is issued for this PC.
- Internet connection. Issuing the trial for the first time and activating a paid key both need an online connection to the FieldCure license server; the server also contacts it when the license needs renewing. In between it works offline, within the validity of the cached license.
- After the trial, tool calls are refused. Ask the assistant to run
license_statusto see the state and days left; after purchase, setZSTUDIO_LICENSE_KEYand restart the host. - To purchase (including the AI/MCP add-on), contact MinTech: zstudio@g-mintech.co.kr
Common problems:
- The server does not start /
dnxis not found — install the .NET SDK 10 or later (the runtime alone is not enough), then restart the host. - New tools are missing after an update — restart the host or reconnect the server so it reloads the tool list.
- "auto-save blocked" — the
.zstudywas changed outside this session. Reopen the study to take the version on disk, or save withforceto overwrite it.
Tool reference
The assistant normally picks these for you. EIS tools return compact summaries and
short id-handles; the full spectrum stays in the session unless a tool such as
get_curve is asked for points. The charge/discharge tools return every original
row on request.
- Session & documents —
create_from_file(import a raw file; optionally opens the study in the same call),open_study,list_studies,list_tree,get_dataset(compact summary, optional geometricshape),get_dataset_metadata,get_curve(decimated / windowed measured points),get_analysis(read back stored ECM / Loewner / K-K / DRT / Z-HIT results and the options used, without re-running),save_study,export_study(write the study to a re-analyzable.xlsxworkbook),list_session,close_study,open_in_app(open in the ZStudio desktop app). - Editing —
new_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_exclusionsmask measured points without deleting them (reversible). Stored analyses are snapshots, so re-run an analysis to apply a new mask.get_curve include_excluded=truelists masked points with their indices. - Plotting —
plot(Nyquist / Bode / admittance; overlay datasets or a stored analysis reconstruction, or show residuals). - Analysis —
zhit(apply=falsetunes options without changing the data),set_analysis_source,kk(Kramers–Kronig),drt_tikhonov(continuous γ(τ) with a curve-shape description),drt_loewner(discrete RC/RL poles),estimate_inductance(series / stray inductance diagnostic),export_inductive_free(spectrum with the inductive stray removed, Rs kept),guess_ecm(data-derived initial values, no fit),evaluate_ecm(χ² and uncertainty at given values, no fit),fit_ecm(fit, with an optional circuit schematic;seed_fromcontinues from the stored state). - Batch —
batch_runruns one analysis (kk/drt_tikhonov/guess_ecm/fit_ecm) across many datasets or the whole study in parallel. For ECM, omit the circuit to fit each dataset's own stored model, or pass one to apply it to all. - Circuits (CDC) —
parse_circuit,render_circuit,circuit_reference,simulate_circuit,list_models(built-in models with typical values and recommended frequency windows). - Charge/discharge (DC time series) —
read_dc_filereads a BioLogic GCPL.mprinto the session (adc_…handle) and summarizes it: channels with meaning, unit, origin and source column; half cycles; loops; steps.get_dc_curvereturns every original row in file order, paged (offset/limit, default 200 rows per page — a page size, not a cap; follownextOffset; no decimation), optionally filtered by time, half cycle, step or loop, with an optional derived interval-averaged current.export_dc_datawrites every row to CSV plus a column-description.meta.json.close_dcreleases a series;list_sessionlists open series next to studies. Voltages are as recorded;control/V/mAis reported as current / voltage setpoints, never as a measured current. - Licensing —
license_status(licensed / trial / unlicensed; always callable).
Support
- Purchase and licensing: MinTech — zstudio@g-mintech.co.kr
- Developer: FieldCure Co., Ltd. — https://www.fieldcure.com — support@fieldcure.com
© FieldCure Co., Ltd. All rights reserved.
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 65 | 10/15/2026 |
| 0.16.0 | 177 | 7/10/2026 |
| 0.15.0 | 147 | 7/10/2026 |
| 0.14.0 | 136 | 7/5/2026 |
| 0.13.0 | 142 | 7/2/2026 |
| 0.12.0 | 149 | 7/1/2026 |
| 0.11.0 | 150 | 6/27/2026 |
| 0.10.0 | 151 | 6/26/2026 |
| 0.9.0 | 143 | 6/26/2026 |
| 0.8.1 | 144 | 6/25/2026 |
| 0.8.0 | 136 | 6/24/2026 |
| 0.7.0 | 141 | 6/22/2026 |
| 0.6.0 | 148 | 6/21/2026 |
| 0.5.0 | 139 | 6/21/2026 |
| 0.4.0 | 214 | 6/19/2026 |
| 0.3.1 | 148 | 6/18/2026 |
| 0.3.0 | 136 | 6/17/2026 |
| 0.2.0 | 138 | 6/12/2026 |
| 0.1.1 | 146 | 6/9/2026 |
| 0.1.0 | 147 | 6/8/2026 |
v1.0.0 — First stable release (contracts are now kept compatible within 1.x). Adds DC time-series (charge/discharge) tools: 48 tools (was 44) — reconnect the MCP server after updating. read_dc_file reads a BioLogic GCPL .mpr into the session (dc_ handle, memory only, never saved into a .zstudy) and summarizes it; get_dc_curve returns every original row in file order, paged (default 200 rows per page — a page size, not a cap; follow nextOffset), never decimated, with an optional derived interval-averaged current; export_dc_data writes every row to CSV plus a column-description .meta.json; close_dc releases a series. Breaking: list_session now returns { studies, dcSeries } instead of a list of studies. create_from_file / import_data refuse DC files and EIS tools reject dc_ handles. Shared engine: BioLogic .mpr imports carry the acquisition start time (LOG timestamp) and the PEIS DC bias with its reference (e.g. 0 V vs. Eoc); MPR column sizes fixed for Q charge / Q discharge (498/499) and (Q-Qo)/C, dQ/C (434/435); a reused MPR reader re-reads a changed file.