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/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
0dRelease cycle
2Releases (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