Token导航 LogoToken导航TokenDH.com
Orca MCP Server logo
开发工具未说明官方级别未说明来源级核验

Orca MCP Server

MCP Server

MCP server dedicated to the generation and management of input files for ORCA quantum chemical calculations.

工具数

3

提示词数

0

GitHub Stars

18

资源数

0
TypeScriptClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

PhelanShao

提供方

PhelanShao

最后核验

2026/5/18 04:04

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ORCA MCP服务器

ORCA量子化学软件的模型上下文协议(MCP)服务器,提供用于生成、验证和优化ORCA输入文件的智能工具。

概述

ORCA MCP服务器是一个综合工具,旨在帮助量子化学研究人员和计算化学家进行ORCA计算。它为以下方面提供智能辅助:

  • 输入文件生成:根据分子结构和计算要求自动生成ORCA输入文件
  • 语法验证:验证ORCA输入文件语法并检测常见错误
  • 参数优化:推荐最佳基组、SCF设置和内存配置
  • 收敛诊断:分析失败的计算并提出修复建议
  • 关键字管理:建议适当的关键字并检测冲突

特性

核心功能

  • 🔧 输入文件生成:根据分子坐标和计算参数创建完整的ORCA输入文件
  • ✅ 语法验证:对ORCA输入文件语法进行全面验证,并提供详细的错误报告
  • 💡 关键字建议:基于计算类型和当前设置的智能关键字推荐
  • 🎯 参数优化:对基集、SCF设置和内存分配的智能建议
  • 🔍 收敛诊断:分析SCF收敛失败并提供有针对性的解决方案

支持的计算类型

  • 单点能量计算
  • 几何优化
  • 频率计算
  • 组合优化+频率
  • TD-DFT(时变DFT)
  • MP2和耦合聚类方法
  • 核磁共振和EPR计算

坐标格式支持

  • XYZ坐标:标准笛卡尔坐标
  • 内部坐标:Z矩阵格式
  • 外部文件:对.xyz和.gzmt文件的引用

安装

先决条件

  • Node.js 18+
  • npm或纱线
  • TypeScript 5.0+

再进行

npm install

构建服务器

npm run build

运行测试

npm test

跑步有保障

npm run test:coverage

用法

作为MCP服务器

该服务器可以与任何兼容MCP的客户端一起使用。配置您的客户端以使用stdio传输连接到此服务器。

Claude Desktop的配置示例:

{
  "mcpServers": {
    "orca-mcp-server": {
      "command": "node",
      "args": ["path/to/orca-mcp-server/build/index.js"],
      "env": {}
    }
  }
}

可用工具

generate_input_file

根据计算参数生成完整的ORCA输入文件。

参数:

  • calculation_type (string):计算类型(“单点”、“优化”、“频率”等)
  • charge (数字):分子电荷
  • multiplicity (number):自旋多重性
  • coordinates_xyz_or_internal (字符串,可选):分子坐标
  • keywords (数组,可选):其他ORCA关键字
  • accuracy_level (字符串,可选):“低”、“中”或“高”
  • blocks (对象,可选):自定义参数块

例子:

{
  "calculation_type": "optimization",
  "charge": 0,
  "multiplicity": 1,
  "coordinates_xyz_or_internal": "C 0.0 0.0 0.0\nH 0.0 0.0 1.0\nH 0.0 1.0 0.0\nH 1.0 0.0 0.0",
  "keywords": ["B3LYP", "def2-SVP"],
  "accuracy_level": "medium"
}

validate_input_syntax

验证ORCA输入文件的语法并检测常见错误。

参数:

  • inputContent (string):完成ORCA输入文件内容

退货:

  • 验证状态和详细的错误报告

suggest_keywords

根据计算类型和当前关键字获取关键字建议。

参数:

  • calculation_type (string):预期计算类型
  • current_keywords (数组,可选):已存在关键字

退货:

  • 带解释的推荐和可选关键字

编程接口

您还可以直接在TypeScript/JavaScript代码中使用服务器组件:

import { KeywordManager } from './src/core/keywordManager.js';
import { CoordinateProcessor } from './src/core/coordinateProcessor.js';
import { CalculationTemplateEngine } from './src/core/calculationTemplateEngine.js';

// Initialize components
const keywordManager = new KeywordManager();
const coordinateProcessor = new CoordinateProcessor();
const templateEngine = new CalculationTemplateEngine();

// Parse coordinates
const molecule = coordinateProcessor.parse_xyz_coordinates(
  'C 0.0 0.0 0.0\nH 0.0 0.0 1.0',
  0, 1
);

// Generate template
const template = templateEngine.generate_dft_template(molecule, 'B3LYP', 'def2-SVP');

// Validate keywords
const validation = await keywordManager.validate_keyword_combination(['B3LYP', 'def2-SVP', 'Opt']);

建筑

核心组件

  • 关键字管理器:管理ORCA关键字,验证组合,并建议缺少的关键字
  • 坐标处理器:处理分子坐标解析和验证
  • 参数BlockManager:生成ORCA参数块(%scf、%basis等)
  • 计算模板引擎:为不同的作业类型创建计算模板

智能组件

  • 参数推荐引擎:为基础集、SCF设置和内存提供智能建议
  • 融合诊断:分析收敛失败并提出解决方案
  • ORCA输入验证器:全面的输入文件验证

类型系统

服务器使用在 src/types/orca.types.ts 这包括:

  • 分子结构和坐标格式
  • ORCA计算类型和参数
  • 验证结果和错误报告
  • 建议和诊断结果

例子

基本DFT优化

// Generate input for geometry optimization
const result = await generateInputFile({
  calculation_type: "optimization",
  charge: 0,
  multiplicity: 1,
  coordinates_xyz_or_internal: `
    C 0.0 0.0 0.0
    H 0.0 0.0 1.0
    H 0.0 1.0 0.0
    H 1.0 0.0 0.0
    H -1.0 0.0 0.0
  `,
  accuracy_level: "medium"
});

console.log(result.content);
// Output:
// ! B3LYP-D3BJ def2-SVP Opt
// 
// %pal NProcs 2 end
// 
// * xyz 0 1
// C 0.0 0.0 0.0
// H 0.0 0.0 1.0
// H 0.0 1.0 0.0
// H 1.0 0.0 0.0
// H -1.0 0.0 0.0
// *

重元素计算

// Get recommendations for heavy elements
const basisRecommendation = await recommendationEngine.recommend_basis_set(
  ['Au', 'Cl'],
  'high',
  2
);

console.log(basisRecommendation);
// Output:
// {
//   orbital_basis: "SARC-DKH-TZVP",
//   auxiliary_basis_jk: "SARC/JK",
//   auxiliary_basis_cosx: "SARC/J",
//   relativistic_method: "DKH",
//   reasoning: "High accuracy with heavy elements: SARC-DKH-TZVP with DKH relativistic treatment is recommended."
// }

SCF融合故障排除

// Analyze convergence failure
const diagnosis = convergenceDiagnostic.analyze_scf_failure(`
  SCF NOT CONVERGED AFTER 125 ITERATIONS
  oscillating behavior in DIIS
  Energy change: 1.234e-03
`);

console.log(diagnosis);
// Output:
// {
//   problem_type: "SCF_OSCILLATION",
//   summary: "SCF convergence is likely hindered by oscillating behavior...",
//   recommendations: [
//     "Try damping: %scf DampFac 0.7 DampErr 0.05 end",
//     "Use a level shifter: %scf Shift Shift 0.5 Erroff 0.1 end"
//   ],
//   suggested_keywords_add: ["VerySlowConv"],
//   suggested_block_modifications: {
//     scf: "DampFac 0.7\nDampErr 0.05"
//   }
// }

测试

该项目包括全面的测试覆盖范围:

# Run all tests
npm test

# Run tests with coverage
npm run test:coverage

# Run tests in watch mode
npm run test:watch

测试结构

  • 单元测试:单个组件测试

- tests/core/:核心功能测试 - tests/intelligent/:AI/ML组件测试 - tests/validation/:验证系统测试

  • 集成测试:端到端工作流测试

- tests/integration/:完成工作流测试

发展

项目结构

orca-mcp-server/
├── src/
│   ├── core/                 # Core functionality
│   │   ├── keywordManager.ts
│   │   ├── coordinateProcessor.ts
│   │   ├── parameterBlockManager.ts
│   │   └── calculationTemplateEngine.ts
│   ├── intelligent/          # AI/ML components
│   │   ├── parameterRecommendationEngine.ts
│   │   └── convergenceDiagnostic.ts
│   ├── validation/           # Validation systems
│   │   └── orcaInputValidator.ts
│   ├── types/               # TypeScript definitions
│   │   └── orca.types.ts
│   └── index.ts             # MCP server entry point
├── tests/                   # Test suites
├── build/                   # Compiled JavaScript
└── docs/                    # Documentation

建筑

# Development build
npm run build

# Watch mode for development
npm run watch

代码质量

该项目使用:

  • TypeScript 用于类型安全
  • 开玩笑 用于测试
  • ESLint 用于代码过滤
  • 更漂亮 用于代码格式化

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 添加新功能的测试
  5. 确保所有测试通过(npm test)
  6. 提交您的更改(git commit -m 'Add amazing feature')
  7. 推到分支(git push origin feature/amazing-feature)
  8. 打开拉取请求

开发指南

  • 为新功能编写全面的测试
  • 遵循TypeScript的最佳实践
  • 记录公共API
  • 使用有意义的提交消息
  • 确保向后兼容性

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

  • ORCA量子化学包 -此服务器支持的量子化学软件
  • 模型上下文协议 -此服务器实现的协议框架
  • TypeScript社区 -卓越的工具和类型系统

支持

对于问题、议题或贡献:

  1. 检查 问题
  2. 创建包含详细信息的新问题
  3. 加入项目论坛的讨论

路线图

即将推出的功能

  • \[ \] 上下文7集成:加强文件查找和建议
  • \[ \] 基础集优化:基于分子特性的自动基组选择
  • \[ \] 作业监控:与ORCA作业状态监控集成
  • \[ \] 结果分析:计算后分析和可视化工具
  • \[ \] 模板库:可扩展的计算模板库
  • \[ \] 性能分析:计算性能分析和优化

长期目标

  • \[ \] 机器学习集成:基于ML的参数优化
  • \[ \] 多软件支持:支持其他量子化学软件包
  • \[ \] web界面:MCP服务器的基于浏览器的界面
  • \[ \] 云集成:支持基于云的计算
  • \[ \] 协作功能:多用户计算共享和协作

______________________________________________________________________

备注:这是一个独立的项目,与ORCA量子化学软件包开发商没有正式联系。

目录标签

目录标签

TypeScriptClaude开发工具developer-tools量子化学本地部署计算化学输入文件生成语法验证参数优化

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP