GitHub CopilotとVS CodeでVISA計測器を制御するためのMCPサーバーです。
このサーバーは、実験室の計測器(電源、オシロスコープ、マルチメータなど)をGitHub Copilotから簡単に制御できるようにします。TCPIP、GPIB、USBなど様々な接続方式に対応しています。
git clone https://github.com/Hizuki1030/visa-mcp.git
cd visa-mcp
# 仮想環境を作成
python -m venv .venv
# 仮想環境を有効化
# macOS/Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
# 依存関係をインストール
pip install -e .
# 仮想環境が有効化されていることを確認
python test_visa.py
VS Codeの設定に以下を追加(仮想環境のPythonパスを指定):
{
"servers": {
"visa-mcp": {
"command": "/path/to/visa-mcp/.venv/bin/python",
"args": ["src/server.py"],
"cwd": "/path/to/visa-mcp",
"env": {
"PYVISA_LOG_LEVEL": "INFO"
}
}
}
}
注意: /path/to/visa-mcpの部分は実際のプロジェクトパスに置き換えてください。
## 使い方
GitHub Copilotで「電源の電圧を5Vに設定して」のように自然な日本語で指示すると、適切なVISAコマンドが生成されます。
### 基本的な使用例
```python
# 機器の識別情報を取得
await send_visa_command("10.10.0.2", "inst0", "*IDN?")
# 電圧を設定
await send_visa_command("10.10.0.2", "inst0", "VOLT 5.0")
# 電圧を測定
await send_visa_command("10.10.0.3", "inst0", "MEAS:VOLT?")
host: 機器のIPアドレスresource_id: VISA リソース名(通常は “inst0”)command: SCPI/VISAコマンドprotocol: 接続方式(”tcpip”, “gpib”, “usb”など)Error: Could not locate a VISA implementation
→ NI-VISAやKeysight IO Librariesをインストールしてください
VISA Error: VI_ERROR_TMO
→ IPアドレスと機器の電源を確認してください
export PYVISA_LOG_LEVEL=DEBUG
python src/server.py
```