mathcad-prime-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mathcad-prime-mcpRecalculate my worksheet and verify all results and errors from the file"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mathcad-prime-mcp
MCP-сервер поверх штатного Automation API PTC Mathcad Prime 12
(Ptc.MathcadPrime.Automation.dll, COM ProgID MathcadPrime.Application).
Даёт Claude открывать .mcdx-документы, читать/писать переменные, помеченные
как Input/Output, и сохранять файл.
Важное ограничение
Automation API видит только те переменные, которые в самом документе
Prime явно помечены как Input или Output variable (ПКМ на переменной ->
"Set as Input/Output Variable" на ленте Automation). Обычные переменные без
такой метки через mathcad_get_variables не появятся и не читаются/пишутся.
Related MCP server: advanced-math-mcp
Особенность процесса
MathcadPrime.exe - синглтон на сессию Windows: повторные подключения COM
попадают в один и тот же процесс, включая уже открытый пользователем вручную.
mathcad_quit убивает процесс только если сервер сам его запустил (было
подтверждено тестом - если Prime уже был открыт до первого вызова, quit
ничего не закрывает).
Инструменты
mathcad_open(path)- открыть/переиспользовать документ, список Input/Outputmathcad_list_worksheets()- все открытые в текущем инстансе Prime документыmathcad_get_variables(path)- обновить список алиасов Input/Outputmathcad_set_value(path, name, value, units="")- задать скалярmathcad_set_string(path, name, value)- задать строкуmathcad_set_batch(path, values, timeout_ms=30000)- пакетно задать несколько значений и пересчитать разомmathcad_get_value(path, name, source="output"|"input")- универсальное чтение (число/строка/матрица)mathcad_get_value_as(path, name, units)- чтение output с конвертацией единицmathcad_get_matrix/mathcad_set_matrix- матрицыmathcad_recalculate(path)- форсировать пересчёт (Synchronize)mathcad_save(path)/mathcad_save_as(path, new_path)mathcad_quit()- безопасно закрыть только свой процесс
Установка
uv syncПри ошибке uv Failed to write to the client cache - сломан junction
AppData\Local\uv, обходить через UV_CACHE_DIR=<своя папка> uv sync.
Зарегистрирован в ~/.claude.json -> mcpServers.mathcad-prime
(.venv\Scripts\python.exe -m mathcad_prime_mcp.server). Нужен перезапуск
Claude Code, чтобы сервер подхватился.
Что проверено вживую
Открытие реального документа (lab1.mcdx), чтение метаданных/списка
Input-Output, безопасность mathcad_quit (не трогает чужой уже открытый
процесс), корректность кириллических путей через COM. set_value /
get_value / batch / матрицы протестированы только по сигнатурам API (нет
под рукой документа с размеченными Input/Output переменными) - если что-то
пойдёт не так на реальном расчёте, смотреть сюда первым делом.
Авторские инструменты: лист целиком из текста
Второй слой сервера (tools_ws.py + пакет ws/) обходит ограничение выше.
Он не пользуется Automation API для чтения значений, а работает с самим
файлом: .mcdx это zip, формулы лежат в mathcad/worksheet.xml, а все
посчитанные значения и ошибки Prime складывает в mathcad/result.xml.
Поэтому лист можно собрать из текста и проверить, ни разу не взглянув на
экран.
Инструменты
Инструмент | Что делает |
| синтаксис компактного исходника |
| исходник -> |
| пересчитать и вернуть весь лист текстом: формулы, значения, ошибки |
| числовые данные кривых графика (для расчёта выводов) |
| png расчётной части и каждого графика, обрезанные по содержимому |
| памятка к защите: формулы + значения + пояснения |
| markdown -> отчёт |
Формат исходника
# комментарий
@text 1. Чтение файла и параметры помехи # подпись прямо в листе
S := READWAV("lab4.wav") ; m := floor(max(S)*0.1) ; L := length(S)
@note m - амплитуда шума, 10 процентов от максимума # только в шпаргалку
n := 0..L-1 ; D[n] := rnd(m)-m/2 ; V[n] := S[n]+D[n]
WRITEWAV("out.wav",44100,16,V)= # вычисление, показывает значение
L= ; sk= # вывод значений
@plot x=n y=S[n]:red:2,V[n]:navy:1 xlim=0..200 ylim=0..5 size=620x260
@gap 40Строка это ряд регионов, ; разделяет регионы в ряду. Выражения: + - * / ^,
|x| модуль, f(a,b) вызов, X[i] индекс, a..b диапазон. Суммы и
произведения: sum(k, 0..N-1, x[k]*y[n-k]), prod(i, 1..N, i). Греческие имена
по ASCII-псевдонимам: Phi (Хевисайд), pi, sigma, omega, Delta.
Слева от := допустимо имя, X[i] или f(x).
Отчёт
mathcad_report собирает .docx по ГОСТ из markdown: Times New Roman 14,
полуторный интервал, поля 30/15/20/20 мм, титульный лист из front matter.
Сверх markdown понимает $$формула$$ строкой по центру, 
с автоматическим масштабом по ширине страницы, X_{i} и 10^{5},
разрыв страницы, таблицы. То, что раньше писалось генератором на 200 строк,
теперь пишется как обычный текст.
Тесты
pytest tests (Mathcad для них не нужен): разбор формул в обе стороны,
инварианты вёрстки (регионы не наезжают, ряд влезает в страницу, график не
рвётся границей страницы), сборка текстовых блоков, чтение ошибок.
Почему проверка не требует скриншотов
mathcad_verify печатает по строке на регион:
6 sk := stdev(D)
22 sk = -> 183.909
28 график x=n,n y=S[n],V[n] x[0..44099] y[-6368..6368]; y[-6684..6683]
2 b := a+zzz ### ОШИБКА: Эта переменная не определена.Текст ошибки тот же, что показывает Prime. У графиков видны диапазоны данных каждой кривой, то есть корректность кривой проверяется числами.
Как получается ровная вёрстка
Ширину формулы вместе с показанным результатом знает только Prime. Поэтому
mathcad_write собирает лист дважды: после первого пересчёта читает из файла
проставленные Prime actualWidth/actualHeight и раскладывает по ним ровными
колонками. Поверх этого учтены две особенности отрисовки:
формула привязана по базовой линии, поэтому дроби и степени выступают вверх за свой
top, и над рядом резервируется запас;actualWidthне включает надстрочную степень, поэтому значение вида6.554·10^4рисуется шире, чем сообщает Prime, и наезжает на соседа справа. Регионам с экспоненциальным результатом добавляется запас по ширине.
Ряд, который не влезает в ширину листа, переносится на следующую строку сам.
Подписи в листе
Текстовый блок в Prime 12 это не просто тег: содержимое лежит в отдельной
части-архиве mathcad/xaml/FlowDocumentN.XamlPackage (WPF FlowDocument),
на которую ссылается mathcad/_rels/worksheet.xml.rels, а item-idref
элемента <text> совпадает с Id этой связи. Всё это собирает ws/textblock.py.
Ограничения
rndдаёт новую реализацию при каждом пересчёте: числа в отчёте и в файле совпадут, только если после последнего пересчёта не пересчитывать снова.Если формулы читают файлы по относительному имени (
READWAV,READPRN),.mcdxдолжен лежать рядом с ними; дляmathcad_figuresэтоwork_dir.mathcad_figuresпересчитывает лист, поэтомуWRITEWAV/WRITEPRNв исходнике перезапишут свои файлы новой реализацией шума.Картинки снимаются в масштабе Prime. Чтобы пикселей было больше без возни с зумом, вспомогательные листы печатаются на A3: график выходит ~950 px вместо ~610. Высота ограничена видимой частью окна, иначе край срежет.
mathcad_figuresсам выбрасывает из вспомогательного листа вызовыWRITE*/APPEND*, иначе пересчёт перезаписал бы файлы рабочей лабы.
Схемы Prime
Полезно при расширении: <установка Prime>\Mathcad Converter\schema\*.xsd
описывают worksheet/math (версии 10-30, текущая в файлах 50, но структура
близка). Оттуда взята структура текстового региона.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-callable calculators and engineering models with real formulas. No hallucinated math.
PDF tools for Claude: merge, split, compress, convert, OCR & more. Requires a PDFHaul API key.
Read, edit, publish, and preview your pepita websites from Claude.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.10-
- AlicenseAqualityBmaintenanceEnables advanced mathematics operations including linear algebra, vector math, symbolic computation, and calculus through MCP tools. Designed for use with Claude and other MCP-compatible LLMs.192MIT
- FlicenseNot gradedqualityCmaintenanceGives Claude deep tool-level control over Microsoft Excel files (.xlsx, .xlsm, .csv, .tsv) with 164 tools across 24 modules for reading, writing, formatting, formulas, charts, data analysis, and more.-
- AlicenseNot gradedqualityBmaintenanceEnables Claude and other LLM clients to read and write Microsoft Project files directly, covering tasks, resources, assignments, dependencies, and critical path information without needing Microsoft Project open.MIT