This MCP server provides integration with PTC MathCAD Prime, allowing AI assistants like Claude to interact with MathCAD worksheets through a standardized interface. Using this server, you can open, manipulate, and extract data from MathCAD worksheets directly through your AI assistant.
Install the required dependencies:
pip install -r requirements.txt
Run the installation script:
python install_standalone.py
Options:
--hide
flag to hide the MathCAD window when running:
python install_standalone.py --hide
Restart Claude Desktop for the changes to take effect.
Edit your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mathcad": {
"command": "python",
"args": [
"path/to/mathcad-mcp/standalone.py"
],
"env": {
"MATHCAD_VISIBLE": "true"
}
}
}
}
The server provides these tools for interacting with MathCAD:
list_mathcad_version
: Get the running MathCAD versionopen_worksheet
: Open a MathCAD worksheet from a file pathclose_worksheet
: Close a specific worksheetclose_all_worksheets
: Close all open worksheetsquit_mathcad
: Quit the MathCAD application entirelysave_worksheet
: Save a worksheet to a specified path and formatsave_worksheet_inplace
: Save the worksheet in placeactivate_worksheet
: Bring a worksheet to the frontset_real_input
: Set a numerical input with optional unitsset_string_input
: Set a string inputset_matrix_input
: Set a matrix input with optional unitsget_input
: Retrieve the current value of a designated inputget_matrix_input
: Retrieve the current value of a designated matrix inputcalculate_worksheet
: Recalculate a worksheetsync_worksheet
: Alias for calculating the worksheetpause_calculation
: Pause worksheet calculationresume_calculation
: Resume worksheet calculationget_output
: Get a designated output value (real, string, or matrix)get_real_output
: Get a numerical output value from a worksheetget_real_output_with_units
: Get a numerical output with conversion to specified unitsget_matrix_output
: Get a matrix output from a worksheetget_matrix_output_with_units
: Get a matrix output with unit conversionsave_as_pdf
: Save the worksheet as a PDF file (Mathcad Prime 5+ only)save_as_rtf
: Save the worksheet as an RTF filesave_as_xps
: Save the worksheet as an XPS fileis_worksheet_readonly
: Check if a worksheet is read-onlyis_worksheet_modified
: Check if a worksheet has unsaved changesset_worksheet_modified
: Force-set the 'modified' status of a worksheetThe server exposes these resources to query worksheet information:
mathcad://worksheets
: List all open worksheetsmathcad://worksheets/paths
: List worksheets with full file pathsmathcad://worksheet/{worksheet_name}/inputs
: List inputs in a worksheetmathcad://worksheet/{worksheet_name}/outputs
: List outputs in a worksheetmathcad://worksheet/{worksheet_name}/output/{output_name}
: Get a specific output valuemathcad://worksheet/{worksheet_name}/output/{output_name}/matrix
: Get a matrix outputmathcad://worksheet/{worksheet_name}/output/{output_name}/with_units/{units}
: Get an output with units conversionmathcad://worksheet/{worksheet_name}/info
: Get information about a worksheetmathcad://worksheet/{worksheet_name}/status
: Get the status of a worksheet1. Open an existing MathCAD worksheet:
"Can you open my physics worksheet at C:\Users\username\Documents\Physics\projectile_motion.mcdx?"
2. Set input parameters:
"Set the initial velocity to 50 m/s and the launch angle to 30 degrees."
3. Calculate the results:
"Now calculate the trajectory and show me the maximum height and distance."
4. Extract output values:
"What's the maximum height reached by the projectile?"
1. Open or create a worksheet for analysis:
"I need to analyze a beam deflection problem. Can you open the structural_analysis.mcdx worksheet?"
2. Configure the worksheet:
"Set the load P to 5000 N, beam length L to 2 m, Young's modulus E to 200 GPa, and moment of inertia I to 4×10⁻⁶ m⁴."
3. Run the calculation:
"Calculate the worksheet and tell me the maximum deflection."
4. Export the results:
"Save the worksheet as a PDF so I can include it in my report."
MATHCAD_VISIBLE
: Set to "true" to show the MathCAD application window (default), or "false" to hide it.If you encounter COM automation errors:
If worksheets can't be found:
.mcdx
fileIf unit conversion fails:
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "mathcad" '{"command":"python","args":["path/to/mathcad-mcp/standalone.py"],"env":{"MATHCAD_VISIBLE":"true"}}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"mathcad": {
"command": "python",
"args": [
"path/to/mathcad-mcp/standalone.py"
],
"env": {
"MATHCAD_VISIBLE": "true"
}
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"mathcad": {
"command": "python",
"args": [
"path/to/mathcad-mcp/standalone.py"
],
"env": {
"MATHCAD_VISIBLE": "true"
}
}
}
}
3. Restart Claude Desktop for the changes to take effect