Content
# Creo J-Link MCP Server
Based on **J-Link (OTK Java Free)**, the MCP server enables AI agents to directly control PTC Creo Parametric 6.0+.
Unlike creoson-mcp, this project **directly connects to Creo via J-Link**, eliminating the need for the CREOSON middleware.
```
AI Agent ←─ MCP (stdio) ─→ creo-jlink-mcp ←─ J-Link API ─→ Creo 6.0+
```
## Quick Start
### 1. Copy J-Link JAR
Copy the JAR files from the Creo installation directory to `libs/`:
```
<Creo>\Common Files\text\java\pfc.jar → libs/pfc.jar
<Creo>\Common Files\text\java\cipjava.jar → libs/cipjava.jar
```
### 2. Build
```bash
gradlew.bat fatJar
```
### 3. Start
```bash
set CREO_HOME=C:\Program Files\PTC\Creo 6.0.0.0\Common Files
scripts\start-mcp.bat
```
### 4. Configure Claude Desktop
```json
{
"mcpServers": {
"creo-jlink": {
"command": "scripts/start-mcp.bat",
"cwd": "C:/path/to/creo-jlink-mcp",
"env": {
"CREO_HOME": "C:\\Program Files\\PTC\\Creo 6.0.0.0\\Common Files"
}
}
}
}
```
## Tool List
| Category | Number of Tools | Main Functions |
|----------|-----------------|----------------|
| Connection Management | 3 | Connect/Disconnect Creo, Check Status |
| Session Operations | 6 | Working Directory, Configuration Options, Mapkey Macros |
| File/Model | 10 | Open, Save, Close, Rename, Regenerate, Mass Properties |
| Features | 7 | List, Delete, Hide, Show, Rename |
| Parameters | 7 | List, Read, Set, Create, Delete |
| Dimensions | 3 | List, Read, Set Dimension Values |
| Assembly | 3 | Assemble Components, BOM, Component List |
| Drawings | 11 | Create Drawings, View Management, Scale Settings |
| Geometry | 4 | Bounding Box, Surface, Edge, Precision |
| Import/Export | 7 | STEP/IGES/STL/PDF/3D PDF/Image |
| Family Tables | 6 | Instance Management, Table Header, Cell Read/Write |
| Layers | 4 | List, Show, Hide, Delete |
| Annotations | 4 | List, Read, Set, Delete |
| Views | 3 | List, Activate, Save Views |
| Relations | 4 | Read/Write Relations, Regenerate Relations |
| Materials | 5 | List, Set, Load, Delete |
| Units | 3 | Read, List, Set Units |
| Windchill | 6 | Login, Workspace Management, Check-in |
## Typical Workflow
```
creo_connect() → Connect to Creo
creo_open_file("part1.prt") → Open Part
creo_set_parameter("WIDTH", "100") → Modify Parameter
creo_set_dimension(name="d0", value=50)→ Modify Dimension
creo_regenerate() → Regenerate Model
creo_export_step() → Export STEP
creo_save_file() → Save
creo_disconnect() → Disconnect
```
## Compatibility
- **Creo 6.0+** (default 6.0)
- Java 17+
- Windows
## License
MIT