mcpField
I
IKA Hotplate & Overhead Stirrer

IKA Hotplate & Overhead Stirrer

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

IKA Hotplate & Overhead Stirrer について

NAMURコマンドでIKAのホットプレートスターラーとオーバーヘッドスターラーを制御する、ラボ向けMCPサーバーです。加熱・撹拌の設定や温度、回転数、トルクの確認に対応し、通信ウォッチドッグも備えます。実機では未検証で、ワイヤーレベルのシミュレーターでテストされています。

主な機能

  1. 01温度、回転数、トルクの読み取り
  2. 02加熱と撹拌の設定および開始
  3. 03目標温度が安定するまで待機
  4. 04ホットプレートの通信ウォッチドッグ有効化
  5. 05装置の停止と動作上限の設定

活用シーン

  1. 01媒体温度を確認しながら試料を加熱
  2. 02指定回転数で混合物を撹拌
  3. 03温度安定後に実験を続行
  4. 04通信断時のホットプレート安全動作

MCP 対応

MCPサーバーとして、IKAスターラーの状態確認、加熱、撹拌を行うツールをクライアントに提供します。読み取り専用モード、温度・回転数の上限、ホットプレートの通信ウォッチドッグに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"k-dense-ai-labmcp-ika": {
"command": "uvx",
"args": [
"labmcp-ika"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
起動コマンドuvx labmcp-ika
設定が必要な環境変数
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-ika0.1.1

ツール

14

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

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

詳細

IKA Hotplate & Overhead Stirrer — MCP Server

AI エージェントが、IKA ホットプレートスターラー(C-MAG HS control、IKA Plate / RCT digital)で加熱・撹拌し、IKA の文書化された NAMUR インターフェースコマンドを通じて IKA オーバーヘッドスターラー(EUROSTAR control)を操作できるようにします。プレート、プローブ、試料の温度、回転速度、トルクの読み取り、加熱・撹拌の設定と開始、指定温度になるまでの待機に加え、コンピューターからの通信が停止した場合にホットプレートを自動でオフにするハードウェアウォッチドッグの作動が可能です。

パッケージlabmcp-ika
機器ホットプレートスターラー:C-MAG HS 7 control、IKA Plate (RCT digital)。オーバーヘッドスターラー(--option device=overhead):EUROSTAR 60 control、EUROSTAR 100 control。同じ NAMUR セットに対応する他の IKA 機器も動作する可能性がありますが、未検証です
インターフェースRS-232(9 ピン、PC 1.1 ケーブル)、USB(仮想 COM ポート)
プロトコルIKA NAMUR コマンド。取扱説明書の「インターフェースと出力」セクション:IKA Plate (RCT digital)(11/2018)、C-MAG HS 7 control(11/2018)、EUROSTAR 60/100 control(20000003965c)。公式ダウンロード:ika.com
ステータス🧪 シミュレーション済み:ワイヤーレベルの NAMUR シミュレーターでテスト済みですが、ハードウェアでは未検証です。ハードウェアテストを報告

ハードウェアなしで試す

uvx labmcp-ika --simulate --check
uvx labmcp-ika --simulate --option device=overhead --check   # EUROSTAR simulator

スターラーを接続する

  1. ケーブル: USB A–B(スターラーは仮想 COM ポートとして表示されます。Windows では、マニュアルにリンクされている IKA の USB ドライバーをインストールしてください)、または 9 ピン RS-232 PC 1.1 ケーブルを使用します。機器側での設定は不要です。インターフェースは 9600 ボー、7 データビット、偶数パリティ、1 ストップビット、フロー制御なしに固定されており、すべてのコマンドは空白 + CR LF で終わります。
  2. ポートを確認: uvx labmcp ports
  3. 接続をテスト:
    uvx labmcp-ika --address /dev/ttyACM0 --check                          # Linux, hotplate
    uvx labmcp-ika --address /dev/tty.usbmodem14101 --check                # macOS
    uvx labmcp-ika --address COM5 --check                                  # Windows
    uvx labmcp-ika --address COM6 --option device=overhead --check         # EUROSTAR
    
    --check は、機器が報告する名前(IN_NAME)を出力します。

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

Claude Code

claude mcp add ika -- uvx labmcp-ika --address /dev/ttyACM0 --limit max_temperature_c=120

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

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

モニタリングのみを許可するには、--read-only を追加します(停止ツールは引き続き使用できます)。その他のクライアントの場合:uvx labmcp config ika-stirrer --address /dev/ttyACM0 --client vscode。

ツール

ツール種類説明
disable_watchdog🎛 制御ウォッチドッグモード 2(OUT_WD2@0)をキャンセルし、バックグラウンドでの更新を停止します。ウォッチドッグモード 1 にはキャンセルコマンドがないため、このツールはエラーを返します。
enable_watchdog🎛 制御ホットプレートの通信ウォッチドッグ(OUT_WD1@m / OUT_WD2@m)を作動させます。その後、サーバーはバックグラウンドでウォッチドッグコマンドを再送します。コンピューター、サーバー、またはケーブルに障害が発生すると、タイムアウト後にホットプレートは加熱と撹拌を停止する(モード 1)か、指定された安全値に戻ります(モード 2)。timeout_s の経過後に動作します。注意:サーバーを停止または再接続すると更新も停止するため、再度有効にしないとウォッチドッグが作動します。モード 1 はインターフェース経由ではキャンセルできません。
get_command_log👁 読み取り装置に送信された/装置から受信した最新の生コマンドを返します(末尾が最新)。デバッグや操作内容の記録に役立ちます。
get_connection_info👁 読み取り接続されている装置(識別情報、アドレス、シミュレーションか実機か)、サーバーが読み取り専用かどうか、有効な安全制限を報告します。最初に呼び出してください。
get_status👁 読み取り温度、撹拌速度、設定値を読み取ります。ホットプレートの場合は、プレートと外部プローブの温度、温度設定値、装置の安全回路温度を報告します。オーバーヘッドスターラーの場合は、PT1000 プローブ温度、トルク、装置に設定された速度/トルク制限を報告します。
reconnect🛑 安全装置への接続を閉じて再接続します(電源を入れ直した場合や、ケーブルを抜き差しした場合など)。
set_speed⚠️ 危険撹拌速度の設定値(OUT_SP_4)を設定します。モーターは始動しません。すでに運転中の場合、速度は直ちに変更されます。max_speed_rpm を超える場合(オーバーヘッドスターラーでは、装置に設定された速度制限を超える場合も)は拒否されます。
set_temperature⚠️ 危険ホットプレートの温度設定値(OUT_SP_1)を設定します。外部プローブが接続されている場合、これは媒体の目標温度です。加熱は開始しません。すでに加熱中の場合、プレートは直ちに新しい設定値に向けて温度を変化させます。max_temperature_c または装置独自の安全回路温度を超える場合は拒否されます。
start_heating⚠️ 危険ホットプレートのヒーターをオンにします(START_1)。現在の設定値に向けて加熱します。設定値は最初に max_temperature_c と照合されます。容器と内容物が設定温度に耐えられること、またプレートの近くに可燃物がないことを確認してください。
start_stirring⚠️ 危険現在の速度設定値で撹拌モーターを始動します(START_4)。設定値は最初に max_speed_rpm と照合されます。撹拌子またはインペラーが正しく配置され、容器が固定されていることを確認してください(撹拌子が外れたり、容器が固定されていなかったりすると、液体が飛び散ることがあります)。
stop_all🛑 安全緊急停止:ヒーターをオフにし(ホットプレートの場合)、モーターを停止します。いずれかの停止コマンドが失敗しても、すべての停止コマンドを送信します。実行中の wait_for_temperature も終了します。
stop_heating🛑 安全ホットプレートのヒーターをオフにします(STOP_1)。撹拌は続行されます。電源を切った後も、プレートは長時間高温のままです。
stop_stirring🛑 安全撹拌モーターを停止します(STOP_4)。加熱中の場合は加熱が続行されます。
wait_for_temperature👁 読み取り温度をポーリングし、目標温度との差が tolerance_c 以内の状態が stable_for_s 秒続くまで、または timeout_s が経過するまで待機します。装置の状態は変更しません(先に加熱を開始してください)。目標に到達したかどうかと、短い温度推移を返します。停止コマンドを送ると待機を早期終了します。

安全上限

上限デフォルト意味
max_temperature_c150 °Cエージェントが設定できるホットプレートの最高設定温度です(start_heating の前と、ウォッチドッグのフォールバック温度についても確認されます)
max_speed_rpm1000 rpmエージェントが設定できる最高撹拌速度です(start_stirring の前にも確認されます)
max_wait_s3600 swait_for_temperature の最長待機時間です

起動時に上書きできます。例:--limit max_temperature_c=250 --limit max_speed_rpm=1500。これらに加えて、ホットプレートは独自の安全回路の温度(本体のドライバー調整ダイヤルで設定し、IN_SP_3 で読み取ります)を超える設定を拒否し、オーバーヘッドスターラーは本体メニューで設定した速度上限(IN_SP_6)を超える速度を拒否します。サーバーはコマンドを送信する前に両方を確認します。

プロンプトの例

  • 「外部プローブを使って丸底フラスコを 65 °C まで加熱し、400 rpm で撹拌してください。1 分間安定したら知らせてください。」
  • 「ウォッチドッグを 60 s で作動させてから、80 °C まで加熱を開始してください。一晩そのまま動かしておきます。」
  • 「冷却中、30 s ごとに媒体の温度を記録し、30 °C を下回ったら知らせてください。」
  • 「EUROSTAR の回転数を 300 rpm まで上げて、トルクを報告してください。混合物の粘度が上がっています。」
  • 「何か焦げ臭いです。今すぐすべて停止してください。」

注意事項

  • デバイスの種類は 2 つです。 デフォルトは --option device=hotplate です。オーバーヘッドスターラーには --option device=overhead が必要です。オーバーヘッドスターラーにはヒーターがなく、PT1000 プローブの値は IN_PV_3 で、トルクは IN_PV_5 で報告されます。設定された種類に該当しないツールは、明確なエラーを返し、何も送信しません。
  • ヒーターの状態は照会できません。 NAMUR のコマンドセットには「ヒーターはオンか?」というコマンドがないため、get_status はサーバーが最後に送信した開始/停止の状態(heating_commanded、stirring_commanded)を報告し、不明な場合は None を返します。フロントパネルのボタンを押しても、サーバーには通知されません。
  • 設定値は読み戻されます。 set_temperature / set_speed の後に(IN_SP_1 / IN_SP_4)、デバイスが異なる値を報告した場合は warning が返されます。
  • ウォッチドッグ(ホットプレート、OUT_WD1@m / OUT_WD2@m、20–1500 s):enable_watchdog を実行するとウォッチドッグが作動し、サーバーはウォッチドッグ時間の 4 分の 1 ごとにバックグラウンドでコマンドを再送信します。サーバーやコンピューターが停止した場合、またはケーブルが抜かれた場合、ホットプレートは加熱と撹拌をオフにするか(モード 1)、安全温度と速度に戻ります(モード 2)。サーバーを停止または再接続すると更新も停止するため、ウォッチドッグが作動します。 モード 1 には文書化されたキャンセルコマンドがありません。モード 2 は OUT_WD2@0 でキャンセルします。ウォッチドッグのエラーコードはマニュアルのセクションによって異なります(ER 2 と Err. 1/Err. 2)。作動したことはディスプレイに表示されますが、インターフェース経由では確認できません。
  • 返信の形式は未検証です。 IKA のマニュアルにはコマンドは記載されていますが、返信行の正確な形式は記載されていません。ドライバーは行内の最初の数値を取得します(デバイスはチャンネル番号を付加すると報告されています。例:25.3 2)。そのため、どちらの形式にも対応します。外部プローブが接続されていない場合に IN_PV_1 が返す値は文書化されていません。プローブがない場合は external_temperature_c を無視してください。
  • IKA のマニュアルでは終端文字を「Blank CR LF (hex 0x20 0x0d 0x20 0x0A)」と記載しています。「Blank CR LF」という説明と余分な 0x20 が矛盾するため、誤記として扱い、サーバーは 0x20 0x0D 0x0A を送信します。
  • 未実装:SET_MODE_n(電源投入時の動作モード A/B/D を変更する永続設定)および RESET、オーバーヘッドスターラーのトルク/速度上限の書き込み(OUT_SP_5/6/8)と方向変更(OUT_MODE_n)。

ハードウェアの検証

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

コメント

MCP は初めてですか?

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

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