Sponsored by Deepsite.site

XTB MCP Server / XTB MCP 服务器

Created By
PhelanShao7 months ago
The XTB MCP Server is a Model Context Protocol (MCP) server that provides comprehensive tools for generating Extended Tight-Binding (XTB) quantum chemistry calculation input files. This server integrates seamlessly with AI assistants like Claude, Cursor, and Windsurf to enable intelligent quantum chemistry workflow automation.
Content

XTB MCP Server / XTB MCP 服务器

English | 中文


English

Overview

The XTB MCP Server is a Model Context Protocol (MCP) server that provides comprehensive tools for generating Extended Tight-Binding (XTB) quantum chemistry calculation input files. This server integrates seamlessly with AI assistants like Claude, Cursor, and Windsurf to enable intelligent quantum chemistry workflow automation.

Key Features

  • Complete XTB Input Generation: Support for all major calculation types (singlepoint, optimization, frequency, scan, MD)
  • Multiple XTB Methods: GFN0, GFN1, GFN2, and GFN-FF force field support
  • Structure Format Conversion: XYZ ↔ COORD ↔ Gaussian format handling
  • Advanced Sampling Methods: Metadynamics, pathfinder, normal mode following
  • Wavefunction Analysis: Orbital analysis, population analysis, spectroscopy
  • ONIOM Calculations: Multi-layer QM/MM calculations
  • Input Validation: Comprehensive validation with detailed error reporting
  • Rich Documentation: Extensive parameter documentation and examples

Project Structure

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

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd xtb-mcp-server
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run tests to verify installation:

    python run_tests.py
    

MCP Configuration

Claude Desktop

Add to your Claude Desktop configuration file (claude_desktop_config.json):

{
  "mcpServers": {
    "xtb-mcp-server": {
      "command": "python",
      "args": ["path/to/xtb-mcp-server/main.py"],
      "env": {}
    }
  }
}

Cursor

Add to your Cursor MCP configuration:

{
  "mcpServers": {
    "xtb-mcp-server": {
      "command": "python",
      "args": ["path/to/xtb-mcp-server/main.py"]
    }
  }
}

Windsurf

Configure in Windsurf settings:

{
  "mcp": {
    "servers": {
      "xtb-mcp-server": {
        "command": "python",
        "args": ["path/to/xtb-mcp-server/main.py"]
      }
    }
  }
}

Usage Examples

Example 1: Basic Geometry Optimization

User: "Generate XTB input files for water molecule geometry optimization using GFN2 method"

AI Assistant Response:

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.

Example 2: Frequency Calculation with Solvent

User: "I need to run a frequency calculation for benzene in toluene solvent. Can you set up the input files?"

AI Assistant Response:

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.

Example 3: Enhanced Sampling Setup

User: "Set up a metadynamics simulation for conformational sampling of a flexible molecule"

AI Assistant Response:

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.

Example 4: Structure Format Conversion

User: "Convert this Gaussian input to XYZ format for XTB calculations"

AI Assistant Response:

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.

Available Tools

  1. generate_xtb_input_package: Generate complete XTB input file packages
  2. convert_structure_file_format: Convert between molecular structure formats
  3. validate_xtb_input_files: Validate XTB input file syntax and parameters
  4. generate_xcontrol_file: Generate XTB control files with specific settings
  5. explain_xtb_parameters: Get detailed explanations of XTB parameters
  6. generate_enhanced_sampling_input: Set up enhanced sampling calculations
  7. generate_wavefunction_analysis_input: Configure wavefunction analysis
  8. generate_oniom_input: Set up multi-layer ONIOM calculations
  9. generate_spectroscopy_input: Configure spectroscopy calculations
  10. analyze_trajectory: Analyze molecular dynamics trajectories

Resources

The server provides access to extensive documentation and templates:

  • Templates: Pre-configured input templates for all calculation types
  • Parameters: Detailed documentation for GFN0, GFN1, and GFN2 methods
  • Formats: Input format specifications and examples
  • Help: FAQ and troubleshooting guides

中文

概述

XTB MCP 服务器是一个模型上下文协议(MCP)服务器,为生成扩展紧束缚(XTB)量子化学计算输入文件提供全面的工具。该服务器与 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 服务器集成测试

安装

  1. 克隆仓库:

    git clone <repository-url>
    cd xtb-mcp-server
    
  2. 安装依赖:

    pip install -r requirements.txt
    
  3. 运行测试验证安装:

    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 计算类型兼容。

可用工具

  1. generate_xtb_input_package:生成完整的 XTB 输入文件包
  2. convert_structure_file_format:在分子结构格式之间转换
  3. validate_xtb_input_files:验证 XTB 输入文件语法和参数
  4. generate_xcontrol_file:生成具有特定设置的 XTB 控制文件
  5. explain_xtb_parameters:获取 XTB 参数的详细解释
  6. generate_enhanced_sampling_input:设置增强采样计算
  7. generate_wavefunction_analysis_input:配置波函数分析
  8. generate_oniom_input:设置多层 ONIOM 计算
  9. generate_spectroscopy_input:配置光谱学计算
  10. analyze_trajectory:分析分子动力学轨迹

资源

服务器提供对广泛文档和模板的访问:

  • 模板:所有计算类型的预配置输入模板
  • 参数:GFN0、GFN1 和 GFN2 方法的详细文档
  • 格式:输入格式规范和示例
  • 帮助:FAQ 和故障排除指南

许可证

本项目采用 MIT 许可证。

贡献

欢迎贡献!请提交 Pull Request 或创建 Issue 来报告错误或建议功能。

支持

如有问题或需要支持,请查看 resources/help/faq.md 或创建 Issue。

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
DeepChatYour AI Partner on Desktop
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
ChatWiseThe second fastest AI chatbot™
Tavily Mcp
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
WindsurfThe new purpose-built IDE to harness magic
Serper MCP ServerA Serper MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
CursorThe AI Code Editor
Playwright McpPlaywright MCP server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Amap Maps高德地图官方 MCP Server