e

electrochemical_server

wavexmu/electrochemical_server
0 Stars 3 次浏览 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "electrochemistry-mcp-server": {
      "args": [
        "C:\\Users\\Cheng Wang\\Desktop\\教育部大模型项目\\尝试搭建MCP\\Try_MCP\\electrochem_mcp_server.py"
      ],
      "command": "D:\\anaconda3\\envs\\pytorch_cuda12\\python.exe"
    }
  }
}

服务介绍

电化学MCP服务器 (Electrochemical MCP Server)

一个用于大模型调用电化学工具的集成平台,提供原电池电动势计算等功能。

项目简介

电化学MCP服务器是一个基于Python和官方MCP SDK构建的Model Context Protocol (MCP)服务,旨在为大模型提供电化学工具调用接口,实现大模型与电化学计算工具的无缝集成。

核心功能

  • 原电池电动势计算: 提供基于标准电极电势和Nernst方程的电化学电势计算
  • 📋 标准电极数据库: 内置多种常见电极的标准电势数据
  • 🤖 MCP协议支持: 完全符合Model Context Protocol标准
  • 📦 模块化设计: 易于扩展和维护

技术栈

  • Python 3.10+
  • 官方MCP SDK
  • asyncio (异步编程)

快速开始

安装依赖

确保已经安装了Python 3.10或更高版本,然后安装MCP SDK:

pip install mcp

启动服务器

直接运行服务器文件:

python electrochem_mcp_server.py

服务器将以stdio模式启动,等待MCP客户端连接。

MCP客户端配置

在支持MCP协议的客户端(如Claude Desktop)中使用以下JSON配置:

{
  "mcpServers": {
    "electrochemistry-mcp-server": {
      "command": "D:\\anaconda3\\envs\\pytorch_cuda12\\python.exe",
      "args": [
        "C:\\Users\\Cheng Wang\\Desktop\\教育部大模型项目\\尝试搭建MCP\\Try_MCP\\electrochem_mcp_server.py"
      ],
      "cwd": "C:\\Users\\Cheng Wang\\Desktop\\教育部大模型项目\\尝试搭建MCP\\Try_MCP"
    }
  }
}

可用工具

1. calculate_cell_potential

计算原电池的电动势,考虑标准电极电势和Nernst方程。

参数

  • cathode: 阴极电对 (如 "Cu2+/Cu")
  • anode: 阳极电对 (如 "Zn2+/Zn")
  • concentration_cathode: 阴极离子浓度 (默认: 1.0 M)
  • concentration_anode: 阳极离子浓度 (默认: 1.0 M)
  • temperature: 温度 (默认: 298.15 K)

响应示例

{
  "cathode": {
    "electrode": "Cu2+/Cu",
    "E_standard": 0.34
  },
  "anode": {
    "electrode": "Zn2+/Zn",
    "E_standard": -0.76
  },
  "E_cell_standard_V": 1.1,
  "E_cell_actual_V": 1.1296,
  "n_electrons": 2,
  "is_spontaneous": true,
  "conditions": {
    "concentration_cathode_M": 1.0,
    "concentration_anode_M": 0.1,
    "temperature_K": 298.15
  }
}

2. list_electrodes

列出所有内置的标准电极电势数据。

参数:无

响应示例

[
  {
    "electrode": "Li+/Li",
    "E_standard_V": -3.04,
    "n_electrons": 1
  },
  {
    "electrode": "K+/K",
    "E_standard_V": -2.93,
    "n_electrons": 1
  },
  ...
]

3. get_electrode_potential

获取特定电极的标准电势数据。

参数

  • electrode: 电极电对 (如 "Cu2+/Cu")

响应示例

{
  "electrode": "Cu2+/Cu",
  "E_standard_V": 0.34,
  "n_electrons": 2
}

项目结构

Try_MCP/
├── electrochem_mcp_server.py  # 电化学MCP服务器主程序
├── test_electrochem.py        # 服务器测试文件
└── README.md                  # 项目文档

使用示例

在支持MCP的AI模型中,您可以这样使用这些工具:

我想计算一个Cu-Zn原电池的电动势,其中铜离子浓度为1.0M,锌离子浓度为0.1M,温度为25°C。请使用calculate_cell_potential工具。

或者:

请列出所有可用的电极电势数据,使用list_electrodes工具。

测试服务器

运行测试脚本验证服务器功能:

python test_electrochem.py

扩展开发

添加新的电极电势

electrochem_mcp_server.py文件中,找到STANDARD_ELECTRODE_POTENTIALS字典,添加新的电极数据:

STANDARD_ELECTRODE_POTENTIALS = {
    "新电极": (电势值, 转移电子数),
    # 其他电极...
}

添加新的工具

  1. electrochem_mcp_server.py文件中,定义新的工具函数
  2. 使用@server.tool()装饰器注册工具
  3. @server.list_tools()中添加工具信息
  4. @server.call_tool()中处理工具调用

注意事项

  1. 确保使用正确的Python环境,该环境需要安装mcp库
  2. 服务器使用stdio与MCP客户端通信,不需要网络端口
  3. 内置的电极电势数据基于标准条件(25°C, 1 atm)

许可证

MIT License

联系信息

如有问题或建议,请随时联系项目维护者。

相关 MCP 服务