mcpField
J
JULABO Circulator

JULABO Circulator

ローカル
github.com科学・教育235 週間前に更新

JULABO Circulator について

JULABO Circulatorは、JULABOの加熱・冷却循環装置を監視、制御するMCPサーバーです。温度や状態の読み取り、設定温度や循環の操作、温度安定の待機に対応し、実機での検証はまだ行われていません。

主な機能

  1. 01槽内・外部温度の読み取り
  2. 02温度設定と循環制御
  3. 03状態とアラームの解析
  4. 04温度安定までの待機
  5. 05USBまたはRS-232接続

活用シーン

  1. 01槽温と加熱・冷却出力の監視
  2. 02目標温度の設定と安定確認
  3. 03循環装置のアラームと状態の確認
  4. 04温度制御とポンプの停止

MCP 対応

MCPサーバーとして、温度、状態、接続情報の読み取りに加え、温度設定、循環の開始・停止、安定待機のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"k-dense-ai-labmcp-julabo": {
"command": "uvx",
"args": [
"labmcp-julabo"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
起動コマンドuvx labmcp-julabo
設定が必要な環境変数
LABMCP_ADDRESSInstrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025
LABMCP_SIMULATESet to 1 to use the built-in simulator (no hardware)
LABMCP_READ_ONLYSet to 1 to disable all state-changing tools
LABMCP_LIMITSSafety limit overrides, e.g. max_temperature_c=80

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypilabmcp-julabo0.1.2

ツール

10

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

JULABO サーキュレーター — MCP サーバー

AI エージェントが、JULABO の文書化されたインターフェースコマンドを使って JULABO 加熱・冷却サーキュレーターを操作できるようにします。バス温度と外部温度、加熱・冷却出力の読み取り、設定温度の設定、温度制御の開始と停止、ステータスやアラームメッセージの解読、バスが設定温度で安定するまでの待機が可能です。

パッケージlabmcp-julabo
機器CORIO CD、CORIO CP、MAGIO MS(および MX)、DYNEO DD サーキュレーター。PRESTO と旧型の JULABO モデルも類似のコマンドセットを使用しますが、未検証です
インターフェースUSB(仮想 COM ポート)、RS-232(CORIO CP、MAGIO、DYNEO)
プロトコルJULABO インターフェースコマンド。各機器の取扱説明書原本の付録「インターフェースコマンド」を参照してください:CORIO CD (1.950.0800.us.V10)、CORIO CP (1.950.0900.us.V04)、MAGIO MS (1.950.1700.us.V05)、DYNEO DD (1.950.1300.us.V03)。公式ダウンロード:julabo.com
ステータス🧪 シミュレーション済み:ワイヤーレベルのシミュレーターでテスト済みですが、実機では未検証です。実機テストを報告

実機なしで試す

uvx labmcp-julabo --simulate --check

サーキュレーターを接続する

  1. サーキュレーターでリモート制御を有効にします。 有効にしない場合、サーキュレーターはクエリに応答しますが、設定コマンドはすべて無視されます。
    • CORIO CD/CP:MENU → IntE → rEM → USb(RS-232 の場合は 232)。スタンバイ中は rOFF と表示されます。
    • MAGIO / DYNEO:メインメニュー → Connect unit → Remote control → USB または RS232。ステータスバーに「R」が表示されます。
  2. ケーブル: USB-B(サーキュレーターは仮想 COM ポートとして認識されます。Windows では JULABO の USB ドライバーをインストールしてください)、またはヌルモデム RS-232 ケーブル。RS-232 の工場出荷時設定は、**4800 ボー、7 データビット、偶数パリティ、1 ストップビット、ハードウェアハンドシェイク(RTS/CTS)**です。インターフェースのパラメーターを変更できるのは、リモート制御がオフのときだけです。サーバーはこれらの設定を使用しますが、デフォルトではハンドシェイクを強制しません(RTS をアサートしたままにすることでサーキュレーターからの送信を可能にします。また、USB 仮想 COM ポートでは CTS がアサートされないことがよくあります)。強制するには、アドレスに ?rtscts=true を追加してください。
  3. ポートを確認します: uvx labmcp ports
  4. 接続をテストします:
    uvx labmcp-julabo --address /dev/ttyACM0 --check                  # Linux (USB)
    uvx labmcp-julabo --address /dev/tty.usbmodem1101 --check         # macOS
    uvx labmcp-julabo --address COM3 --check                          # Windows
    uvx labmcp-julabo --address "serial://COM3?baudrate=9600" --check # RS-232, non-default baud rate
    
    --check は、ファームウェア文字列(version)と現在のステータス(例:02 REMOTE STOP)を出力します。

MCP クライアントに追加する

Claude Code

claude mcp add julabo -- uvx labmcp-julabo --address /dev/ttyACM0

Claude Desktop / Cursor / Windsurf(claude_desktop_config.json、.cursor/mcp.json、…)

{
  "mcpServers": {
    "julabo": {
      "command": "uvx",
      "args": ["labmcp-julabo", "--address", "/dev/ttyACM0", "--limit", "max_temperature_c=120"]
    }
  }
}

監視のみを許可するには --read-only を追加します(stop_circulation は引き続き使用できます)。その他のクライアントの場合:uvx labmcp config julabo-circulator --address /dev/ttyACM0 --client vscode。

ツール

ツール種類説明
get_command_log👁 読み取り装置に送信したコマンドと装置から受信した応答のうち、最新のものを生データで返します(新しいものが末尾)。デバッグや実行内容の記録に役立ちます。
get_connection_info👁 読み取り接続中の装置(識別情報、アドレス、シミュレーションか実機か)、サーバーが読み取り専用かどうか、現在有効な安全制限を報告します。最初に呼び出してください。
get_setpoint👁 読み取り現在の温度設定値と、温度制御が実行中かどうかを読み取ります。
get_status👁 読み取り循環恒温槽のステータスメッセージ(デコード済み:動作状態、拒否されたコマンドまたはアラーム)、温度制御が実行中かどうか、設定値、装置自体の過熱保護設定と警告制限、およびファームウェアのバージョンを報告します。
read_temperatures👁 読み取り浴槽温度、加熱/冷却出力(%)、安全センサーの温度、およびオプションで外部Pt100センサーの温度を読み取ります。
reconnect🛑 安全装置との接続を閉じて、再度開きます(電源を入れ直した後や、ケーブルを抜き差しした後など)。
set_setpoint⚠️ 危険循環恒温槽の温度設定値(out_sp_00)を設定します。温度制御が実行中の場合、循環恒温槽は直ちに加熱または冷却を開始します。min_temperature_c..max_temperature_c の範囲外では拒否されます。また、循環恒温槽自体も動作範囲または警告制限の範囲外の値を拒否し、エラーを返します。リモート制御が有効である必要があります。
start_circulation⚠️ 危険温度制御を開始します(out_mode_05 1)。ポンプが作動し、事前に安全制限を確認したうえで、設定値まで浴槽を加熱または冷却します(設定値は前面パネルで変更されている場合があります)。浴槽が満たされ、外部ホースが接続され、しっかり固定されていることを確認してください。リモート制御が有効である必要があります。
stop_circulation🛑 安全温度制御とポンプを停止し(out_mode_05 0)、in_mode_05で停止を確認します。実行中のwait_for_temperatureも終了します。停止後も浴槽は高温または低温のままです。
wait_for_temperature👁 読み取り目標温度との差がtolerance_c以内の状態がstable_for_s秒間続くか、timeout_sが経過するまで、浴槽(または外部)の温度をポーリングします。状態は変更しません。先に循環を開始してください。循環恒温槽がアラームを発生させた場合や、停止コマンドが送信された場合は、早期に停止します(reached = false)。短い温度推移を返します。

安全制限

制限デフォルト説明
max_temperature_c90 °Cエージェントが設定できる最高設定値(start_circulationの前にも確認されます)
min_temperature_c5 °Cエージェントが設定できる最低設定値(start_circulationの前にも確認されます)
max_wait_s7200 swait_for_temperatureの最長待機時間

デフォルト値は水の浴槽に適しています。たとえば、シリコーンオイル/グリコール対応の構成では、浴槽液の使用温度範囲に合わせて--limit min_temperature_c=-30 --limit max_temperature_c=150のように設定してください。循環恒温槽はこれに加えて、独自の動作範囲、警告制限、過熱保護を適用します。拒否された場合は、-11 VALUE TOO LARGEなどのエラーが返されます。

プロンプトの例

  • 「循環恒温槽を37 °Cに設定して運転を開始し、浴槽が±0.1 °C以内で5分間安定したら知らせてください。」
  • 「浴槽の温度はいま何度ですか?循環恒温槽はどのくらいの出力で動作していますか?」
  • 「外部Pt100を基準にして、ジャケット付き反応器を10 °Cまで冷却し、到達したら知らせてください。」
  • 「循環恒温槽にアラームはありますか?その意味を説明してください。」
  • 「循環恒温槽を停止してください。」

注意事項

  • リモート制御はフロントパネルで設定します。 手動モード(00 MANUAL STOP/01 MANUAL START)では、サーバーは設定の送信を拒否し、リモート制御を有効にする方法を通知します。
  • すべての設定を検証します。 OUT コマンドには応答がないため、サーバーは各コマンドの後に status を照会して(-08 INVALID COMMAND、-09 COMMAND NOT ALLOWED IN CURRENT OPERATING MODE、-10 VALUE TOO SMALL、-11 VALUE TOO LARGE、-13 VALUE EXCEEDS TEMPERATURE LIMITS を検出するため)、設定値または in_mode_05 を読み戻します。stop_circulation は 1 回再試行し、それでも循環装置が運転中と示す場合はエラーを報告します。
  • 機種による違い。 CORIO CD で利用できるのは基本機能(実測値、出力、安全センサー、設定値、起動/停止)のみです。警告リミット(in_sp_03/04)には CORIO CP、MAGIO、または DYNEO が必要です。外部 Pt100(in_pv_02)には MAGIO または DYNEO が必要です。サーバーは利用できないコマンド(応答なし)を検出し、それらの値を null として報告します。
  • コマンドの送信間隔(未検証)。 マニュアルにはコマンド間の最小時間が記載されていません。サーバーは各設定コマンドの後、status を確認する前に command_delay_s(デフォルトは 0.25 秒)だけ待機します。循環装置がコマンドを受け付けない場合は、--option command_delay_s=0.5 で変更してください。
  • ウォッチドッグ。 MAGIO/DYNEO の循環装置には、装置独自のメニューで設定するウォッチドッグがあります(モード、タイムアウト、フォールバック設定値、「設定値のみ」または「すべての有効なコマンド」でリセット)。サーバーでは設定しません。再起動モードが「すべての有効なコマンド」の場合は、サーバーの実行中に --option keepalive_s=10 を指定すると、10 秒ごとに status を照会してウォッチドッグに給電できます。JULABO のアラーム一覧には、「設定値」再起動モードでは少なくとも 30 秒ごとに設定値を送信する必要があると記載されていますが、このキープアライブではその要件を満たしません。
  • ステータスとアラームのテキストは、マニュアルのアラーム表を使用してコード(-01、-14、-63 など)からデコードされます。循環装置から送信された正確な文言は変更せずにそのまま渡されます。
  • 未実装:ポンプ段階/容量(out_sp_07/27)、警告リミットの書き込み(out_sp_03/04)、コントローラーパラメータ(out_par_*)、外部/内部制御の切り替え(out_mode_04)、EPROG および ATC の校正コマンド。

ハードウェア検証

機種ファームウェアインターフェース検証者日付
まだありません:最初の検証にご協力ください

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。