この記事で扱っていること
- NigelにVI修正ログを作成させる方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
LabVIEW 2025Q3から搭載された、LabVIEWから呼び出せるAI機能であるNigel、こちらについてLabVIEW 2026Q3からMCPサーバーを追加できるようになりました。
MCPサーバー用のアプリケーションを用意してしまえば、Nigelへのカスタマイズ機能が作れる、ということで、その一例として、VIの修正ログを作成させるといった例を紹介しています。
ただし、Nigelに対してMCPサーバーを登録するにはLabVIEW+という、LabVIEW professionalライセンスとは別のライセンスが必要となります。
そんなライセンス持っていない、という方でも記事後半で一応の代替策を紹介しています。
なお、MCPサーバーをNigelに登録する基本的な方法については以下の記事で紹介しています。

どんな結果になるか
二つの、修正前と修正後のプログラムを用意して、これらを2026Q3のバージョンのNigelから使用可能になったファイル添付機能でNigelに与えます。

そして、例えば以下のようなプロンプトをNigelに与えます。

プロンプト実行後、htmlに出力される画面の例とともに、MCPサーバーの機能を使っていいかを聞かれるので、Allowを選択して処理を進めることで、指定した場所にhtmlファイルを生成できます。

以下は生成したhtmlファイルの例で、修正箇所を単に羅列するだけでなく、修正意図もNigelが判断してまとめてくれています。

プログラムの構造
今回は対象としているプログラムの構造というより、登録するMCPサーバーが重要なので、このサーバーを用意するためのPythonプログラムの中身を紹介します。
from pathlib import Path
from mcp.server.mcpserver import MCPServer
mcp = MCPServer(“html-writer-mcp”)
@mcp.tool()
def write_html_file(
html_content: str,
output_path: str,
overwrite: bool = False,
) -> str:
“””
Write HTML source code to a specified HTML file.Args: html_content: Complete HTML source code. output_path: Full output path including the file name. Example: C:\\Users\\CE\\Desktop\\mcptest\\output\\report.html overwrite: If True, overwrite an existing file. The default value is False. Returns: Information about the generated HTML file. “”” if not html_content.strip(): raise ValueError(“html_content must not be empty.”) if not output_path.strip(): raise ValueError(“output_path must not be empty.”) path = Path(output_path).expanduser() if path.suffix.lower() not in (“.html”, “.htm”): raise ValueError( “The output file must have an .html or .htm extension.” ) if path.exists() and path.is_dir(): raise ValueError( f”The specified output path is a directory: {path}” ) if path.exists() and not overwrite: raise FileExistsError( f”The file already exists: {path}. ” “Set overwrite to true to replace it.” ) path.parent.mkdir( parents=True, exist_ok=True, ) path.write_text( html_content, encoding=”utf-8″, ) resolved_path = path.resolve() file_size = resolved_path.stat().st_size return ( “HTML file created successfully.\n” f”Output path: {resolved_path}\n” “Encoding: UTF-8\n” f”Characters written: {len(html_content)}\n” f”File size: {file_size} bytes” )
if name == “main”:
mcp.run(transport=”stdio”)
あとはこれをMCPサーバーとして登録するだけです。

MCPサーバーを登録できない場合
冒頭でも書いた通り、この「MCPサーバーの登録」をNigelに対して行うためにはLabVIEW+というライセンスが必要になります。
LabVIEW+ライセンスを持っていないと、残念ながらここで紹介した、htmlファイルの自動生成はできません。
ただし、Nigelに対して例えば以下のようなプロンプトを与えることで、htmlファイルの「ソースコード」は出力してくれます。

あとはこれを例えばメモ帳などに貼付け、そのテキストファイルの拡張子をhtmlにすれば目的の動作を達成することができます。
htmlファイルを自動的に生成させるか、手動操作が入ってもいいのでソースコードを生成させるか、の違いですが、もしLabVIEW+ライセンスを持っている方は自動化できるに越したことはないのでぜひ試してみてください。
今回の記事では、NigelにVI修正ログを作成させる方法を紹介しました。
別にVIの修正ログ以外でも、何らかのレポートなり、Nigelに調査させた結果をまとめさせてhtmlにするなどといった形での応用は期待できると思うので、より効果の高い使い方について模索してみてください。
ここまで読んでいただきありがとうございました。

コメント