iran-quake-mcp: Iran earthquakes MCP server for AI agents
Unofficial, read-only MCP server for earthquakes in Iran (زلزله ایران): latest quakes, history search, the strongest events, one event in full, and activity statistics, from the public USGS, EMSC and IRSC feeds. Works in Claude, Cursor and Copilot.
For AI agents
- What: earthquake data for Iran from 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; ids differ. - Install:
uvx iran-quake-mcporclaude mcp add iran-quake -- uvx iran-quake-mcp. Transport: stdio. Needs uv (Python 3.10+). - Auth: none. Optional
IRAN_QUAKE_MCP_PROXY(HTTP proxy URL, comma list allowed); system proxy settings are ignored. - Access: read-only, no confirmation needed.
- 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 11 KB at the maximum. - 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 matched against the place text. IRSC places areTown, Province. - IRSC: read from
http://irsc.ut.ac.ir/events_list.xml(plain HTTP, its https is closed). It holds only the latest ~20 events, somoreis true when the dates reach further back; the data is licensed for non-commercial, humanitarian use and must cite the Iranian Seismological Center (University of Tehran). Not a warning service.
Tools
| Tool | What it does |
|---|---|
eq_latest |
Most recent earthquakes (min magnitude, hours back, source), newest first |
eq_search |
Search by UTC date range, magnitude range, bounding box and place text |
eq_significant |
Strongest earthquakes of the last N days, largest first |
eq_detail |
One event in full by id (USGS: review status, felt/shaking, tsunami flag, quality; EMSC: agency, update time; IRSC: nearest towns) |
eq_stats |
Counts for a window: by magnitude band, top places, strongest event |
By default only events inside a coarse Iran outline (about 0.3 degrees on land borders; includes the Iranian Persian Gulf, Gulf of Oman and south Caspian) whose place text names Iran, Persian Gulf, Gulf of Oman or Caspian Sea are returned, so border-region rows across the border are dropped (iran_only=false returns everything in the bounding box 24-40 N, 43.5-64 E).
Development
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline
uv run python -m pytest -m live -q # real USGS/EMSC
uv build
Data: USGS Earthquake Hazards Program and EMSC; see their terms of use. MIT licensed.
Metadata
Release files for iran-quake-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| iran_quake_mcp-0.1.0.tar.gz | 102.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iran_quake_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.9 kB
Release files / iran_quake_mcp-0.1.0.tar.gz
| Download URL | iran_quake_mcp-0.1.0.tar.gz |
|---|---|
| Size | 102.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c196388d601d16203d284b45914e2b872529ce988a90dd7e36fda0f385cc5da2
|
|
BLAKE2b-256 checksum How to use checksums |
ddfdb9d44d4842a078a0f1b2fd2daae5367751f15f93cb26b44a76e9abad5c5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / iran_quake_mcp-0.1.0-py3-none-any.whl
| Download URL | iran_quake_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92dada8984a9fe0579e8d4c8afa3e449df933e6f2d71f9c6d1449237b447aff2
|
|
BLAKE2b-256 checksum How to use checksums |
ac08f13ae62e0b52602d30eb25cbfede9e9271e9fe29817ffc78155328b0fb90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for iran-quake-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for iran_quake_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.