Skip to main content
Glama
kirakirapink

creo-mcp-server

by kirakirapink

creo-mcp-server セットアップ手順

Creo Parametric 用 MCP サーバー。ビルドツール (Maven 等) を入れずに、GitHub からファイルをコピーして手動で構築する場合の手順。

License: MIT


クイックスタート: コンパイル不要・完全手動コピー

javac / mvn / gradle 一切不要。Java Runtime 21+ (java コマンドが動けば OK、JDK は不要) と Python 3.11+ だけで動く最短パス。Mac でビルドした fat-jar は Windows / Linux でもそのまま動きます (Java は OS 非依存)。

最終的なローカル構成

~/creo-mcp-server/
├── creo_mcp.py                          (Python MCP 本体)
├── pyproject.toml                       (メタ情報、なくても動く)
├── LICENSE
└── jlpfc-gateway-0.1.1-shaded.jar       (jlpfc_execute を使う場合のみ)

手順 (4〜6 ステップ)

1. ディレクトリを作る

mkdir -p ~/creo-mcp-server
cd ~/creo-mcp-server

Windows PowerShell:

mkdir -Force "$HOME\creo-mcp-server"
cd "$HOME\creo-mcp-server"

2. Python 側の 3 ファイルをダウンロード

コマンドライン:

curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/creo_mcp.py
curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/pyproject.toml
curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/LICENSE

またはブラウザで GitHub のファイルを開き、右上の Raw → 右クリック 名前を付けて保存 を 3 回。

3. Python の依存を入れる

pip install mcp httpx pydantic

これで python creo_mcp.py として MCP サーバーが起動できる状態になる (Creoson だけを使う場合はここで完了。手順 4 は不要)。

4. (任意) Gateway の fat-jar をダウンロード — jlpfc_execute を使う場合のみ

curl -LO https://github.com/kirakirapink/creo-mcp-server/releases/download/v0.1.1/jlpfc-gateway-0.1.1-shaded.jar

またはブラウザで https://github.com/kirakirapink/creo-mcp-server/releases から .jar を保存。

SHA-256 検証 (任意、改ざん検知したい場合):

shasum -a 256 jlpfc-gateway-0.1.1-shaded.jar
# 期待値: 3138e5cb05fbaa3148e5f49ce51ea67914724b1aab071e791b3389c2048f7e4f

5. MCP クライアント (Claude Desktop 等) に登録

Claude Desktop の場合、~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "creo": {
      "command": "python",
      "args": ["/absolute/path/to/creo-mcp-server/creo_mcp.py"]
    }
  }
}

6. (任意) Gateway 起動 — jlpfc_execute を使う場合のみ、別ターミナルで

Creo 10 で必要な J-Link JAR は pfcasync.jar の 1 個のみ (以前の Creo 世代のような otk_java.jar は不要)。

Windows PowerShell (Creo が Windows 標準パスの場合):

$JLINK = "C:\Program Files\PTC\Creo 10.0.9.0\Common Files\text\java\pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar;$JLINK" io.github.kirakirapink.jlpfc.GatewayServer

Linux / Unix (Creo が /proe/... 配下等の場合):

JLINK="/proe/proe/Creo10.0.09.0/Common Files/text/java/pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar:$JLINK" io.github.kirakirapink.jlpfc.GatewayServer

macOS (通常 Creo は動かないが理論上):

JLINK="/path/to/Creo 10.0.9.0/Common Files/text/java/pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar:$JLINK" io.github.kirakirapink.jlpfc.GatewayServer

動作確認:

curl http://localhost:9057/jlpfc/health

{"ok": true, "creo_connected": true, "handles": 0} が返れば OK (Creo 未起動時は creo_connected: false になるが、Gateway 起動確認としてはこの状態で問題なし)。

これで完了。 詳細な設定、環境変数、注意点、トラブルシューティングは以下の各セクション参照。ソースから自分でコンパイルしたい場合のみ手順 5-B。


Related MCP server: maya-mcp-server

必要環境

ソフト

要否

用途

Creo Parametric 10.0.9.0 (10 の最終リリース)

必須

J-Link async 接続を受け付ける本体。動作確認済みバージョン

Python 3.11 以上

必須

MCP サーバー本体

Creoson (2.8 以降 / Creo 10 対応版)

既存 180 tool を使うなら必須

J-Link JSON サーバー

Java Runtime 21 以上 (OpenJDK 21 で動作確認)

jlpfc_execute を使うなら必須

事前ビルド済み fat-jar は Java 21 bytecode。JDK は「ソースから自分でビルドしたい場合」のみ必要


手順 1: Python 側をローカルに置く

以下 3 ファイルを任意のディレクトリにコピー (GitHub の Raw ボタンから右クリック保存で OK)。

  • creo_mcp.py

  • pyproject.toml

  • LICENSE

コマンドライン例:

mkdir -p ~/creo-mcp-server
cd ~/creo-mcp-server
curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/creo_mcp.py
curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/pyproject.toml
curl -O https://raw.githubusercontent.com/kirakirapink/creo-mcp-server/main/LICENSE

手順 2: Python 依存を入れる

pip の場合:

pip install mcp httpx pydantic

uv の場合:

uv pip install mcp httpx pydantic

これだけで python creo_mcp.py として起動可能な状態になる。


手順 3: Creoson を起動

jlpfc_execute だけを使う場合はスキップ可。既存 180 tool (file_open, feature_set 等) を使うなら必須。

  1. https://www.simplifiedlogic.com/creoson/download から Creoson (Creo 10 対応版) を入手

  2. Creo Parametric 10 を起動

  3. CreosonSetup.exe を起動して server を Start

  4. 既定で http://localhost:9056/creoson で待受


手順 4: MCP クライアントに登録

Claude Desktop の場合、~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) に追加:

{
  "mcpServers": {
    "creo": {
      "command": "python",
      "args": ["/absolute/path/to/creo_mcp.py"]
    }
  }
}

環境変数を渡す必要があれば env フィールドで:

{
  "mcpServers": {
    "creo": {
      "command": "python",
      "args": ["/absolute/path/to/creo_mcp.py"],
      "env": {
        "CREOSON_HOST": "localhost",
        "CREOSON_PORT": "9056",
        "JLPFC_URL": "http://localhost:9057/jlpfc"
      }
    }
  }
}

手順 5 (任意): J-Link/PFC Gateway をセットアップ

jlpfc_execute を使わないならスキップ可能。既存 180 tool だけで運用する場合は不要。

Creoson が対応していない任意の J-Link/PFC 呼び出しを叩きたい場合のみ、以下のどちらかを実施する。

  • 経路 A: 事前ビルド済み fat-jar を使う (簡単、推奨) → 手順 5-A へ

  • 経路 B: ソースからコンパイルする (JDK 必要) → 手順 5.1 へ


手順 5-A: 事前ビルド済み fat-jar を使う (簡単)

必要環境: Java Runtime 17+ (java コマンドが動けば OK、JDK は不要)、Creo Parametric 10

5-A.1. fat-jar と Creo JAR パスを準備

GitHub Releases から fat-jar をダウンロード:

curl -LO https://github.com/kirakirapink/creo-mcp-server/releases/download/v0.1.1/jlpfc-gateway-0.1.1-shaded.jar

SHA-256 検証 (改ざん検知):

# macOS / Linux
shasum -a 256 jlpfc-gateway-0.1.1-shaded.jar
# 期待値: 3138e5cb05fbaa3148e5f49ce51ea67914724b1aab071e791b3389c2048f7e4f
# Windows PowerShell
(Get-FileHash jlpfc-gateway-0.1.1-shaded.jar -Algorithm SHA256).Hash.ToLower()
# 期待値: 3138e5cb05fbaa3148e5f49ce51ea67914724b1aab071e791b3389c2048f7e4f

5-A.2. Gateway 起動

Creo 10 で必要な J-Link JAR は pfcasync.jar の 1 個のみ。以前の Creo 世代にあった otk_java.jar は Creo 10 では不要。

Windows PowerShell (Creo が Windows 標準パスの場合):

$JLINK = "C:\Program Files\PTC\Creo 10.0.9.0\Common Files\text\java\pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar;$JLINK" io.github.kirakirapink.jlpfc.GatewayServer --port 9057

Linux / Unix (/proe/... 配下等):

JLINK="/proe/proe/Creo10.0.09.0/Common Files/text/java/pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar:$JLINK" io.github.kirakirapink.jlpfc.GatewayServer --port 9057

macOS (Creo は macOS 非サポートだが理論上):

JLINK="/path/to/Creo 10.0.9.0/Common Files/text/java/pfcasync.jar"
java -cp "jlpfc-gateway-0.1.1-shaded.jar:$JLINK" io.github.kirakirapink.jlpfc.GatewayServer --port 9057

Jackson 3 個の JAR は fat-jar に同梱済みなので追加ダウンロード不要。

5-A.3. 動作確認

curl http://localhost:9057/jlpfc/health

期待レスポンス:

{"ok": true, "creo_connected": true, "handles": 0}

Creo が起動していない状態でも ok: true は返る (creo_connected: false になる)。Gateway 自体の起動確認だけならこの状態で十分。

以上で完了。以降の手順 5.1 以降 (ソースからのビルド) はスキップしてよい。


手順 5-B: ソースからコンパイルする (JDK 必要)

事前ビルド済み fat-jar (手順 5-A) を使うならこのセクションは不要。ソースを自分で監査したい場合や、コードを改造したい場合のみ実施する。

5.1. Java ファイルをダウンロード

リポジトリと同じ構造で以下をコピー:

jlpfc-gateway/
├── pom.xml                       (Maven 使わない場合は参考用、なくても動く)
└── src/main/java/io/github/kirakirapink/jlpfc/
    ├── CallGraphExecutor.java
    ├── ChainRequest.java
    ├── ChainResponse.java
    ├── ClassAllowlist.java
    ├── GatewayServer.java
    ├── HandleRegistry.java
    ├── JLinkConnection.java
    └── TypeCoercer.java

5.2. Jackson JAR を手動ダウンロード

Java は標準の JSON パーサを持たないため、Gateway では Jackson (FasterXML) を使用する。

  • 正体: Java 界で最も広く使われている JSON ライブラリ (Spring Boot / Elasticsearch 等の主要 OSS が採用)

  • ライセンス: Apache 2.0

  • 配布元: Maven Central (Java 用 PyPI 相当の公式リポジトリ、Sonatype 運営)

  • ソース: https://github.com/FasterXML/jackson-databind

Maven Central から lib/ に直接配置 (3 個):

jlpfc-gateway/
└── lib/
    ├── jackson-databind-2.22.0.jar
    ├── jackson-core-2.22.0.jar
    └── jackson-annotations-2.22.0.jar

改ざん検知したい場合: 各 JAR には同じ URL の末尾に .sha256 (SHA-256) や .sha1 (SHA-1) を付けたチェックサムファイルが公開されている。例:

https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.22.0/jackson-databind-2.22.0.jar.sha256

macOS / Linux:

curl -sO https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.22.0/jackson-databind-2.22.0.jar.sha256
expected=$(cat jackson-databind-2.22.0.jar.sha256)
actual=$(shasum -a 256 jackson-databind-2.22.0.jar | awk '{print $1}')
[ "$expected" = "$actual" ] && echo OK || echo MISMATCH

Windows PowerShell:

$expected = Invoke-WebRequest https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.22.0/jackson-databind-2.22.0.jar.sha256 | Select-Object -ExpandProperty Content
$actual = (Get-FileHash lib\jackson-databind-2.22.0.jar -Algorithm SHA256).Hash.ToLower()
if ($expected -eq $actual) { "OK" } else { "MISMATCH" }

Creo 10 のインストール先で以下 1 個が存在することを確認 (Creo 10 は pfcasync.jar の 1 本で足りる。旧世代の otk_java.jar は不要):

  • <Creo>/Common Files/text/java/pfcasync.jar

<Creo> の例:

  • Windows: C:\Program Files\PTC\Creo 10.0.9.0

  • Linux/Unix: /proe/proe/Creo10.0.09.0

5.4. コンパイル (javac)

Windows PowerShell:

cd jlpfc-gateway
$JLINK = "C:\Program Files\PTC\Creo 10.0.9.0\Common Files\text\java\pfcasync.jar"
$CP = "lib\jackson-databind-2.22.0.jar;lib\jackson-core-2.22.0.jar;lib\jackson-annotations-2.22.0.jar;$JLINK"
mkdir out -Force
javac -d out -cp $CP src\main\java\io\github\kirakirapink\jlpfc\*.java

Linux / macOS:

cd jlpfc-gateway
JLINK="/proe/proe/Creo10.0.09.0/Common Files/text/java/pfcasync.jar"
CP="lib/jackson-databind-2.22.0.jar:lib/jackson-core-2.22.0.jar:lib/jackson-annotations-2.22.0.jar:$JLINK"
mkdir -p out
javac -d out -cp "$CP" src/main/java/io/github/kirakirapink/jlpfc/*.java

-cp の区切り文字は Windows は ;、Linux/macOS は :。

5.5. Gateway 起動

Windows PowerShell:

java -cp "out;$CP" io.github.kirakirapink.jlpfc.GatewayServer --port 9057

macOS / Linux:

java -cp "out:$CP" io.github.kirakirapink.jlpfc.GatewayServer --port 9057

--port を省略すると 9057 が使われる。bind は 127.0.0.1 固定。

5.6. 動作確認

curl http://localhost:9057/jlpfc/health

期待レスポンス:

{"ok": true, "creo_connected": true, "handles": 0}

環境変数リファレンス

MCP サーバー起動時に読まれる:

変数

既定値

用途

CREOSON_HOST

localhost

Creoson ホスト名

CREOSON_PORT

9056

Creoson ポート

CREOSON_URL

http://{HOST}:{PORT}/creoson

Creoson URL 全上書き

CREO_MCP_LOG_LEVEL

WARNING

Python 側ログレベル

JLPFC_URL

http://localhost:9057/jlpfc

Java Gateway ベース URL

JLPFC_TIMEOUT

300

Gateway HTTP タイムアウト (秒)


注意点

接続 owner の運用ルール

  • Creoson と Java Gateway を同時に Creo に接続してはいけない

  • J-Link async はシングルスレッド前提。同一 Creo プロセスに 2 本の async 接続を張ると容易に固まる

  • 運用時はどちらか一方だけを起動しておく (両方プロセスは起動していても構わないが、実際に Creo に接続するのは片方)

  • Creo Parametric 側で J-Link async 接続を受け付けるには protk.dat (または類似の PTC 側設定) で listener を有効化する必要がある

  • 詳細は PTC 公式ドキュメント (Creo Parametric TOOLKIT / J-Link Users Guide) を参照

PTC の JAR は同梱不可

  • pfcasync.jar (Creo 10 で必要な唯一の J-Link JAR) は PTC ライセンスにより再配布禁止

  • 本リポジトリには含まれず、Creo インストール先を参照する形でのみ利用可能

セキュリティ

  • Gateway は認証なし + 127.0.0.1 バインド固定

  • LAN や外部からのアクセスは想定していない

  • 同一マシン内の他プロセスからは制限なくアクセス可能なので、多ユーザー環境では別途対策が必要

Escape hatch (creoson_raw)

  • creo_mcp.py の末尾付近にコメントアウトされた creoson_raw tool がある

  • Creoson の生 JSON コマンドを LLM から直接投げるための最終手段用

  • 有効化する場合はブロック全体の # を外す (typed tool でカバーされない Creoson コマンドがある時のみ推奨)

Windows パス関連

  • -cp の区切り文字は Windows は ;、macOS/Linux は :

  • Creo のインストールパスにスペースが含まれる場合は必ずクォート ("...") で括る

  • PowerShell の場合、変数展開は $CREO の形で行える

プロキシ環境

  • Maven Central や GitHub Raw を curl で取得する時にプロキシが必要な環境では curl --proxy などで対応


トラブルシューティング

症状

対処

MCP サーバー起動時に Could not connect to Creoson on startup の warning

Creoson が未起動。手順 3 を実施。もしくは jlpfc_execute だけを使うなら無視して OK

jlpfc_execute 呼び出し時に接続エラー

Java Gateway が起動していない or JLPFC_URL が違う。手順 5.5 と環境変数を確認

Gateway 起動時に pfcAsyncConnection 系のクラスが見つからない

Creo のインストール先の pfcasync.jar のパスが違う。<Creo>/Common Files/text/java/pfcasync.jar に実在するか確認

curl /jlpfc/health が creo_connected: false を返す

Creo プロセスが起動していない or J-Link async listener が有効化されていない (Creo 側の protk.dat 設定を確認)

MCP tool が session 系のエラーを返す

Creoson の session_id が切れている。MCP サーバーを再起動すれば connection.connect を再度投げる

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes CAD geometry reasoning over STEP files to LLMs, allowing natural language queries about parts, assemblies, dimensions, holes, and mass properties.
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for interacting with Autodesk Maya sessions, enabling multi-session management, arbitrary Python execution, and streaming output capture.
    4
    41
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Python MCP server for SolidWorks automation with 109 tools covering the full CAD lifecycle. Enables AI-assisted design workflows through COM automation on Windows.
    100
    78
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables automation of FreeCAD model creation, macro execution, and view management through a server-client architecture, supporting integration with external AI tools like Claude and Cursor.
    100
    MIT