Skip to main content
Glama
kirakirapink

creo-mcp-server

by kirakirapink

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

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

License: MIT


必要環境

ソフト

要否

用途

Creo Parametric 10 (last release)

必須

J-Link async 接続を受け付ける本体

Python 3.11 以上

必須

MCP サーバー本体

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

既存 180 tool を使うなら必須

J-Link JSON サーバー

JDK 17 以上 (Adoptium OpenJDK 等)

jlpfc_execute を使うなら必須

Java Gateway コンパイル + 実行


Related MCP server: maya-mcp-server

手順 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.0/jlpfc-gateway-0.1.0-shaded.jar

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

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

5-A.2. Gateway 起動

Windows PowerShell:

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

macOS / Linux:

CREO="/path/to/Creo 10.0.0.0"
JLINK="$CREO/Common Files/java/otk_java.jar:$CREO/Common Files/java/pfcasync.jar"
java -cp "jlpfc-gateway-0.1.0-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 のインストール先で以下 2 個が存在することを確認:

  • <Creo>/Common Files/java/otk_java.jar

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

<Creo> の例: C:\Program Files\PTC\Creo 10.0.0.0

5.4. コンパイル (javac)

Windows PowerShell:

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

macOS / Linux:

cd jlpfc-gateway
CREO="/path/to/Creo 10.0.0.0"
CP="lib/jackson-databind-2.22.0.jar:lib/jackson-core-2.22.0.jar:lib/jackson-annotations-2.22.0.jar:$CREO/Common Files/java/otk_java.jar:$CREO/Common Files/java/pfcasync.jar"
mkdir -p out
javac -d out -cp "$CP" src/main/java/io/github/kirakirapink/jlpfc/*.java

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

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 は同梱不可

  • otk_java.jar / pfcasync.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 のインストール先の otk_java.jar / pfcasync.jar のパスが違う。手順 5.3 を再確認

curl /jlpfc/healthcreo_connected: false を返す

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

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

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

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kirakirapink/creo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server