Batch EIS analysis MCP server for ECM fitting and DRT inversion.
Server has 10 tools with complete schemas and descriptions, but quality is uneven. Tool names are action-oriented (get_, list_, validate_, fit_, calculate_, analyze_, publish_) and mostly clear. Descriptions exist but many are verbose and prescriptive rather than LLM-optimized. Critical issue: descriptions contain procedural instructions ('Call get_analysis_choices first...') that belong in server instructions, not tool descriptions. Parameters have types and descriptions, but several lack constraints (enums, ranges). Output schemas are not documented. Error handling is minimal, no recovery guidance or categorization. Security concern: publish_analysis_results writes to user desktop without explicit confirmation. Overall, definitions are functional but not production-grade.
Call get_analysis_choices first, show all ECM/DRT choices, and obtain explicit confirmation of both before analyzing multiple EIS files.
Call get_analysis_choices first, show all ECM/DRT choices, and obtain explicit confirmation of both before analyzing one EIS file.
Call get_analysis_choices first, show every option, obtain explicit DRT confirmation, then calculate one in-memory EIS dataset.
Call get_analysis_choices first, show every option, obtain explicit ECM confirmation, then fit one in-memory EIS dataset.
MANDATORY first step: show every ECM model and every DRT preset, including custom options, then ask the user to explicitly select both before analysis.
Show all four DRT presets, the recommendation, and complete custom parameters.
Tool descriptions contain procedural instructions ('Call get_analysis_choices first...') that should be in server instructions, not tool docstrings. This confuses LLMs about when to invoke tools vs. when to follow workflow guidance.
Output schemas are not documented. Tools return Dict[str, Any] with no schema specification. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Parameters like 'ecm_model', 'drt_config', 'ecm_weighting' lack enum constraints or value ranges. Free-form strings invite hallucinated values. 'ecm_weighting' should be enum: [modulus, real, imaginary].
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Show all six fixed ECM choices, the recommendation, and custom-expression support.
Mandatory finalizer for task-local EIS results: copy a directory or safely extract a ZIP into the current user's desktop EIS Analysis output folder.
Validate one EIS file or one in-memory EIS dataset.
Validate multiple Excel, TXT, CSV, or TSV EIS files and auto-detect columns.
publish_analysis_results writes to user desktop without confirmation or dry-run. Destructive operations should support confirmation step to prevent accidental data loss.
No error handling guidance. Tools return Dict[str, Any] with no documented error structure. LLMs cannot distinguish retryable errors from user-fixable ones or know what to do next on failure.