Skip to content

Releases: HanSur94/matlab-mcp-server-python

v2.0.2 — Conda/Miniconda Support

03 Apr 17:24

Choose a tag to compare

What's Changed

Added Anaconda/Miniconda installation support — users can now set up the server with a single conda command.

Conda Support

For end users (no repo clone needed):

conda env create -f environment.yml
conda activate matlab-mcp
matlab-mcp --inspect

For developers (from repo clone):

conda env create -f environment-dev.yml
conda activate matlab-mcp-dev
pytest tests/ -x -q

CI

  • conda-test-pypi — validates environment.yml installs from PyPI and server loads
  • conda-test-dev — validates environment-dev.yml installs from source and all tests pass
  • 19 CI jobs total across Linux, Windows, macOS, Docker, conda

Full Changelog

v2.0.1...v2.0.2

v2.0.1 — CI & Integration Testing

03 Apr 16:41

Choose a tag to compare

What's Changed

Post-milestone improvements to CI pipeline and test coverage. No production code changes except one bug fix (monitoring routes on streamablehttp).

Bug Fixes

  • Monitoring routes on streamablehttp/dashboard, /health, /metrics now registered for the new transport (was SSE-only)
  • 12 ruff lint errors — unused imports and f-string placeholders cleaned up

CI & Testing

  • MCP integration test — live server subprocess + MCP client on localhost (Linux + Windows)
  • Docker Compose remote test — client container connects to server container over Docker network with bearer auth
  • Windows install.bat smoke test — validates the real user install path produces a working installation
  • 17 CI jobs across Linux, Windows (2022 + latest), macOS, Docker

Full Changelog

v2.0...v2.0.1

v1.5.0

23 Mar 10:47

Choose a tag to compare

What's New

Inspect Mode

  • Added --inspect flag to start the server without MATLAB for tool discovery and CI inspection

Glama Integration

  • Added glama.json for MCP server listing metadata
  • Server is now listed and inspectable on Glama

Security

  • Removed unused diskcache dependency (medium severity vulnerability)

v1.4.1

22 Mar 12:43

Choose a tag to compare

v1.4.1 — Documentation

Comprehensive Docstrings

Improved documentation across all source modules:

  • server.py: MatlabMCPServer.__init__, lifespan context manager, main entry point, background tasks
  • pool/engine.py: EngineState lifecycle, state property
  • pool/manager.py: _make_engine, get_status return dict
  • jobs/models.py: JobStatus terminal states, Job attributes
  • jobs/executor.py: _inject_job_context, _wait_for_completion, _safe_serialize
  • jobs/tracker.py: thread safety, pruning strategy
  • monitoring/: collector init, store init, health evaluation, route handlers, dashboard factory + all inner handlers
  • output/plotly_style_mapper.py: mapping tables, all trace converters
  • tools/monitoring.py: all three tool functions with Parameters/Returns
  • tools/custom.py: inner handler docstring
  • config.py: all 11 Pydantic models, load_config, validate_pool

README Updates

  • Added Windows one-click installer section (install.bat)
  • Updated MATLAB version requirement to R2022b+
  • Added offline install instructions

Full Changelog: v1.4.0...v1.4.1

v1.4.0

22 Mar 12:30

Choose a tag to compare

What's New in v1.4.0

One-Click Windows Installer

  • install.bat — fully offline, no-admin-rights installer for Windows 10/11
  • Bundles all 100+ Python wheels in vendor/ for zero-network installation
  • Auto-detects MATLAB R2022b+ and Python 3.10/3.11/3.12
  • Handles corporate SSL proxies, ancient pip versions, and read-only Program Files
  • Generates start-matlab-mcp.bat launcher and prints ready-to-paste config for Claude Desktop, Claude Code, and Cursor

MATLAB Engine API Install Improvements

  • Copies Engine source to temp with directory junctions to avoid access-denied errors in Program Files
  • Patches _arch.txt to point to real MATLAB after temp-dir build
  • Works fully offline with --no-build-isolation

CI/CD

  • Added Windows test matrix: windows-2022 (Win10) + windows-latest (Win11) × Python 3.10 + 3.12
  • Cross-platform test fixes for Windows path handling

Bug Fixes

  • Fixed .gitignore excluding monitoring/ subpackage from wheel
  • Fixed unused imports in monitoring/dashboard.py
  • Added missing Windows-only dependencies: pywin32, pywin32-ctypes, colorama, tzdata, async-timeout, tomli, taskgroup

Full Changelog: v1.3.0...v1.4.0

v1.3.0

18 Mar 20:52

Choose a tag to compare

What's Changed

Test Coverage

  • Increased code coverage from 63% to 90% with 385 new tests across 11 test files
  • Added comprehensive tests for all previously untested modules:
    • tools/jobs, tools/discovery, tools/custom, tools/files, tools/admin
    • server (MatlabMCPServer, create_server, main)
    • monitoring/dashboard, monitoring/store, monitoring/collector
    • jobs/executor, output/formatter, output/thumbnail
    • session/manager, pool/engine, monitoring/health
  • 755 tests now passing (up from 378)

Modules at 100% Coverage

tools/jobs, tools/discovery, tools/admin, tools/core, jobs/models, jobs/tracker, monitoring/health, monitoring/routes, output/formatter, output/thumbnail, session/manager

v1.2.0

18 Mar 20:17

Choose a tag to compare

v1.2.0

This release introduces automated wiki generation and enhances documentation with MATLAB-to-Plotly plot conversion features.

New Features

  • Auto-generate all 11 wiki pages via Claude API on push to master

Documentation

  • Add MATLAB-to-Plotly plot conversion feature section to README
  • Add Plotly conversion screenshot to README
  • Add comprehensive specification for full wiki auto-generation with file mappings, validation, and error handling

v1.0.1 — CI fixes & security hardening

16 Mar 18:42

Choose a tag to compare

What's Changed

Security

  • Fixed incomplete blocklist in shipped config.yaml — all 11 blocked functions (system, unix, dos, !, eval, feval, evalc, evalin, assignin, perl, python) are now listed, matching code defaults and documentation

Fixes

  • Fixed 35 ruff lint errors (unused imports/variables) across src/ and tests/
  • Bumped minimum Python from 3.9 to 3.10 (fastmcp requires 3.10+)
  • Added psutil and uvicorn to [dev] extras so monitoring works out of the box
  • Fixed get_error_log docs to show actual default (20, not "varies")
  • Fixed README workspace isolation description to include all 5 cleanup commands
  • Added PyPI keywords and classifiers for better discoverability

Upgrade

pip install --upgrade matlab-mcp-python

Full changelog: v1.0.0...v1.0.1

v1.0.0 — First stable release

16 Mar 18:36

Choose a tag to compare

MATLAB MCP Server v1.0.0

Connect any AI agent (Claude, Cursor, Copilot) to MATLAB via the Model Context Protocol.

Highlights

  • 20 MCP tools — execute code, async jobs, file I/O, toolbox discovery, code checking, monitoring
  • Elastic engine pool — scales 2–10+ MATLAB engines based on demand
  • Interactive Plotly plots — MATLAB figures auto-converted to Plotly JSON with WebGL for large datasets
  • Async job system — long-running simulations with progress reporting
  • Custom tools — expose your .m functions as first-class AI tools via YAML
  • Monitoring dashboard — live gauges, time-series charts, execution log, health/metrics endpoints
  • Security — function blocklist, workspace isolation, filename sanitization, upload limits
  • Multi-user support — SSE transport with session isolation
  • Docker support — Dockerfile and docker-compose.yml included
  • Cross-platform — macOS, Windows, Linux (MATLAB 2020b+)

Install

pip install matlab-mcp-python

Requires MATLAB 2020b+ with the Engine API for Python installed.

Quick Start

# Run the server
matlab-mcp

# Connect to Claude Code
claude mcp add matlab -- matlab-mcp

See the README and Wiki for full documentation.