XTB MCP Server / XTB MCP 服务器 について
XTB MCP Serverは、量子化学研究者向けにXTB計算入力の生成、変換、検証ツールを提供します。複数の計算タイプと手法に加え、拡張サンプリング、波動関数解析、ONIOM設定に対応します。
主な機能
- 01XTB計算入力パッケージの生成
- 02複数のXTB手法と計算タイプへの対応
- 03分子構造ファイル形式の変換
- 04拡張サンプリングとONIOM計算の設定
- 05波動関数解析と分光計算の設定
- 06入力検証とパラメーターの説明
活用シーン
- 01構造最適化や振動数計算の入力準備
- 02Gaussian、XYZなどの構造形式の変換
- 03メタダイナミクスなど拡張サンプリングの設定
- 04分子動力学軌跡の解析や分光計算の設定
MCP 対応
MCPサーバーとして、XTB入力生成、構造形式変換、検証、解析のツールをAIアシスタントなどの互換クライアントに提供します。テンプレートやパラメーター文書のリソースも用意しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
XTB MCP Server / XTB MCP サーバー
英語
概要
XTB MCP Server は、拡張タイトバインディング(XTB)量子化学計算の入力ファイルを生成するための包括的なツールを提供する Model Context Protocol(MCP)サーバーです。このサーバーは、Claude、Cursor、Windsurf などの AI アシスタントとシームレスに連携し、量子化学ワークフローのインテリジェントな自動化を実現します。
主な機能
- XTB 入力の完全な生成:主要なすべての計算タイプ(単一点、最適化、振動数、スキャン、MD)に対応
- 複数の XTB メソッド:GFN0、GFN1、GFN2、GFN-FF 力場に対応
- 構造形式の変換:XYZ ↔ COORD ↔ Gaussian 形式の処理
- 高度なサンプリング手法:メタダイナミクス、パスファインダー、基準振動追跡
- 波動関数解析:軌道解析、電子密度解析、分光法
- ONIOM 計算:多層 QM/MM 計算
- 入力検証:詳細なエラー報告を伴う包括的な検証
- 充実したドキュメント:パラメーターに関する詳細なドキュメントと例
プロジェクト構成
xtb-mcp-server/
├── main.py # MCP server entry point
├── requirements.txt # Python dependencies
├── DEPLOYMENT_GUIDE.md # Deployment instructions
├── PROJECT_SUMMARY.md # Project overview
├── run_tests.py # Test runner
├── test_mcp_functionality.py # MCP functionality tests
├── final_validation.py # Final validation script
├── xtb_input_generator/ # Core generator module
│ ├── __init__.py
│ ├── generator.py # Main XTB input generator
│ └── structure_utils.py # Structure format utilities
├── resources/ # Template and documentation resources
│ ├── templates/ # XTB input templates
│ │ ├── singlepoint.xtb_tpl
│ │ ├── optimization.xtb_tpl
│ │ ├── frequency.xtb_tpl
│ │ ├── scan.xtb_tpl
│ │ ├── md.xtb_tpl
│ │ ├── sampling/ # Enhanced sampling templates
│ │ ├── wavefunction/ # Wavefunction analysis templates
│ │ └── advanced/ # Advanced calculation templates
│ ├── parameters/ # Method parameter documentation
│ │ ├── gfn0.md
│ │ ├── gfn1.md
│ │ └── gfn2.md
│ ├── formats/ # Input format specifications
│ │ └── input_spec.md
│ └── help/ # Help documentation
│ └── faq.md
└── tests/ # Comprehensive test suite
├── test_generator.py # Generator functionality tests
├── test_structure_utils.py # Structure utility tests
└── test_mcp_server.py # MCP server integration tests
インストール
-
リポジトリをクローンします:
git clone <repository-url> cd xtb-mcp-server -
依存関係をインストールします:
pip install -r requirements.txt -
テストを実行してインストールを確認します:
python run_tests.py
MCP の設定
Claude Desktop
Claude Desktop の設定ファイル(claude_desktop_config.json)に追加します:
{
"mcpServers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"],
"env": {}
}
}
}
Cursor
Cursor の MCP 設定に追加します:
{
"mcpServers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"]
}
}
}
Windsurf
Windsurf の設定で構成します:
{
"mcp": {
"servers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"]
}
}
}
}
使用例
例 1:基本的な構造最適化
ユーザー:「GFN2 メソッドを使って、水分子の構造最適化用 XTB 入力ファイルを生成してください」
AI アシスタントの応答:
I'll generate XTB input files for water molecule geometry optimization using the GFN2 method.
[Uses generate_xtb_input_package tool]
Generated files:
- structure.xyz: Water molecule coordinates
- xcontrol: Optimization settings with GFN2 method
- run_xtb.sh: Execution script
The optimization will use tight convergence criteria and the GFN2 method for accurate results.
例 2:溶媒中での振動数計算
ユーザー:「トルエン溶媒中のベンゼンについて、振動数計算を実行する必要があります。入力ファイルを設定してもらえますか?」
AI アシスタントの応答:
I'll set up frequency calculation input files for benzene in toluene solvent.
[Uses generate_xtb_input_package tool with frequency calculation type and toluene solvent]
Generated files include:
- Benzene structure in XYZ format
- xcontrol file with frequency calculation settings
- Toluene solvent model (GBSA)
- Temperature set to 298.15 K
The calculation will provide vibrational frequencies and thermodynamic properties.
例 3:拡張サンプリングの設定
ユーザー:「柔軟な分子の配座サンプリングを行うメタダイナミクスシミュレーションを設定してください」
AI アシスタントの応答:
I'll configure a metadynamics simulation for conformational sampling.
[Uses generate_enhanced_sampling_input tool]
Generated metadynamics setup:
- Collective variables: dihedral angles
- Gaussian height: 0.1 kcal/mol
- Gaussian width: 0.2 radians
- Deposition frequency: every 100 steps
- Temperature: 300 K
This will efficiently explore the conformational space of your molecule.
例 4:構造形式の変換
ユーザー:「この Gaussian 入力を XTB 計算用の XYZ 形式に変換してください」
AI アシスタントの応答:
I'll convert your Gaussian input file to XYZ format for XTB calculations.
[Uses convert_structure_file_format tool]
Conversion successful:
- Extracted molecular geometry from Gaussian input
- Generated clean XYZ format
- Preserved atomic coordinates and elements
- Ready for XTB calculations
The converted structure is now compatible with all XTB calculation types.
利用可能なツール
- generate_xtb_input_package:XTB 入力ファイル一式を生成します
- convert_structure_file_format:分子構造形式を相互に変換します
- validate_xtb_input_files:XTB 入力ファイルの構文とパラメーターを検証します
- generate_xcontrol_file:特定の設定を含む XTB 制御ファイルを生成します
- explain_xtb_parameters:XTB パラメーターの詳細な説明を取得します
- generate_enhanced_sampling_input:拡張サンプリング計算を設定します
- generate_wavefunction_analysis_input:波動関数解析を設定します
- generate_oniom_input:多層 ONIOM 計算を設定します
- generate_spectroscopy_input:分光計算を設定します
- analyze_trajectory:分子動力学トラジェクトリを解析します
リソース
このサーバーでは、豊富なドキュメントとテンプレートを利用できます:
- テンプレート:すべての計算タイプに対応した、事前設定済みの入力テンプレート
- パラメーター:GFN0、GFN1、GFN2 メソッドの詳細なドキュメント
- 形式:入力形式の仕様と例
- ヘルプ:よくある質問とトラブルシューティングガイド
日本語
概要
XTB MCP サーバーは、拡張タイトバインディング(XTB)量子化学計算の入力ファイルを生成するための包括的なツールを提供する Model Context Protocol(MCP)サーバーです。このサーバーは、Claude、Cursor、Windsurf などの AI アシスタントとシームレスに連携し、量子化学ワークフローのインテリジェントな自動化を実現します。
主な機能
- XTB 入力の完全な生成:主要なすべての計算タイプ(単一点、最適化、振動数、スキャン、分子動力学)に対応
- 複数の XTB メソッド:GFN0、GFN1、GFN2、GFN-FF 力場に対応
- 構造形式の変換:XYZ ↔ COORD ↔ Gaussian 形式の処理
- 高度なサンプリング手法:メタダイナミクス、パスファインダー、基準振動追跡
- 波動関数解析:軌道解析、電子密度解析、分光法
- ONIOM 計算:多層 QM/MM 計算
- 入力検証:詳細なエラー報告を伴う包括的な検証
- 充実したドキュメント:パラメーターに関する詳細なドキュメントと例
プロジェクト構成
xtb-mcp-server/
├── main.py # MCP 服务器入口点
├── requirements.txt # Python 依赖
├── DEPLOYMENT_GUIDE.md # 部署指南
├── PROJECT_SUMMARY.md # 项目概述
├── run_tests.py # 测试运行器
├── test_mcp_functionality.py # MCP 功能测试
├── final_validation.py # 最终验证脚本
├── xtb_input_generator/ # 核心生成器模块
│ ├── __init__.py
│ ├── generator.py # 主要 XTB 输入生成器
│ └── structure_utils.py # 结构格式工具
├── resources/ # 模板和文档资源
│ ├── templates/ # XTB 输入模板
│ │ ├── singlepoint.xtb_tpl
│ │ ├── optimization.xtb_tpl
│ │ ├── frequency.xtb_tpl
│ │ ├── scan.xtb_tpl
│ │ ├── md.xtb_tpl
│ │ ├── sampling/ # 增强采样模板
│ │ ├── wavefunction/ # 波函数分析模板
│ │ └── advanced/ # 高级计算模板
│ ├── parameters/ # 方法参数文档
│ │ ├── gfn0.md
│ │ ├── gfn1.md
│ │ └── gfn2.md
│ ├── formats/ # 输入格式规范
│ │ └── input_spec.md
│ └── help/ # 帮助文档
│ └── faq.md
└── tests/ # 全面测试套件
├── test_generator.py # 生成器功能测试
├── test_structure_utils.py # 结构工具测试
└── test_mcp_server.py # MCP 服务器集成测试
インストール
-
リポジトリをクローンします:
git clone <repository-url> cd xtb-mcp-server -
依存関係をインストールします:
pip install -r requirements.txt -
テストを実行してインストールを確認します:
python run_tests.py
MCP の設定
Claude Desktop
Claude Desktop の設定ファイル(claude_desktop_config.json)に追加します:
{
"mcpServers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"],
"env": {}
}
}
}
Cursor
在 Cursor MCP 配置中添加:
{
"mcpServers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"]
}
}
}
Windsurf
在 Windsurf 设置中配置:
{
"mcp": {
"servers": {
"xtb-mcp-server": {
"command": "python",
"args": ["path/to/xtb-mcp-server/main.py"]
}
}
}
}
使用示例
示例 1:基本几何优化
用户: "为水分子生成使用 GFN2 方法的几何优化 XTB 输入文件"
AI 助手回应:
我将为水分子生成使用 GFN2 方法的几何优化 XTB 输入文件。
[使用 generate_xtb_input_package 工具]
生成的文件:
- structure.xyz:水分子坐标
- xcontrol:使用 GFN2 方法的优化设置
- run_xtb.sh:执行脚本
优化将使用紧收敛标准和 GFN2 方法以获得准确结果。
示例 2:溶剂中的频率计算
用户: "我需要在甲苯溶剂中对苯进行频率计算。你能设置输入文件吗?"
AI 助手回应:
我将为苯在甲苯溶剂中的频率计算设置输入文件。
[使用带有频率计算类型和甲苯溶剂的 generate_xtb_input_package 工具]
生成的文件包括:
- XYZ 格式的苯结构
- 带有频率计算设置的 xcontrol 文件
- 甲苯溶剂模型(GBSA)
- 温度设置为 298.15 K
计算将提供振动频率和热力学性质。
示例 3:增强采样设置
用户: "为柔性分子的构象采样设置元动力学模拟"
AI 助手回应:
我将为构象采样配置元动力学模拟。
[使用 generate_enhanced_sampling_input 工具]
生成的元动力学设置:
- 集体变量:二面角
- 高斯高度:0.1 kcal/mol
- 高斯宽度:0.2 弧度
- 沉积频率:每 100 步
- 温度:300 K
这将有效探索分子的构象空间。
示例 4:结构格式转换
用户: "将这个 Gaussian 输入转换为 XTB 计算的 XYZ 格式"
AI 助手回应:
我将把您的 Gaussian 输入文件转换为 XTB 计算的 XYZ 格式。
[使用 convert_structure_file_format 工具]
转换成功:
- 从 Gaussian 输入中提取分子几何
- 生成清洁的 XYZ 格式
- 保留原子坐标和元素
- 准备用于 XTB 计算
转换后的结构现在与所有 XTB 计算类型兼容。
可用工具
- generate_xtb_input_package:生成完整的 XTB 输入文件包
- convert_structure_file_format:在分子结构格式之间转换
- validate_xtb_input_files:验证 XTB 输入文件语法和参数
- generate_xcontrol_file:生成具有特定设置的 XTB 控制文件
- explain_xtb_parameters:获取 XTB 参数的详细解释
- generate_enhanced_sampling_input:设置增强采样计算
- generate_wavefunction_analysis_input:配置波函数分析
- generate_oniom_input:设置多层 ONIOM 计算
- generate_spectroscopy_input:配置光谱学计算
- analyze_trajectory:分析分子动力学轨迹
资源
服务器提供对广泛文档和模板的访问:
- 模板:所有计算类型的预配置输入模板
- 参数:GFN0、GFN1 和 GFN2 方法的详细文档
- 格式:输入格式规范和示例
- 帮助:FAQ 和故障排除指南
许可证
本项目采用 MIT 许可证。
贡献
欢迎贡献!请提交 Pull Request 或创建 Issue 来报告错误或建议功能。
支持
如有问题或需要支持,请查看 resources/help/faq.md 或创建 Issue。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。