MATLAB MCP Server
# MATLAB MCP Server

## We welcome contributions from everyone.
## A powerful MCP server that integrates MATLAB with AI, allowing you to execute MATLAB code, generate MATLAB scripts from natural language descriptions, and access MATLAB documentation directly through your AI assistant.
<a href="https://glama.ai/mcp/servers/t3mmsdxvmd">
<img width="380" height="200" src="https://glama.ai/mcp/servers/t3mmsdxvmd/badge" alt="MATLAB Server MCP server" />
</a>
## Features
### Resources
- Access MATLAB documentation via `matlab://documentation/getting-started` URI
- Get started guide with examples and usage instructions
### Tools
- `execute_matlab_code` - Execute MATLAB code and get results
- Run any MATLAB commands or scripts
- Option to save scripts for future reference
- View output directly in your conversation
- `generate_matlab_code` - Generate MATLAB code from natural language
- Describe what you want to accomplish in plain language
- Get executable MATLAB code in response
- Option to save generated scripts
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Requirements
- MATLAB installed on your system
- Node.js (v14 or higher)
## Installation
### Installing via Smithery
To install MATLAB MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@WilliamCloudQi/matlab-mcp-server):
```bash
npx -y @smithery/cli install @WilliamCloudQi/matlab-mcp-server --client claude
```
### 1. Install the package
```bash
npm install -g matlab-mcp-server
```
Or clone the repository and build it yourself:
```bash
git clone https://github.com/username/matlab-mcp-server.git
cd matlab-mcp-server
npm install
npm run build
```
### 2. Configure cline to use the server
To use with cline , add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"matlab-server": {
"command": "node",
"args": ["/path/to/matlab-server/build/index.js"],
"env": {
"MATLAB_PATH": "/path/to/matlab/executable"
},
"disabled": false,
"autoApprove": []
}
}
}
```
Replace `/path/to/matlab/executable` with the path to your MATLAB executable:
- Windows: Usually `C:\\Program Files\\MATLAB\\R2023b\\bin\\matlab.exe`
- macOS: Usually `/Applications/MATLAB_R2023b.app/bin/matlab`
- Linux: Usually `/usr/local/MATLAB/R2023b/bin/matlab`
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.
[](https://mseep.ai/app/williamcloudqi-matlab-mcp-server)
[](https://smithery.ai/server/@WilliamCloudQi/matlab-mcp-server)
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one executes existing MATLAB code, while the other generates new code from natural language. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool based on the task.
Both tool names follow a consistent verb_noun pattern (execute_matlab_code and generate_matlab_code), using the same verb style and snake_case formatting. This predictability aids in understanding and usage without any deviations.
With only two tools, the server feels thin for a MATLAB domain, which typically involves more operations like plotting, data analysis, or file management. While the tools cover core execution and generation, the scope is limited and may not support complex agent workflows effectively.
The tool set is severely incomplete for a MATLAB server, lacking essential operations such as loading/saving data, creating plots, debugging code, or managing variables. Agents will face significant gaps when trying to perform common MATLAB tasks beyond basic code execution and generation.