Token导航 LogoToken导航

MCP Server · 文档知识

Hack MCP

集成铁电模拟与真实AFM实验数据分析的模型上下文协议服务器,用于材料科学领域的实时数据匹配和仿真验证。

stdio官方级别未说明来源级核验工具 13
Jupyter NotebookClaude文档处理

快速开始

作者 / 组织
offthewallace
提供方
offthewallace

工具数量

13

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Hack MCP 属于文档知识类 MCP Server,公开资料标注 13 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

文档知识

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp ferrosim git+https://github.com/ramav87/FerroSim.git@rama-dev

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 13 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

具有真实AFM数据集成的FerroSim MCP服务器

将FerroSim铁电模拟与真实AFM实验数据分析相结合的模型上下文协议(MCP)服务器。

参考文献

本项目建立在以下基础之上:

特性

FerroSim理论侧

  • 创建并运行铁电畴模拟
  • 配置电场、缺陷和材料属性
  • 可视化极化动力学
  • 导出模拟结果

AFM实验侧

  • 加载真实AFM数据 多种格式(.ibw、.h5、.npy、.mat、.txt)
  • 分析铁电畴结构
  • 提取域面积、墙密度和统计信息
  • DTMicrosoft-compatible API
  • 逐行扫描仿真器

理论实验匹配

  • 将模拟结果与AFM实验数据进行比较
  • 计算相关性、MSE、RMSE指标
  • 评估比赛质量

快速开始

安装

# Activate conda environment
source /Users/guanlinhe/miniconda3/bin/activate ferrosim_mcp

# Install dependencies
pip install mcp ferrosim git+https://github.com/ramav87/FerroSim.git@rama-dev
pip install igor2 scipy h5py numpy

用法

1.加载真实AFM数据
from afm_digital_twin import AFMDigitalTwin

# Initialize
afm = AFMDigitalTwin()

# Load data (format auto-detected from extension)
result = afm.load_data("AFM/temp/scan_0001.ibw")  # Igor format
# OR
result = afm.load_data("data/dset_spm1.h5")       # HDF5/USID format

print(f"Loaded scan: {result['scan_id']}")
print(f"Format: {result['format']}")
2.分析域名
# Analyze domain structure
domains = afm.analyze_domain_structure()
print(f"Up domain area: {domains['up_domain_area']*1e12:.2f} μm²")
print(f"Down domain area: {domains['down_domain_area']*1e12:.2f} μm²")
print(f"Wall density: {domains['domain_wall_density']:.3f}")
3.运行MCP服务器
python ferrosim_mcp_server_minimal.py

支持的文件格式

格式扩展名描述状态
Igor二元波.ibwIgor Pro的PFM数据✅ 已测试
HDF5/USID.h5, .hdf5DTM显微镜/sidpy格式✅ 已测试
NumPy.npy二进制NumPy数组✅ 工作
MATLAB.matMATLAB数据文件✅ 工作
文本.txt, .dat纯文本数组✅ 工作

多渠道支持: 自动检测PFM数据中的振幅和相位通道。

api参考

AFM数字孪生

load_data(filepath, data_format=None)

从文件加载真实的AFM扫描数据。

参数:

  • filepath (str):数据文件的路径
  • data_format (str,可选):格式('ibw','h5','npy','mat','tx')。如果无,则自动检测。

退货: 包含scan_id和元数据的词典

analyze_domain_structure(scan_id=None)

分析铁电畴结构。

退货: 词典包含:

  • num_up_domains:像素数
  • num_down_domains:像素数
  • up_domain_area:面积(平方米)
  • down_domain_area:面积(平方米)
  • domain_wall_density:壁密度度量
  • mean_amplitude_up/down:按域划分的平均振幅
get_piezoresponse(scan_id=None)

获取PFM振幅和相位数据。

退货: 带振幅和相位阵列的词典

get_scan(scan_id=None, channels=None)

获取扫描数据(与DTMicrosoft-compatible API兼容)。

退货: (array_list、shape、dtype)元组

scanning_emulator(scan_id=None, scanning_rate=10)

模拟逐行扫描。

产量: 每条扫描线的行数据

MCP工具

AFM工具

  • afm_load_real_scan:加载真实的AFM数据文件
  • afm_analyze_domains:分析域结构
  • afm_get_piezoresponse:获取振幅/相位数据
  • afm_list_scans:列出所有加载的扫描
  • afm_get_scan:获取扫描数据(DTMicrosoftcope API)
  • afm_go_to:将探头移动到位置
  • afm_get_position:获取当前探头位置

FerroSim工具

  • initialize_simulation:创建新的模拟
  • run_simulation:执行模拟
  • get_simulation_results:检索结果
  • visualize_simulation:生成绘图
  • list_simulations:列出所有模拟

理论实验匹配

  • match_simulation_to_afm:将模拟与AFM数据进行比较

工作流示例

完整的分析流程

from afm_digital_twin import AFMDigitalTwin
import numpy as np

# 1. Initialize and load data
afm = AFMDigitalTwin()
result = afm.load_data("AFM/temp/scan_0001.ibw")
scan_id = result['scan_id']

# 2. Analyze domains
domains = afm.analyze_domain_structure(scan_id)
print(f"Domain Analysis Results:")
print(f"  Up domain area: {domains['up_domain_area']*1e12:.3f} μm²")
print(f"  Down domain area: {domains['down_domain_area']*1e12:.3f} μm²")
print(f"  Wall density: {domains['domain_wall_density']:.3f}")

# 3. Get piezoresponse
pfm = afm.get_piezoresponse(scan_id)
amplitude = np.array(pfm['amplitude'])
phase = np.array(pfm['phase'])

# 4. Use DTMicroscope API
array_list, shape, dtype = afm.get_scan(scan_id, channels=['Amplitude', 'Phase'])
data = np.array(array_list, dtype=dtype).reshape(shape)

# 5. Emulate scanning
for line_idx, line_data in enumerate(afm.scanning_emulator(scan_id)):
    # Process line-by-line
    amplitude_line, phase_line = line_data
    # ... process data
    if line_idx >= 10:
        break

测试脚本

test_real_afm_workflow.py

全面的工作流程测试演示:

  • 数据加载
  • 领域分析
  • 压电响应提取
  • DTMicrosoftcope API兼容性
  • 扫描仿真器

运行:

source /Users/guanlinhe/miniconda3/bin/activate ferrosim_mcp
python test_real_afm_workflow.py

数据目录结构

AFM/
├── temp/
│   └── scan_0001.ibw          # Real experimental PFM data
├── 0_AFM_Basic_functionality_COLAB_Hackaton.ipynb
├── 1_AFM_Imperfect_Probe_COLAB_Hackaton.ipynb
└── ...

建筑

简化设计

该系统已经过简化,专注于真实数据:

  1. 无合成数据生成:删除所有合成/模拟数据生成
  2. 仅限真实数据:AFM Digital Twin仅加载和提供实验数据
  3. DTM显微镜兼容性:遵循DTMicrosoftcope API模式
  4. 清洁API:具有基本功能的简化工具集

核心组件

ferrosim_mcp_server_minimal.py  # MCP server with FerroSim + AFM tools
afm_digital_twin.py             # Real AFM data loader and analyzer

配置

Claude桌面集成

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ferrosim-afm": {
      "command": "/Users/guanlinhe/miniconda3/envs/ferrosim_mcp/bin/python",
      "args": [
        "/Users/guanlinhe/github/hackMCP/ferrosim_mcp_server_minimal.py"
      ],
      "env": {
        "PYTHONPATH": "/Users/guanlinhe/github/hackMCP"
      }
    }
  }
}

需求

mcp>=0.1.0
numpy>=1.20.0
scipy>=1.7.0
igor2>=0.5.0
h5py>=3.0.0
ferrosim

许可证

仅供研究使用。有关详细信息,请参阅单个组件许可证。

引用

如果您使用此代码,请引用:

  • FerroSim:
  • DTM显微镜:

工具与能力

工具数量

13

资源数量

0

提示词数量

0

能力标签

Jupyter Notebook本地部署铁电模拟AFM数据分析数字孪生材料科学实验-理论匹配

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

  • 工具数量 13 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在文档知识场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Hack MCP

MCP World · 本页

13stdio有1 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Hack MCP 怎么安装?

公开资料给出的安装命令是 pip install mcp ferrosim git+https://github.com/ramav87/FerroSim.git@rama-dev,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Hack MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Hack MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Hack MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Hack MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP