ABACUS MCP Server

ABACUS MCP Server

Enables first-principles calculations (SCF, structure optimization, molecular dynamics, etc.) for quantum chemistry and materials science using ABACUS, with intelligent parameter suggestions and result analysis through natural language.

Category
访问服务器

README

ABACUS MCP Server

中文 | English | 快速开始 | Quick Start

基于Model Context Protocol (MCP)的ABACUS第一性原理计算服务器。主要用于量子化学和材料科学计算。

主要功能

计算功能

  • SCF计算 - 自洽场电子结构计算
  • 结构优化 - 几何优化和晶胞优化
  • 分子动力学 - MD模拟和轨迹分析
  • 能带结构 - 电子能带结构计算
  • 态密度 - 电子态密度计算
  • 电荷密度 - 电荷密度分析

智能助手

  • 参数建议 - 根据计算类型推荐合适参数
  • 输入验证 - 检查参数设置是否合理
  • 故障诊断 - 帮助解决计算中的问题
  • 成本估算 - 评估计算资源需求

结果分析

  • 智能解释 - 自动分析计算结果
  • 优化建议 - 根据结果提供改进建议
  • 性能监控 - 跟踪计算性能

PyABACUS集成

  • Python接口 - 支持PyABACUS Python接口
  • 模块化分析 - 集成ModuleBase、ModuleNAO、hsolver等模块
  • 工作流指导 - PyABACUS使用示例和最佳实践

安装

系统要求

  • Python 3.8+
  • ABACUS软件包
  • 足够的计算资源

Python依赖

pip install fastmcp ase numpy psutil

ABACUS安装

参考ABACUS官方文档安装。

快速开始

1. 下载代码

git clone <repository-url>
cd abacus-mcp-server

2. 安装依赖

pip install -r requirements.txt

3. 配置ABACUS

确保ABACUS在系统PATH中:

abacus --version

4. 准备赝势文件

mkdir pseudos
# 把赝势文件放到pseudos目录

5. 启动服务器

python src/server.py

MCP客户端配置

Claude Desktop配置

在Claude Desktop设置中添加:

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

Roo Code配置

  1. 打开Roo Code设置
  2. 找到MCP服务器部分
  3. 添加上面的配置

使用示例

基础SCF计算

我想对硅晶体进行SCF计算,请帮我设置参数。

结构优化

我有个钙钛矿结构需要优化几何并计算带隙。

能带结构

计算石墨烯沿Γ-M-K-Γ路径的能带结构。

故障排除

我的ABACUS计算不收敛,SCF一直振荡,帮我看看。

使用指南

基本工作流

  1. 准备赝势文件到 pseudos/ 目录
  2. 在MCP客户端中描述你的计算需求
  3. 服务器会自动设置参数并运行计算
  4. 查看结果和建议

常用计算类型

硅能带结构计算

计算硅晶体的能带结构,晶格常数5.43 Å,沿Γ-X-L-Γ路径。

钙钛矿结构优化

优化BaTiO3几何结构并计算电子性质。

收敛问题诊断

我的MoS2计算不收敛,SCF在-150.5和-150.8 Ry间振荡,用的ecutwfc=80 Ry。

PyABACUS工作流

用PyABACUS分析原子轨道重叠,需要LCAO计算和重叠矩阵。

基本工作流

  1. 创建结构
# 使用create_structure工具创建原子结构
structure = create_structure(
    formula_or_data="Si2",
    input_format="formula",
    crystalstructure="diamond",
    a=5.43
)
  1. 验证输入
# 验证计算参数
validation = validate_input(
    input_params={
        "ecutwfc": 100,
        "scf_thr": 1e-6,
        "basis_type": "pw"
    },
    structure_dict=structure["data"]
)
  1. 运行计算
# 执行SCF计算
scf_result = run_scf(
    structure_dict=structure["data"],
    input_params={
        "ecutwfc": 100,
        "scf_thr": 1e-6
    },
    kpoints_definition={
        "mode": "Monkhorst-Pack",
        "size": [4, 4, 4]
    },
    pseudo_potential_map={"Si": "Si.UPF"}
)
  1. 分析结果
# 查看计算结果和建议
print(scf_result["data"]["interpretation"])
print(scf_result["data"]["recommendations"])

MCP资源

  • abacus://system/status - 系统状态
  • abacus://docs/input_parameters - 参数文档
  • abacus://examples/scf - SCF示例
  • abacus://calculations/{task_id}/results - 计算结果
  • abacus://calculations/{task_id}/logs - 计算日志

配置

环境变量

export ABACUS_COMMAND="/path/to/abacus"
export PSEUDO_DIR="/path/to/pseudos"
export ABACUS_WORK_DIR="/path/to/calculations"

配置文件

创建config.json:

{
  "abacus_command": "abacus",
  "pseudo_base_path": "./pseudos",
  "work_directory": "./calculations"
}

故障排除

常见问题

ABACUS未找到

which abacus
abacus --version

赝势文件缺失

ls -la pseudos/

内存不足

  • 减少ecutwfc值
  • 使用更稀疏的k点网格

调试模式

export LOG_LEVEL="DEBUG"
python src/server.py

PyABACUS集成

安装

git clone https://github.com/deepmodeling/abacus-develop.git
cd abacus-develop/python
pip install .

使用

import pyabacus as m
s = m.ModuleBase.Sphbes()
result = s.sphbesj(1, 0.0)

主要工具

结构管理

  • create_structure - 创建原子结构
  • validate_structure - 验证结构
  • convert_structure - 格式转换

计算执行

  • run_scf - SCF计算
  • run_optimization - 结构优化
  • run_md - 分子动力学

性质分析

  • calculate_band_structure - 能带结构
  • calculate_dos - 态密度
  • calculate_charge_density - 电荷密度

智能助手

  • suggest_parameters - 参数建议
  • diagnose_failure - 故障诊断
  • validate_input - 输入验证

任务管理

  • get_calculation_status - 计算状态
  • list_recent_calculations - 最近计算
  • get_calculation_results - 计算结果

许可证

MIT许可证,详见LICENSE文件。

支持

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选