
Iran Earthquakes
io.github.sepehr071由 GitHub 账号 sepehr071 发布v0.2.0更新于 Nov 7, 2026
Unofficial read-only Iran earthquakes: latest, search, strongest, detail, stats (USGS, EMSC, IRSC).
概览
只读 MCP 服务器,让助手从 USGS、EMSC 和 IRSC 数据源查询伊朗近期与历史地震。
- 可以做什么
- 按最低震级和回溯小时数列出伊朗最新地震
- 按 UTC 日期范围、震级范围、边界框或地名文本搜索地震事件
- 按震级从大到小列出近期最强地震
- 按事件 ID 获取单个地震的完整信息,含深度、震级类型和来源质量字段
- 统计某时间窗口内按震级区间和地点的事件数量,并给出最强事件
- 适用场景
- 适合用户询问伊朗近期或历史地震、某时段最强地震、某省或城市附近的地震活动,或某段时间的活跃程度。不适用于官方预警、警报或早期预警,也不适用于伊朗及邻国以外地区的地震。
- 运行要求
- 通过 uvx 以 stdio 在本地运行(需要 uv 和 Python 3.10+),无需 API 密钥或账号。需能访问 USGS 和 EMSC 的 HTTPS 服务以及 IRSC 的明文 HTTP 服务;可选环境变量 IRAN_QUAKE_MCP_PROXY 用于设置代理,系统代理设置会被忽略。
安装
在 SourceWeft 中
- 打开 控制台中的 Iran Earthquakes,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
iran-quake-mcp: Iran earthquakes MCP server for AI agents
Let your AI agent check the latest earthquakes in Iran (زلزله ایران).
An unofficial, read-only MCP server for earthquake data from USGS, EMSC and the Iranian Seismological Center:
latest quakes, history search, the strongest events, one event in full and activity statistics, from Claude, Cursor or Copilot.
[PyPI] [Python] [CI] [MCP Registry] [License: MIT] [mcpfarsi]
For AI agents · Quick start · What it can do · Tools · FAQ · فارسی
For AI agents
- What: unofficial MCP server (model context protocol) for earthquakes in Iran. Sources: USGS ComCat (
source="usgs", default), EMSC via SeismicPortal (source="emsc") and the Iranian Seismological Center (source="irsc", only its latest ~20 events, with province names). Sources are not merged; their event ids differ. - Install:
uvx iran-quake-mcporclaude mcp add iran-quake -- uvx iran-quake-mcp. Transport: stdio. Needs uv (Python 3.10+). - Auth: none, no API key or account. Optional
IRAN_QUAKE_MCP_PROXY(HTTP proxy URL, or a comma-separated list); system proxy settings are ignored. - Access: read-only. It cannot write or subscribe, so no confirmation is needed before calling any tool.
- Tools: 5, all prefixed
eq_. Typical sequence:eq_latestoreq_significant->eq_detailwith an id from the list.eq_searchfor a date range, bounding box or place;eq_statsfor counts. - Use when: the user asks about recent or past earthquakes in Iran, the strongest quakes, quakes near a province or city, or how active a period was.
- Do not use when: the user needs an official warning or alert (this is not a warning service; see the Iranian Seismological Center, irsc.ut.ac.ir), or asks about earthquakes outside Iran and its neighbours.
- Units:
time_utc(UTC) andtime_tehran(UTC+03:30, no daylight saving); search dates are UTC;depth_kmin kilometres;mag_type(mb, ml, mw...) says which magnitude it is. - Replies: at most 50 events per call (
limit1-50), about 12 KB at the maximum, under 15 KB. - Machine-readable:
server.jsonand the iran-mcp catalog.
Why
Earthquake feeds are built for seismologists: different servers, different id formats, UTC timestamps, no province field.
Asking "was there a quake above 4.5 near Kerman this week, and what was the strongest one in Iran this month?" means
querying a map or a query form and converting times by hand. With iran-quake-mcp an agent answers it in a few calls
and returns a short summary with Tehran time and depth in kilometres.
You: Were there any strong earthquakes in Iran in the last 30 days?
Agent: calls
eq_significant(days=30, min_magnitude=5.0)->eq_detail(...)for the largest oneIt lists the events from largest to smallest with magnitude, place, depth and Tehran time, then adds the review status and felt reports of the biggest one.
Every reply stays under 15 KB (about 12 KB at the maximum), so it does not flood the agent's context.
What it can do
- Latest earthquakes in Iran by minimum magnitude and hours back, newest first
- Search by UTC date range, magnitude range, bounding box and place text, ordered by time or magnitude
- Strongest events of the last N days, largest first
- One event in full by id: for USGS review status, felt/shaking, tsunami flag and quality; for EMSC the agency and update time; for IRSC the nearest towns
- Statistics for a window: counts by magnitude band, top places and the strongest event
- Three sources in one server: USGS, EMSC and the Iranian Seismological Center
- Read-only by design: nothing is written or subscribed to
Example prompts:
- "Show earthquakes of magnitude 4 or more in Iran in the last 48 hours."
- "What were the 10 strongest earthquakes in Iran in the last year?"
- "Any earthquakes near Kerman this month?"
- "Give me the quake statistics for Iran over the last 30 days."
- "Details of the latest quake on the Iranian Seismological Center feed, with province."
- آخرین زلزلههای ایران در ۲۴ ساعت گذشته کداماند؟
- قویترین زلزلههای ماه اخیر در ایران را با عمق و ساعت تهران بده.
- آیا در هفته گذشته در هرمزگان زلزله بالای ۴ ریشتر آمده؟
Quick start
You need uv. No API key or account.
Claude Code
Claude Desktop
Settings → Developer → Edit Config, then add:
Cursor
Add the Claude Desktop block above to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).
VS Code (Copilot agent mode)
Click Install in VS Code above, or add to .vscode/mcp.json:
Codex CLI
Or in ~/.codex/config.toml:
Gemini CLI
Add to ~/.gemini/settings.json:
Windsurf
Add the Claude Desktop block to ~/.codeium/windsurf/mcp_config.json.
Anything else
It is a standard stdio MCP server: run uvx iran-quake-mcp, or pip install iran-quake-mcp and run iran-quake-mcp.
Tools
The list tools (eq_latest, eq_search, eq_significant, eq_stats) take an optional source (usgs default, emsc, irsc) and iran_only (default true).
All 5 tools are annotated readOnlyHint: true.
How it works
iran-quake-mcp runs locally and calls the public feeds of USGS, EMSC and IRSC. It has no hosted server in between
and no API key. It sends at most 2 requests at a time with a little jitter, keeps answers for 60 seconds,
retries a failed GET up to 4 times (USGS sometimes answers a sporadic 502), caps a response body at 5 MB and only
talks to those three hosts. It only reads.
Good to know
- Times:
time_utcis UTC,time_tehranis UTC+03:30 (no daylight saving since 2022). Search dates are UTC. Depth isdepth_km, positive. - Magnitudes: the type is in
mag_type(mb, ml, mw...). Values from different types or sources are not exactly comparable. - Sources are separate: results are not merged or deduplicated and ids differ.
eq_detailtakes only an event id and detects the source from its format: EMSC20261014_0000009, IRSC a plain number such as213549(only found in its latest ~20 events), otherwise USGS. - Inside Iran only by default: the event must fall inside a coarse Iran outline (about 0.3 degrees on land borders, plus Iranian waters of the Persian Gulf, Gulf of Oman and south Caspian) and its place text must name Iran, Persian Gulf, Gulf of Oman or Caspian Sea. Events just across the border are dropped.
iran_only=falsereturns everything in the box 24-40 N, 43.5-64 E. - Places: USGS and EMSC have no province field (USGS gives the nearest town, EMSC a region).
placeaccepts a province name (Tehran, Kerman, Hormozgan, Khuzestan, Fars, Sistan and Baluchestan, Kermanshah, Razavi Khorasan, East Azerbaijan, West Azerbaijan, Bushehr, Mazandaran), which selects an approximate box that overlaps its neighbours. Other text is an English, accent-insensitive substring match. IRSC places areTown, Province. - IRSC: read from
http://irsc.ut.ac.ir/events_list.xml(plain HTTP; its https is closed). It lists only the latest ~20 events, with no magnitude type and no history, somoreis true when your dates reach further back. The data is licensed for non-commercial, humanitarian use and must cite the Iranian Seismological Center (University of Tehran). - Reply size:
limitis at most 50.eq_statssetstruncatedwhen the raw fetch came back full at 3000 rows. - Delays and revisions: feeds list small events with a delay and revise values later. USGS cold queries can take about 10 seconds.
- What it does not do: no alerts, no push notifications, no early warning, no shaking maps, no damage estimates.
- Network: set
IRAN_QUAKE_MCP_PROXYif the feeds are not reachable directly. System proxy variables are ignored on purpose.
FAQ
Is there an MCP server for earthquakes in Iran?
Yes. iran-quake-mcp is an unofficial MCP server with 5 read-only tools. It reads the public USGS, EMSC and IRSC
feeds and returns compact JSON for AI agents.
Which data sources does it use?
USGS ComCat (default), EMSC through SeismicPortal, and the Iranian Seismological Center (IRSC, University of Tehran).
Pick one with the source argument. They are not merged.
How do I use it with Claude, Cursor or Copilot?
Add the server with claude mcp add iran-quake -- uvx iran-quake-mcp, or use the matching config in
Quick start, then ask in plain language, in Persian or English.
Is it an earthquake warning service?
No. It reads public catalogs that list events after the fact, sometimes with a delay, and values get revised. For official information use the Iranian Seismological Center (irsc.ut.ac.ir).
What times does it use?
Each event has time_utc and time_tehran (UTC+03:30, no daylight saving). Search dates you pass are UTC.
Can I search by province or city?
Partly. The USGS and EMSC feeds have no province field. Pass a province name from the list in
Good to know in place for an approximate box that overlaps neighbouring provinces, other English
text to match the nearest town or region, or a bbox. IRSC rows carry Town, Province text.
Why does the IRSC source show so few events?
The IRSC feed lists only its latest ~20 events and has no history. Use usgs or emsc for longer ranges.
Why are some nearby quakes missing?
By default only events inside a coarse Iran outline are returned, so events across the border are dropped. Pass
iran_only=false to include neighbours.
How do I debug what the agent sees?
Configuration
فارسی: سرور MCP زلزله ایران
iran-quake-mcp یک سرور MCP غیررسمی و فقطخواندنی برای دادههای زلزله ایران است. این سرور به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد آخرین زلزلهها، زلزلههای قوی، تاریخچه و آمار لرزهخیزی ایران را از منابع عمومی USGS، EMSC و مرکز لرزهنگاری کشوری (IRSC) بخواند.
چه کارهایی میکند
- آخرین زلزلهها با حداقل بزرگا و تعداد ساعت گذشته، از جدیدترین.
- جستجو بر اساس بازه تاریخ (UTC)، بزرگا، محدوده جغرافیایی و نام مکان یا استان.
- قویترین زلزلهها در چند روز اخیر، از بزرگترین.
- جزئیات یک زلزله با شناسه: عمق، نوع بزرگا، وضعیت بازبینی و منبع.
- آمار یک بازه: تعداد به تفکیک بزرگا، پرتکرارترین مکانها و قویترین رویداد.
نکتهها
- فقط خواندنی است و هشدار یا پیشآگاهی زلزله نیست؛ برای اطلاعات رسمی به مرکز لرزهنگاری کشوری (irsc.ut.ac.ir) مراجعه کنید.
- زمان هر رویداد هم به UTC و هم به وقت تهران (UTC+03:30) داده میشود؛ عمق به کیلومتر است.
- منابع با هم ادغام نمیشوند و شناسههایشان فرق دارد. منبع IRSC فقط حدود ۲۰ رویداد آخر را دارد.
- فیلد استان در USGS و EMSC وجود ندارد؛ نام استان (به انگلیسی، مثل Kerman) محدوده تقریبی آن را انتخاب میکند.
- کلید API لازم نیست و روی سیستم خود شما اجرا میشود. در صورت نیاز متغیر
IRAN_QUAKE_MCP_PROXYرا روی یک پراکسی HTTP بگذارید.
نصب (اول uv را نصب کنید). در Claude Code:
در Claude Desktop، Cursor و بقیه برنامهها همان تنظیم بخش Quick start را بگذارید.
نمونه پرسشها
- «آخرین زلزلههای ایران در ۲۴ ساعت گذشته کداماند؟»
- «قویترین زلزلههای ماه اخیر در ایران را نشان بده.»
- «آیا این هفته در کرمان زلزله بالای ۴ ریشتر آمده؟»
- «آمار زلزلههای ایران در ۳۰ روز گذشته را بده.»
Development
All tools live in src/iran_quake_mcp/quakes.py; each is a typed async function with a docstring that tells the agent
when to use it. Issues and PRs are welcome.
Releases: bump the version in pyproject.toml and server.json, then push a v* tag. GitHub Actions publishes to PyPI.
Related servers
- iran-mcp: catalog of all Iranian-service MCP servers
- iran-news-mcp for Iranian news
- iran-apps-mcp for Iranian apps
- iran-tax-mcp for Iranian tax and Codal data
- tgju-mcp for dollar, gold, coin and commodity prices from TGJU
- Listed on mcpfarsi.ir, the Persian MCP marketplace
Disclaimer
Unofficial and not affiliated with or endorsed by USGS, EMSC or the Iranian Seismological Center. It is read-only. Earthquake data is informational, can be delayed and is revised by the sources; this is not a warning service. Check each source's terms of use: IRSC data is licensed for non-commercial, humanitarian use and must cite the Iranian Seismological Center (University of Tehran).
Author
Built and maintained by Sepehr Radmard (سپهر رادمرد). Connect on LinkedIn or follow @sepehr071 on GitHub for more MCP servers for Iranian websites, all listed in iran-mcp. If this saves you time, a star on the repo helps other people find it.
License
来源:README.md,提交 3635b9e
工具
0版本历史
4- v0.2.0最新Nov 7, 2026
- v0.1.2Oct 23, 2026
- v0.1.1Oct 22, 2026
- v0.1.0Oct 20, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
