NigelへのMCPサーバー登録の方法

その他

スポンサーリンク

この記事では、LabVIEW2026Q3のNigelから可能になった、MCPサーバーの登録の方法と使用例について紹介していきます。

これにより、そのままのNigelだけでは対応できなかったような処理も実装する、Nigelのカスタマイズ的なことが可能になるため、より便利にLabVIEW内でのAI環境として使用することが可能になります。

なお、この記事で紹介している内容は個人的に試して成功した方法の紹介であり、ここで紹介した方法が唯一の方法であるわけではないと思います。

また、MCPサーバーの準備にはPythonを使用していきます。

スポンサーリンク

ライセンス要件について

まずはライセンス要件について書いておきます。

この記事で紹介している、MCPサーバーの登録については、少なくともこの記事を書いている時点(2026年9月)の時点では、「LabVIEW」のライセンスだけでは使用できないとマニュアルに書いてあります。

では何が必要かというと、LabVIEW+という、LabVIEW以外にもいくつかのソフトウエアが含まれたパッケージソフトウェアのライセンスが必要になります。

今後この要件が変わる可能性があるかもしれませんが、最新のドキュメントを確認するようにしてください。

Zoomin_Logo

MCPとは

本題に入る前に、MCPとは何か、について簡単に紹介します。

詳しい人には突っ込まれてしまうような説明かもしれませんが、一言で言うと、「AIと外部のアプリケーションを繋ぐ方法」のことです。

Model Context Protocolの頭文字でMCP、つまりこれはプロトコルのことで、これに従って、AIモデル(今回で言えばNigel)と、その他外部のアプリケーションをつなげることができます。

その場外部のアプリケーションって何のこと?と思われたかもしれませんが、今回紹介する内容で言えば、「Pythonで作ったプログラム」なんかが該当します。

MCPは、サーバーとクライアントに分かれ、クライアントからの何らかの指令をサーバーが受け取ってサーバーから応答し、その応答をクライアントが受け取ります。

例えばNigelとPythonでいうと、Nigelはクライアントとなり、ここから何らかの指示をサーバーであるPythonプログラムが受け取って処理、その応答をNigelが受け取ります。

サーバーはPythonプログラムでなくても、世の中にはデータベースに接続するサーバーやGitHub MCPサーバー等様々なものがあります。

MCPはClaudeで有名なAnthropicが提唱したものとのことで、より詳しいことを知りたいという場合には、以下の記事が参考になると思います。

What is the Model Context Protocol (MCP)? - Model Context Protocol

環境の準備

では環境の準備に入っていきます。

ここで紹介する方法では、Pythonを使用するのですが、mcpモジュールというものをインストールしておきます。

Pythonがインストールされている環境で、コマンドプロンプトで

pip install mcp

とすれば入手できます。

なお、mcpにはバージョンがあり、この記事を書いている時点では1.xや2.xのバージョンがあり得ますが、Pythonスクリプト中のインポート文等、一部はmcpのバージョンにより書き方が異なります。

例えば以下は、Nigelで「今日のエンジニアとしての運勢を占う」という機能を実装する例です。

お遊び用途ですが、こういった具合で通常のNigelでは対応していないことが実現できます。

import random

from mcp.server import MCPServer

server = MCPServer(“EngineerFortune”)

@server.tool()

def engineer_fortune(name: str = “”) -> str:

    “””

    エンジニア向けおみくじ

    “””

    fortunes = [

        (“大吉”, “長年悩んでいた問題の原因が見つかるでしょう。”),

        (“中吉”, “コードレビューで有益なフィードバックが得られます。”),

        (“小吉”, “ドキュメントを整備すると未来の自分が助かります。”),

        (“吉”, “地道な作業が評価される日です。”),

        (“末吉”, “急がず慎重に進めると良い結果になります。”),

        (“凶”, “本番環境の変更前には必ずバックアップを取りましょう。”)

    ]

    engineer_advice = [

        “エラーメッセージは必ず最後まで読みましょう。”,

        “ログを確認すると解決の糸口が見つかります。”,

        “動かない理由より、まず再現条件を整理しましょう。”,

        “テストコードは未来への投資です。”,

        “仮説を立てて検証する習慣が成功につながります。”,

        “今日のコミットは小さく分けると吉です。”,

        “仕様を確認すると無駄な作業を防げます。”,

        “再起動で解決する問題も意外とあります。”,

        “バージョン番号の確認を忘れないようにしましょう。”,

        “周囲に相談すると意外な視点が得られます。”

    ]

    lucky_items = [

        “USBメモリ”,

        “メモ帳”,

        “コーヒー”,

        “キーボード”,

        “モニター”,

        “LANケーブル”,

        “ドキュメント”,

        “デバッグログ”

    ]

    lucky_languages = [

        “Python”,

        “LabVIEW”,

        “C#”,

        “C++”,

        “JavaScript”,

        “PowerShell”

    ]

    rank, message = random.choice(fortunes)

    advice = random.choice(engineer_advice)

    lucky_item = random.choice(lucky_items)

    lucky_language = random.choice(lucky_languages)

    result = (

        f”=== エンジニアおみくじ ===\n”

        f”名前: {name if name else ‘匿名エンジニア’}\n\n”

        f”運勢: {rank}\n”

        f”結果: {message}\n\n”

        f”本日のアドバイス:\n”

        f”{advice}\n\n”

        f”ラッキーアイテム: {lucky_item}\n”

        f”ラッキー言語: {lucky_language}”

    )

    return result

if __name__ == “__main__”:

    server.run()

この書き方は、mcpモジュールのバージョンが2.xのときのもので、もし1.xを使用している場合には、冒頭の方の

from mcp.server import MCPServer

server = MCPServer(“EngineerFortune”)

from mcp.server.fastmcp import FastMCP

server = FastMCP (“EngineerFortune”)

と変えてやります。

では上記のPythonスクリプトをMCPサーバーとして登録する際のNigel側での設定の仕方を紹介します。

設定には、Nigelの右上にある、横棒が縦に3つ並んだ、ハンバーガーマークを選択して、チャットの履歴を見る画面を開いたら、一番下のSettingsからConfigure MCP Serversを選びます。

新たにMCPサーバーを登録する場合には、Add Serverを選択して、表示されるウィンドウに必要事項を入力していきます。

PythonスクリプトでMCPサーバーを作成した場合、

  • Name:他のMCPサーバーと区別するための名前。わかりやすい名前をつける。
  • Command:今回の場合、python.exeのパス。
  • Arguments:今回の場合、上記のPythonスクリプトのパス。
  • Transport Type:stdio(少なくともLabVIEW 2026Q3時点では他の選択肢がそもそもない)

といった感じで構成します。

もしこの構成内容に不備があり、例えばArgumentsで指定するPythonスクリプトファイルのパスの情報が間違っていたりPythonスクリプト中に文法的なミスがあると、警告マークが出ます。

問題なく登録ができると、MCPサーバー名とツール名が出てきます。

このような画面になったらもうこの構成画面は閉じてNigelで使えます。

実際に使ってみる

では実際に使ってみます。

使うのは簡単で、ツールの名前を指定するかあるいはNigelがそのツールを使用することを十分理解できるようなプロンプトを書くだけです。

今回の例で言えば

今日のエンジニア運勢を占って

などとプロンプトに書けばよく、うまくMCPサーバーを使うと、ユーザーにそのサーバーにアクセスしていいかの許可を求める画面が出ます。

ここでAllow、つまり許可すると選択すると、MCPサーバーにアクセスして実行、結果を表示します。

LabVIEWをMCPサーバーにする場合

今回紹介したのはNigelにMCPサーバーを登録する方法でした。

こうすることにより、Nigelから外部にアクセスすることができています。

一方で、この逆のような構成、LabVIEWをMCPサーバーとして、外部のAIから操作する方法もあります。

こちらについてはLabVIEW用に公開されているMCP Server Toolkitを使用します。

具体的な使い方については過去に紹介しているので以下の記事を参照してみてください。

今回の記事では、NigelにMCPサーバーを登録する方法を紹介しました。

Nigelは、LabVIEWおよびLabVIEWが関わるアプリケーション、ハードウェアなどに特化したAIですが、開発コンセプトがこれゆえに、機能が限定されているとも言えます。

今後さらに機能が強化されていくだろうことは予想されますが、今回紹介した方法でカスタマイズすることもでき、今後別の記事でいくつかカスタマイズ案を紹介する予定です。

より便利にLabVIEWでのAI環境を活用していくための一助として本記事が役に立てばうれしいです。

ここまで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました