Skip to main content
Glama
yangkunyi
by yangkunyi
README.md
# Creo MCP

An MCP (Machine-Collaboration-Platform) server with tools for CAD interaction and knowledge base retrieval. This project exposes several functions as tools that a larger agent or system can call, including interacting with Creo and querying a Volcengine knowledge base.

---

## ⚙️ Key Features

* **CAD Integration**: Opens `.STEP` files directly in Creo Parametric.
* **Knowledge Base Retrieval**: Connects to and queries a Volcengine knowledge base.
* **Code Execution**: Provides a tool to execute arbitrary Python code remotely.
* **Command-Line Interface**: Runs as a standalone server application with configurable credentials.

---

## 📦 Installation & Setup

### Prerequisites

* Python 3.12 or newer
* **uv** package manager:
    * **On macOS:**
        ```bash
        brew install uv
        ```
    * **On Windows (PowerShell):**
        ```powershell
        powershell -c "irm [https://astral.sh/uv/install.ps1](https://astral.sh/uv/install.ps1) | iex"
        ```
        You may need to add `uv` to your Path manually:
        ```powershell
        # Add this line to your PowerShell profile
        $env:Path = "C:\Users\YOUR_USERNAME\.local\bin;" + $env:Path
        ```
    * For other systems, see the official [uv installation instructions](https://github.com/astral-sh/uv?tab=readme-ov-file#installation).

    ⚠️ **Do not proceed before installing uv.**

### 🌋 Volcengine Setup Guide

Follow these steps to retrieve the credentials required for the integration.

1.  **Navigate to the Knowledge Base**. From the main Volcengine dashboard, select **知识库 (Knowledge Base)** from the left-hand navigation menu.
![alt text](figures/1.png)
2.  **Select Your KB**. Click on the specific knowledge base you intend to use. 
![alt text](figures/2.png)
3. **Create a New KB**. Follow the following steps to create a new knowledge base:
    * Click the **创建知识库 (Create Knowledge Base)** button.
    * Enter a name for your knowledge base and describption for it.
    * Click the **立即导入 (Import Now)** button.
    * Import the three `.jsonl` files contained in the repository.
    * Click **导入 (Import)** to complete the process.
    ![alt text](figures/3.png)
    ![alt text](figures/4.png)
    ![alt text](figures/5.png)
    ![alt text](figures/6.png)
4.  **Create a New Service Call**. Follow the steps below to create a new service call:
    * Click the **知识检索 (Knowledge Retrieval)** tab.
    * Click the **创建服务调用 (Create Service Call)** button.
    * Enter a name for your service call and description for it.
    * **Now you will choose the API key for the service call. This is the authentication key you will use in the next step.**
    ![alt text](figures/7.png)
    ![alt text](figures/8.png)
    ![alt text](figures/9.png)
5.  **Get the Service Resource ID**. Follow the steps below to retrieve the service resource ID:
    * Click the **确认创建 (Confirm Creation)** button.
    * Scroll down the **Python 调用示例 (Python Call Example)** section. You will find the **Service Resource ID** in the code snippet.
    * Copy the service resource ID and save it for later use.
    ![alt text](figures/10.png)
    ![alt text](figures/11.png)    
    * Or you can click the **查看服务详情 (View Service Details)** button to view the service resource ID.
    ![alt text](figures/12.png)
    ![alt text](figures/13.png)

### Claude for Desktop Integration

1.  Go to `Claude > Settings > Developer > Edit Config > claude_desktop_config.json`.
2.  Add the following configuration to the `mcpServers` object:
    ```json
    {
        "mcpServers": {
            "creo_mcp": {
                "command": "uvx",
                "args": [
                    "creo-mcp",
                    "--authorization",
                    "YOUR_TOKEN_HERE",
                    "--service-resource-id",
                    "YOUR_ID_HERE"
                ]
            }
        }
    }
    ```
    *This allows Claude to automatically start your server when needed.*

### Cursor Integration

1.  Go to `Settings > MCP` in Cursor.
2.  Add a new server configuration.
    * **For macOS**: Use "add new global MCP server" or create a `.cursor/mcp.json` file in your project with the following content:
        ```json
        {
            "mcpServers": {
                "creo_mcp": {
                    "command": "uvx",
                    "args": [
                        "creo-mcp",
                        "--authorization",
                        "YOUR_TOKEN_HERE",
                        "--service-resource-id",
                        "YOUR_ID_HERE"
                    ]
                }
            }
        }
        ```
    * **For Windows**: Add a new server with the following settings:
        ```json
        {
            "mcpServers": {
                "creo_mcp": {
                    "command": "cmd",
                    "args": [
                        "/c",
                        "uvx",
                        "creo-mcp",
                        "--authorization",
                        "YOUR_TOKEN_HERE",
                        "--service-resource-id",
                        "YOUR_ID_HERE"
                    ]
                }
            }
        }
        ```

⚠️ **Only run one instance of the MCP server (either via Cursor or Claude Desktop), not both simultaneously.**

---

## ▶️ Manual Execution

If you need to run the server manually for debugging, first install it locally:

```bash
# Clone the repo
git clone https://github.com/yangkunyi/creo-mcp.git
cd creo-mcp

# Create a virtual environment and install in editable mode
uv venv
source .venv/bin/activate
uv pip install -e .
```

Then, run the server with your credentials:

```bash
creo-mcp --authorization YOUR_TOKEN_HERE --service-resource-id YOUR_ID_HERE
```

---

## 🛠️ Available Tools

The following tools are exposed by the server for remote execution:

* `execute_python_code`: Executes a given string of Python code.
* `open_file_in_cad`: Imports a `.STEP` file into Creo and opens it.
* `retrieve_from_knowledge_base`: Performs a retrieval query against the configured Volcengine knowledge base.

---

## 🙏 Acknowledgements

The structure and setup instructions for this project were heavily inspired by the [blender-mcp](https://github.com/ahujasid/blender-mcp) project. Many thanks to its contributors for paving the way.

---

## 📄 License

This project is licensed under the **MIT License**. See the `LICENSE` file for more details.

Maintenance

ActivityInactive
ResponsivenessNo issues