内容
# seismo-mcp
> **让 AI 助手通过对话处理地震波形——不写代码,不写脚本。**
[English](#English) · [中文](#中文)
---
## What is this?
**seismo-mcp** 是一座桥,把 AI 助手(Claude、Cursor 等)和地震学家真正在用的软件连起来:[ObsPy](https://obspy.org)、[CWP/SU](https://wiki.seismic-unix.org)、[SAC](https://ds.iris.edu/ds/nodes/dmc/software/downloads/sac/)。
平时,要处理一个地震波形,你得打开终端敲 `sac` 命令,或用 ObsPy 写 Python 脚本。装上 seismo-mcp 后,你只需**用大白话告诉 AI 你要什么**,它就会替你调用相应的工具。
### 一个 30 秒的例子
安装一次。然后在 Claude Desktop 里:
> **你:** 这是 `event.sac`。带通滤波 0.5–2 Hz,去均值,截取 −5 到 30 秒,然后画第一道给我看。
助手会在后台调用 `sac-mcp` 的工具——读头、滤波、预处理、截取、绘图——然后把处理好的文件和图交给你。**你全程没写一行代码。**
```
你: "bandpass 0.5-2 Hz, demean, cut -5 to 30 s, plot"
│
▼ (助手决定调用哪些工具)
┌─────────────────────────────────────────┐
│ seismo-mcp 服务器(已安装) │
│ sac-mcp → sac_filter / preprocess / │
│ cut / plot │
└─────────────────────────────────────────┘
│
▼ (服务器运行真正的软件)
SAC / ObsPy / CWP-SU (你的本地安装)
│
▼
处理后的文件 + 图形,交给您
```
## Why would I want this?
- **研究者和学生**——跳过"这个命令怎么写来着"的折腾,描述你要的处理,直接拿结果。
- **跨工具链的工作流**——ObsPy、SU、SAC 各说各的方言;seismo-mcp 给了助手一个统一的方式触达三者。
- **教学和演示**——用大白话现场展示地震处理过程,不用满屏的 shell 命令。
## How do I use it?
### 1. 安装你需要的 server(按需,互相独立)
| Server | 适用场景 | 安装命令 |
|---|---|---|
| **obspy-mcp** | ObsPy / 通用波形读写 | `claude mcp add obspy -- uvx obspy-mcp` |
| **cwp-su-mcp** | CWP/SU 反射地震处理 | `claude mcp add su -- uvx cwp-su-mcp` |
| **sac-mcp** | SAC 波形分析 | `claude mcp add sac -- uvx sac-mcp` |
| **gmt-mcp** | 地图与绘图(PyGMT)| `claude mcp add gmt -- uvx gmt-mcp` |
> **前提:** 相应软件需已装在本机(ObsPy 会由 `obspy-mcp` 自动安装;CWP-SU、SAC 和 GMT 二进制需自行安装)。详见[安装指南](docs/INSTALL.md)。
**2. 重启 AI 助手,直接开口**
装好后重启 Claude Desktop(或其他支持 MCP 的客户端),然后用大白话描述需求,助手会自动调用工具。
**可以这样说:**
- *"读一下 `shot.su`,多少道?采样率多少?"*
- *"把这个 SAC 文件带通滤波 2–10 Hz,然后画出来。"*
- *"把 `trace.sac` 转成 MiniSEED。"*
- *"对 `gather.su` 做 0.5 秒窗口的 AGC,然后按 offset 排序。"*
## What's inside?
三个独立 server,各封装一个工具链:
| Server | 能做什么 |
|---|---|
| **[obspy-mcp](packages/obspy-mcp)** | 读各种波形格式(SAC/MSEED/SEG-Y…)、滤波、预处理、重采样、格式转换、绘图。 |
| **[cwp-su-mcp](packages/cwp-su-mcp)** | 地震 Unix 道处理:读头、滤波、增益(AGC)、时窗、排序、设头。 |
| **[sac-mcp](packages/sac-mcp)** | SAC 波形操作:读头、预处理、滤波、截取、合并、去仪器响应。 |
| **[gmt-mcp](packages/gmt-mcp)** | 地图与绘图:底图、海岸线、震中/台站分布、x-y 图、文字标注。 |
## Who is this for?
- **地震学家**,希望更快地驱动现有的工具。
- **学生**,学习地震学——用大白话描述每个操作。
- **任何好奇**,关于连接科学软件和 AI 助手的人。
## Learn more
- 📖 **[安装指南](docs/INSTALL.md)** —— 分步设置(ObsPy、CWP-SU、SAC、uv)。
- 🛠 **[设计与技术细节](docs/DESIGN.md)** —— 为什么一工具链一 server、三种封装模式、解决了哪些坑。
- 🔧 **[各 server 的 README](packages/)** —— 完整工具表和示例。
## Status
已在真实安装的 ObsPy / CWP-SU / SAC / PyGMT 上测试通过。四个 server、约 28 个工具。欢迎反馈和贡献。
## License
MIT —— 见 [LICENSE](LICENSE)。
---
<a id="中文"></a>
## 中文
(已在上方展示)
---
<a id="English"></a>
## English
(已在上方展示)