关于 Iran Earthquakes
Iran Earthquakes 是供 Agent 查询地震目录的只读 MCP 服务,数据来自 USGS、EMSC 和 IRSC。它面向伊朗提供事件搜索与统计,并保留各数据源结果及 UTC、德黑兰时间。
主要功能
- 01查看最新地震列表
- 02按日期、震级、地点或范围搜索
- 03列出近期最强地震
- 04获取单次地震详情
- 05汇总地震活动统计
适用场景
- 01查询某城市或省份附近的近期地震
- 02查找指定时段内震级最大的事件
- 03查看事件深度和来源详情
- 04按震级区间查看地震数量
MCP 相关
通过 stdio 向 MCP 客户端提供五种只读工具,可查询 USGS、EMSC 和 IRSC 的公开地震数据源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx iran-quake-mcpIRAN_QUAKE_MCP_PROXYOptional HTTP proxy URL for reaching USGS/EMSC; system proxy settings are ignored. Also accepts a comma-separated list: one is used until it gets blocked or fails to connect, then the next.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
iran-quake-mcp:面向 AI Agent 的伊朗地震 MCP 服务
让你的 AI Agent 查询伊朗最新地震(زلزله ایران)。
一个非官方、只读的 MCP 服务,提供来自 USGS、EMSC 和 伊朗地震中心 的地震数据:
最新地震、历史搜索、最强地震、单次地震详情和活动统计,可通过 Claude、Cursor 或 Copilot 使用。
面向 AI Agent
- **简介:**面向伊朗地震的非官方 MCP 服务(模型上下文协议)。数据源:USGS ComCat(
source="usgs",默认)、通过 SeismicPortal 获取的 EMSC 数据(source="emsc")和伊朗地震中心(source="irsc",仅包含其最新约 20 条事件,并提供省份名称)。不同数据源不会合并;它们的事件 ID 各不相同。 - 安装:
uvx iran-quake-mcp或claude mcp add iran-quake -- uvx iran-quake-mcp。传输方式:stdio。需要安装 uv(Python 3.10+)。 - **身份验证:**无需身份验证、API 密钥或账户。可选设置
IRAN_QUAKE_MCP_PROXY(HTTP 代理 URL 或逗号分隔的列表);系统代理设置会被忽略。 - **访问权限:**只读。无法写入或订阅,因此调用任何工具前都无需确认。
- **工具:**共 5 个,名称均以
eq_开头。典型调用顺序:eq_latest或eq_significant-> 使用列表中的 ID 调用eq_detail。按日期范围、边界框或地点搜索时使用eq_search;查询数量时使用eq_stats。 - **适用场景:**用户询问伊朗近期或过去的地震、最强地震、某个省份或城市附近的地震,或某个时期的地震活动情况时。
- **不适用场景:**用户需要官方警告或警报(这不是预警服务;请参阅伊朗地震中心 irsc.ut.ac.ir),或询问伊朗及其邻国以外的地震时。
- 单位:
time_utc(UTC)和time_tehran(UTC+03:30,不实行夏令时);搜索日期使用 UTC;depth_km的单位为千米;mag_type(mb、ml、mw……)表示震级类型。 - **回复:**每次调用最多返回 50 条事件(
limit为 1-50),最多约 12 KB,不超过 15 KB。 - 机器可读信息:
server.json和 iran-mcp 目录。
为什么
地震数据源是为地震学家设计的:服务器各不相同,ID 格式不同,时间戳使用 UTC,也没有省份字段。要问“本周克尔曼附近有没有 4.5 级以上地震?这个月伊朗最强的一次是什么?”,就得查询地图或搜索表单,还要手动换算时间。使用 iran-quake-mcp,Agent 只需调用几次工具就能回答,并给出简短摘要,时间采用德黑兰时间,深度单位为千米。
你: 过去 30 天里,伊朗发生过强震吗?
Agent: 调用
eq_significant(days=30, min_magnitude=5.0)-> 对最大的一次调用eq_detail(...)它会按震级从大到小列出事件,并提供震级、地点、深度和德黑兰时间,然后补充最大一次事件的审核状态和有感报告。
每条回复都不超过 15 KB(最大约 12 KB),不会占满 Agent 的上下文。
功能
- 按最低震级和回溯小时数查询伊朗最新地震,按时间从新到旧排列
- 按 UTC 日期范围、震级范围、边界框和地点文本搜索,并按时间或震级排序
- 查询过去 N 天内的最强地震,按震级从大到小排列
- 按 ID 查询单个事件的完整信息:USGS 提供审核状态、有感/震感、海啸标记和质量信息;EMSC 提供机构和更新时间;IRSC 提供最近城镇
- 查询时间范围内的统计数据:按震级区间统计数量、热门地点和最强事件
- 一个服务整合三个数据源:USGS、EMSC 和伊朗地震中心
- 按设计仅支持读取:不会写入数据或订阅内容
示例提示词:
- “显示过去 48 小时内伊朗所有 4 级及以上地震。”
- “过去一年里,伊朗最强的 10 次地震是什么?”
- “这个月克尔曼附近有地震吗?”
- “给我过去 30 天伊朗的地震统计数据。”
- “提供伊朗地震中心数据源中最新一次地震的详情,包括省份。”
- آخرین زلزلههای ایران در ۲۴ ساعت گذشته کداماند؟
- قویترین زلزلههای ماه اخیر در ایران را با عمق و ساعت تهران بده.
- آیا در هفته گذشته در هرمزگان زلزله بالای ۴ ریشتر آمده؟
快速开始
你需要安装 uv。无需 API 密钥或账号。
Claude Code
claude mcp add iran-quake -- uvx iran-quake-mcp
Claude Desktop
前往“设置” →“开发者”→“编辑配置”,然后添加:
{
"mcpServers": {
"iran-quake": { "command": "uvx", "args": ["iran-quake-mcp"] }
}
}
Cursor
将上面的 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。
VS Code(Copilot Agent 模式)
点击上方的 在 VS Code 中安装,或添加到 .vscode/mcp.json:
{
"servers": {
"iran-quake": { "type": "stdio", "command": "uvx", "args": ["iran-quake-mcp"] }
}
}
Codex CLI
codex mcp add iran-quake -- uvx iran-quake-mcp
或者添加到 ~/.codex/config.toml:
[mcp_servers.iran-quake]
command = "uvx"
args = ["iran-quake-mcp"]
Gemini CLI
添加到 ~/.gemini/settings.json:
{
"mcpServers": {
"iran-quake": { "command": "uvx", "args": ["iran-quake-mcp"] }
}
}
Windsurf
将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。
其他客户端
这是一个标准的 stdio MCP 服务:运行 uvx iran-quake-mcp,或者运行 pip install iran-quake-mcp 后再运行 iran-quake-mcp。
列表工具(eq_latest、eq_search、eq_significant、eq_stats)可选参数为 source(默认为 usgs、emsc、irsc)和 iran_only(默认为 true)。
| 工具 | 功能 |
|---|---|
eq_latest | 按时间倒序列出伊朗最近发生的地震 |
eq_search | 按日期范围、震级、边界框和地点文本搜索伊朗地震 |
eq_significant | 按震级从高到低列出伊朗近期最强的地震 |
eq_detail | 获取一场地震的完整信息:位置、depth_km、震级类型和数据源质量字段 |
eq_stats | 统计指定时间段内伊朗地震的数量:按震级区间、地点统计,并列出最强事件 |
这 5 个工具均标注为 readOnlyHint: true。
工作原理
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
iran-quake-mcp (runs on your machine)
│
│ HTTPS (IRSC: plain HTTP)
├──────▶ earthquake.usgs.gov USGS FDSN event API
├──────▶ www.seismicportal.eu EMSC FDSN event API
└──────▶ irsc.ut.ac.ir events_list.xml
iran-quake-mcp 在本地运行,并调用 USGS、EMSC 和 IRSC 的公共数据源。中间没有托管服务,也不需要 API 密钥。它每次最多发送 2 个请求,中间加入少量随机延迟,缓存结果 60 秒;GET 请求失败时最多重试 4 次(USGS 偶尔会返回 502);响应正文大小上限为 5 MB,且只与这三个主机通信。它只读取数据。
须知
- 时间:
time_utc为 UTC,time_tehran为 UTC+03:30(自 2022 年起不再实行夏令时)。搜索日期均为 UTC。深度字段为depth_km,数值为正。 - **震级:**类型在
mag_type中(mb、ml、mw 等)。不同类型或数据源的数值无法完全直接比较。 - **数据源相互独立:**结果不会合并或去重,ID 也各不相同。
eq_detail只接受事件 ID,并根据其格式识别数据源:EMSC 的 ID 格式为20261014_0000009,IRSC 的 ID 为213549这类纯数字(仅能在其最近约 20 个事件中找到),其他格式则归为 USGS。 - **默认仅限伊朗境内:**事件必须位于伊朗的大致边界范围内(陆地边界约留出 0.3 度余量,另包括波斯湾、阿曼湾和里海的伊朗水域),且地点文本必须包含伊朗、波斯湾、阿曼湾或里海。边境另一侧的事件会被排除。
iran_only=false则返回 24-40 N、43.5-64 E 范围内的所有事件。 - **地点:**USGS 和 EMSC 没有省份字段(USGS 提供最近的城镇,EMSC 提供地区)。
place可接受省份名称(Tehran、Kerman、Hormozgan、Khuzestan、Fars、Sistan and Baluchestan、Kermanshah、Razavi Khorasan、East Azerbaijan、West Azerbaijan、Bushehr、Mazandaran),并据此选取可能与相邻省份重叠的大致范围。其他文本会按英文、不区分重音符号的子字符串进行匹配。IRSC 的地点格式为Town, Province。 - **IRSC:**数据读取自
http://irsc.ut.ac.ir/events_list.xml(纯 HTTP;其 HTTPS 已关闭)。该源仅列出最近约 20 个事件,不提供震级类型或历史记录,因此当日期范围延伸到更早时期时,more为 true。数据仅获准用于非商业和人道主义用途,且必须注明伊朗地震中心(德黑兰大学)。 - 回复大小:
limit最大为 50。如果原始抓取结果达到 3000 行,eq_stats会将truncated设为 true。 - **延迟和修订:**数据源会延迟列出小规模地震,也会在之后修订数值。USGS 的冷查询可能需要约 10 秒。
- **不提供的功能:**不提供警报、推送通知、地震预警、震动地图或损失估算。
- **网络:**如果无法直接访问数据源,请设置
IRAN_QUAKE_MCP_PROXY。系统代理变量会被有意忽略。
常见问题
有提供伊朗地震数据的 MCP 服务吗?
有。iran-quake-mcp 是一个非官方 MCP 服务,提供 5 个只读工具。它会读取 USGS、EMSC 和 IRSC 的公开数据源,并为 AI Agent 返回精简的 JSON。
它使用哪些数据源?
USGS ComCat(默认)、通过 SeismicPortal 获取的 EMSC 数据,以及伊朗地震中心(IRSC,德黑兰大学)的数据。
使用 source 参数选择其中一个。它们不会合并。
如何在 Claude、Cursor 或 Copilot 中使用?
使用 claude mcp add iran-quake -- uvx iran-quake-mcp 添加服务,或使用快速开始中的相应配置,然后用波斯语或英语提问。
这是地震预警服务吗?
不是。它读取的是事后列出事件的公开目录,有时会有延迟,而且数据可能会修订。官方信息请查看伊朗地震中心(irsc.ut.ac.ir)。
它使用什么时间?
每个事件都有 time_utc 和 time_tehran(UTC+03:30,不实行夏令时)。传入的搜索日期使用 UTC。
可以按省份或城市搜索吗?
部分支持。USGS 和 EMSC 数据源没有省份字段。要使用近似范围(可能与邻省重叠),请在 place 中传入须知列表中的省份名称;也可以传入其他英文文本,以匹配最近的城镇或地区,或者传入 bbox。IRSC 数据行包含 Town, Province 文本。
为什么 IRSC 数据源显示的事件这么少?
IRSC 数据源只列出最新的约 20 个事件,没有历史记录。要查询更长时间范围,请使用 usgs 或 emsc。
为什么有些附近的地震没有显示?
默认情况下,只返回粗略伊朗边界范围内的事件,因此会排除跨越边境的事件。传入 iran_only=false 可包含邻国事件。
如何调试 Agent 能看到的内容?
npx @modelcontextprotocol/inspector uvx iran-quake-mcp
配置
| 变量 | 默认值 | 含义 |
|---|---|---|
IRAN_QUAKE_MCP_PROXY | unset | 用于访问 USGS/EMSC 的可选 HTTP 代理 URL;系统代理设置会被忽略。若提供以逗号分隔的列表,则会依次使用:某个代理被屏蔽或无法连接时,将改用下一个代理 |
波斯语:伊朗地震 MCP 服务
iran-quake-mcp 是一个非官方、只读的伊朗地震数据 MCP 服务。它允许您的 AI 助手(Claude、Cursor、Copilot 等)从 USGS、EMSC 和伊朗国家地震中心(IRSC)的公开来源读取 最新地震、强震、历史记录和伊朗地震活动统计数据。
功能
- 最新地震:可按最低震级和过去小时数筛选,按最新时间排序。
- 搜索:可按日期范围(UTC)、震级、地理范围以及地点或省份名称筛选。
- 最强地震:显示过去几天震级最高的地震,按震级从高到低排序。
- 地震详情:通过 ID 查看深度、震级类型、审核状态和来源。
- 统计数据:查看指定时间范围内的地震数量(按震级分类)、最常出现的地点和最强事件。
注意事项
- 该服务仅供查询,不提供地震警报或预测;如需官方信息,请访问伊朗国家地震中心(irsc.ut.ac.ir)。
- 每个事件的时间同时以 UTC 和德黑兰时间(UTC+03:30)提供;深度单位为公里。
- 各来源的数据不会合并,且使用不同的 ID。IRSC 来源仅包含最近约 20 条事件。
- USGS 和 EMSC 不提供省份字段;省份名称(英文,例如 Kerman)会用于选择其大致范围。
- 无需 API 密钥,并在您自己的系统上运行。如有需要,请将
IRAN_QUAKE_MCP_PROXY变量设置为 HTTP 代理。
安装(请先安装 uv)。在 Claude Code 中:
claude mcp add iran-quake -- uvx iran-quake-mcp
在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分中的相同配置。
示例问题
- “过去 24 小时内伊朗发生了哪些最新地震?”
- “请显示伊朗过去一个月最强的地震。”
- “本周克尔曼是否发生过震级高于 4 级的地震?”
- “请提供伊朗过去 30 天的地震统计数据。”
开发
git clone https://github.com/sepehr071/iran-quake-mcp && cd iran-quake-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline unit tests
uv run python -m pytest -m live -q # calls the real USGS/EMSC feeds
uv build
所有工具都位于 src/iran_quake_mcp/quakes.py 中;每个工具都是带类型标注的异步函数,并附有说明何时使用它的文档字符串。欢迎提交问题和 PR。
发布:更新 pyproject.toml 和 server.json 中的版本,然后推送 v* 标签。GitHub Actions 会发布到 PyPI。
相关服务
- iran-mcp:伊朗各类服务 MCP 服务目录
- iran-news-mcp:伊朗新闻
- iran-apps-mcp:伊朗应用
- iran-tax-mcp:伊朗税务和 Codal 数据
- tgju-mcp:来自 TGJU 的美元、黄金、金币和大宗商品价格
免责声明
本项目未经授权,与 USGS、EMSC 或伊朗地震中心无关联,也未获其认可。本项目仅供查询。 地震数据仅供参考,可能存在延迟,且来源会对数据进行修订;本项目不提供预警服务。请查看 各来源的使用条款:IRSC 数据仅授权用于非商业、人道主义用途,且必须注明伊朗地震中心(德黑兰大学)。
作者
由 Sepehr Radmard(سپهر رادمرد)构建并维护。欢迎在 LinkedIn 上联系,或关注 GitHub 上的 @sepehr071,了解更多面向伊朗网站的 MCP 服务;所有服务都列在 iran-mcp 中。如果这个项目为您节省了时间,请给仓库点个星,帮助其他人发现它。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
