# @cyanheads/earthquake-mcp-server 中文文档

规范地址：https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/

版本：0\.5\.2
npm 元数据更新时间：2026-11-14T06:40:50.640Z
中文译文更新时间：2026-11-14T13:20:14.513Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cyanheads/earthquake-mcp-server
原文对照：https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/?lang=original
项目主页：https://github.com/cyanheads/earthquake-mcp-server#readme
源码仓库：https://github.com/cyanheads/earthquake-mcp-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：702 kB，141 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：4 个
- 首次发布：2026-05-23T18:11:28.610Z
- 最新版本发布：2026-11-14T06:40:50.465Z
- 近 30 天下载量：2036（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

搜索USGS和EMSC地震数据——通过MCP实时输入,事件查询和地震计数. (原始内容存档于2012-10-12). STIO or Streamable HTTP.

## 安装

```sh
npm install @cyanheads/earthquake-mcp-server
```

也可以使用：`pnpm add @cyanheads/earthquake-mcp-server`、`yarn add @cyanheads/earthquake-mcp-server`、`bun add @cyanheads/earthquake-mcp-server`

## README

# @cyanheads/地震-mcp-服务器

**搜索USGS和EMSC地震数据——通过MCP实时输入,事件查询和地震计数. (原始内容存档于2012-10-12). STIO or Streamable HTTP.**

4个工具 • 3个资源

[![Version](https://img.shields.io/badge/Version-0.5.2-blue.svg?style=flat-square)](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/earthquake-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-%5E2.4.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/earthquake-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/earthquake-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-%5E7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.4-blueviolet.svg?style=flat-square)](https://bun.sh/)

[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/earthquake-mcp-server/releases/latest/download/earthquake-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=earthquake-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvZWFydGhxdWFrZS1tY3Atc2VydmVyIl19) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22earthquake-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fearthquake-mcp-server%22%5D%7D)

[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)

**公共主机服务器 :** [https://earthquake.caseyjhand.com/mcp 互联网档案馆的存檔,存档日期2014-12-21](https://earthquake.caseyjhand.com/mcp)

* * *

## 概览

来自USGS ComCat和EMSC地震门户网站的地震数据. 获取实时地震素材,按时间,规模,深度和位置搜索并计数地震事件,并拉出单个事件的全部分析细节.

### 工具

| 工具 | 说明 |
| :-- | :-- |
| `earthquake_get_feed` | 按震级和时间窗口获取USGS预压缩的实时地震信号 |
| `earthquake_search_events` | 按时间范围、规模、深度、位置半径、PAGER警报级别、感觉报告或ShakeMap和DYFI强度搜索地震 |
| `earthquake_count_events` | 不获取完整记录而计算匹配的地震过滤器 |
| `earthquake_get_event` | 获取一次地震,由USGS或EMSC事件ID提供,并附有USGS分析产品和选入源、规模、相继抵达、余震预报和PAGER损失估计 |

### 资源

| 资源 | 说明 |
| :-- | :-- |
| `earthquake://feed/{magnitude_tier}/{time_window}` | USGS实时的首个100个活动页面, 精确的续作 URI |
| `earthquake://feed/{magnitude_tier}/{time_window}/page/{cursor}` | 继续使用返回的保存的种子生成 `next_uri` |
| `earthquake://event/{event_id}` | 由 USGS 或 EMSC 事件 ID 作为可注入上下文的地震, 相同 `detail` 产品预测为 `earthquake_get_event` |

### 技能

| 技能 | 说明 |
| :-- | :-- |
| [`earthquake-guide`](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/skills/earthquake-guide/SKILL.md) | 代理向导 `earthquake_*` 工具:USGS与EMSC之间的标识链、覆盖面和规模门,以及产品和 `include` 团体回答一个问题。 由插件主机装入 `skills/` 并服务于MCP `skill://earthquake-guide/SKILL.md` |

## 能力参考

### `earthquake_get_feed` 工具

-   选择一个分级( E)`all`, (中文(简体) ), `1.0`, (中文(简体) ), `2.5`, (中文(简体) ), `4.5`, (中文(简体) ), `significant`)和一个窗口(`hour`, (中文(简体) ), `day`, (中文(简体) ), `week`, (中文(简体) ), `month`。USGS缓存这些种子;使用 `earthquake_search_events` 用于历史查询或过滤查询.
-   返回事件、页数、生成时间和源信息URL. `all` 包括微观观点; `significant` 由USGS使用规模、感知报告和PAGER影响进行校准.
-   每页返回 `limit` 事件(默认 15),只减少最后一页。 A 类 `limit` 超过 1000 个返回 1000 个, 并注明所请求的和应用的值 `EARTHQUAKE_CLAMP_LIMITS=false` 而是被拒绝. `limit` 适用于第一页;后页将页面大小保留在光标中. `totalCount` 报告整个种子; 通过 `nextCursor` 与同级和同入窗口.
-   续取读取"初读"一代,不受上游编辑的影响. 保留时间可长达15分钟,但需经过能力驱逐并重新启动. `cursor_expired` 表示在没有光标的情况下重新启动; 遗留光标也必须重新启动 .

* * *

### `earthquake_search_events` 工具

-   搜索 `usgs` 或者说 `emsc` 以时间、数量、深度、半径或边框表示。 需要半径 `latitude`, (中文(简体) ), `longitude`,以及 `radius_km` 组合; 框边是独立可选的, 支持 antimeridian 边界, 最高可达 ± 360°, 并交叉一个供给的圆.
-   回归正常化事件 `event_type`环管中心 `event_certainty`和副秘书长办公室 `associated_ids` (其他网络ID合并为事件). `ignoredFilters` 名称不支持的过滤器; `queryEcho` 报告有效的查询.
-   搜索和计数都接受打开 `magnitude_type` 任意来源的值; EMSC 匹配大小写,包括小写 `mb` 财务报告和审定财务报表 `mw` 和历史大写 `ML` 财务报告和审定财务报表 `MD`。 。 。 . `product_type` (需要的产品,例如:. `moment-tensor`和 `review_status` (单位:千美元)`automatic` 或者说 `reviewed`)仅适用于USGS;EMSC将其命名于 `ignoredFilters`。空值表示省略.
-   `event_type`, (中文(简体) ), `magnitude_type`,以及 `product_type` 保持打开字符串; USGS 以不区分大小写的方式匹配它们,以及 `event_type` 使用逗号分隔列表。 USGS在其公布的词汇外以零事件回答一个值,因此当USGS搜索的第一页或USGS计数空出后, `notice` 列出每个未列出的值,一旦大小写,则列出的值等于 `-`, (中文(简体) ), `_`,并忽略空格 : `product_type "moment_tensor"` 建议 `"moment-tensor"`。读取的词汇是一次在呼叫截止日期内尝试,缓存时间为24小时;如果失败,则零返回,如不检查。 EMSC 不发布词汇;一个零数或空的第一个搜索页建议混合或大写的小写拼写 `magnitude_type`,而不更改请求的值.
-   `min_mmi` (ShakeMap强度,经过修改的Mercalli)和 `min_cdi` (DYFI社区强度),每一至十二次,按震动程度选择事件,震级下限或 `alert_level` 错过了 两者都只适用于USGS:没有ShakeMap或DYFI报告的事件从不匹配,EMSC将其命名于 `ignoredFilters`。 。 。 .
-   仅限日期(包括扩大的年/月表)是指在两个来源中指定日期开始的午夜: `2026-10-10` 变成 `2026-10-10T00:00:00`,明确的时间和时区后缀保存;未添加的日期组件被添加. 无偏移时间使用UTC进行30天的默认. `queryEcho` 显示确切的有效界限.
-   以时间或规模来排序 每个呼叫请求 `limit` 上游事件(默认 15,由 `DEFAULT_LIMIT`)并全部返回,仅在最后一页减少。 A 类 `limit` 超过 1000 个返回 1000 个, 并注明所请求的和应用的值 `EARTHQUAKE_CLAMP_LIMITS=false` 而是被拒绝. `queryEcho.limit` 报告适用的限制。 继续返回 `nextOffset` (抵消外加返回的事件,从1起计)和相同的过滤器,限制和顺序. 搜索页面读取了当前目录,所以上游编辑可以影响后页.
-   严格倒转的大小、深度或明确的时间界限在本地失效,因为 `invalid_range`,同时命名值和恢复值。 等同和单一的界限仍然有效;时间比较使用UTC即时,包括明确的抵消. 日历无效的数值仍为上游拒绝值.
-   非空短页 `totalCount`;一空第一页建立为零,而一空后页则留下了总的未知. 完整页面使用计数查询,使用 `countUnavailable` 失败。 Feed,搜索,计数,以及事件调用,每个调用都共享一个50秒的截止时间来完成请求和重试;用于包括计数查询在内的搜索. 取消仍然是取消.

* * *

### `earthquake_count_events` 工具

-   使用相同的过滤器计算匹配 `earthquake_search_events`,而不获取事件。 奥米 `start_time` 过去30天; `queryEcho` 报告已解决的窗口和应用程序过滤器.
-   `exceeds_limit` 标出 2万 个事件单请求阈值, 而非检索上限 : 搜索平移 page 可以取取取更大的匹配集 . `max_allowed` uSGS为20 000美元,EMSC为无效; `ignoredFilters` 名称过滤源不能应用.
-   USGS 零载数 `notice` 当供应 `event_type`, (中文(简体) ), `magnitude_type`,或 `product_type` 值不在USGS词汇中,就像搜索的空首页一样.

* * *

### `earthquake_get_event` 工具

-   通过 `id` 任何种子或搜索结果。 一个 EMSC 解析自 a `source=emsc` 搜索(八位数、下划线、七位数等). `20190706_0000043`)在EMSC地震门户网站上被抬头;所有其他ID去USGS(例如. `us6000sznj`) (中文(简体) ).
    
-   USGS 事件返回归正事件加可选事件 `detail`: PAGER、ShakeMap、DYFI、瞬间收发、地面故障警报、源质量(包括 `depth_type`和有限过失维度。 在没有预测的栏目时,小组被略去;缺员并不意味着没有影响. `associated_ids` 列出事件的其他网络ID USGS 持有; 诸如 `us70004bn0` 返回首选事件(`ci38457511`)与所列出的别名.
    
-   EMSC 事件返回其搜索结果所携带的同一常态事件,但没有 `detail` 没有 `associated_ids`。 。 。 .
    
-   `include` 选择更多USGS事件:
    
    | 组 | 来源 | 额外请求 |
    | :-- | :-- | :-- |
    | `origins` | 每个 `origin` 产品在事件响应中,首选 | 无 |
    | `magnitudes` | 首选事件级别 `phase-data` 产品为 QuakeML, 包含一个已公布的站点数 | 一个,共享 `arrivals` |
    | `arrivals` | 该文件的首选来源的每一个阶段到达, 加入到它的选取并排序最接近 | 一个,共享 `magnitudes` |
    | `aftershock_forecast` | USGS操作后震预测:每个窗口在每个震级或以上发生后震的概率,其预期计算范围,以及一次大于主震的可能性 | 一个 |
    | `pager` | 警报背后的PAGER估计 `losspager` 产品JSON的文件:每个概率值的死亡率和经济损失警报水平(经济界限以百万美元计)、PAGER的影响说明,以及按总数和按国家或区域分列的在每次震动强度下暴露的人 | 当产品发布影响声明时,2到3个 |
    
-   未返回的请求组列于 `unavailable_includes`数字 : `not_published` 当事件没有这种产品(每组在EMSC事件上)或其产品缺少该组读取的文件(在JSON文件存在之前公布的PAGER产品)时, `fetch_failed` 当下载失败时,返回 HTML, 不解析, 指向配置的 USGS 源外, 或用重定向回答 。 活动, `detail`,其他团体仍然返回;取消宣传。 活动请求及其产品下载共享了50秒的最后期限.
    
-   PAGER 曝光行保留已公布 `country_code` 添加 `country_name` 页:1 `XF` (加利福尼亚), `EU` (美国中部/东部), `WU` (美国西部),和 `UK` (分配给任何国家的领域).
    
-   本地空白身份识别失败 。 冠名身份证和别名 与案件无关.
    
-   摇摆图报告 `max_pga` 单位:克和克 `max_pgv` 在 cm/s 中,使已知的遗产编码正常化. `code_version` 确定出版时的制作人版本.
    
-   `detail.moment_tensor` 可以包括独立的节点平面 `focal-mechanism`。 。 。 . `nodal_planes_from` 识别提供飞机的产品。 百分数元数据来自首选的百分数可用时的百分数,以及 `percent_double_couple` 仍然是已公布的 0–1 分数.
    

* * *

### `earthquake://feed/{magnitude_tier}/{time_window}` 资源

-   选择与 `earthquake_get_feed`;所有20个组合都被列为可浏览资源.
-   每起回返100起事件 `application/json` 在紧凑事件投影中加 `totalCount`, (中文(简体) ), `truncated`, (中文(简体) ), `nextCursor`,以及 `next_uri`读取 `next_uri` 逐字记录至缺席为止。 续作URI是 `earthquake://feed/{magnitude_tier}/{time_window}/page/{cursor}`。 。 。 .
-   饲料资源与保留世代共享 `earthquake_get_feed`。缓存提示是私人的,寿命为零,因为续作符号属于请求租户。 上游故障分类为 `ServiceUnavailable` 曝光 `feed_unavailable`;分类为 `Timeout` 曝光 `feed_timeout`,每个都有恢复指导 并且没有捕获的上游身体。 可用性失败保留了数字 HTTP 状态; HTTP 501 仍然不可重试,并指向EMSC 搜索. 其他错误类没有改变.

* * *

### `earthquake://event/{event_id}` 资源

-   通过一个USGS或EMSC `event_id` 从种子或搜索结果。 返回同一事件和可选 `detail` 产品作为 `earthquake_get_event`; 需要没有 `include`。 。 。 .
-   用那个工具 `event_deleted`, (中文(简体) ), `not_found`, (中文(简体) ), `source_unavailable`,以及 `source_timeout` 错误合同.

## 特征

建造在 [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio和可流式的 HTTP 传输器,可插接式(`none` 编号 : `jwt` 编号 : `oauth`),可互换存储(`in-memory`, (中文(简体) ), `filesystem`, (中文(简体) ), `Supabase`, (中文(简体) ), `Cloudflare KV/R2/D1`),结构化记录,可选择的OpenTeleometry tracking.

安保总局/紧急安保委员会:

-   USGS FDSN/GeoJSON API 和 EMSC FDSN-WS API 的机型安全客户端,将两者都正常化为一个共享的地震域计划
-   在每个上游呼叫中,自动重试后退和按要求计时;检测USGS的限速/CDN故障模式(HTML服务而不是GeoJSON),并将其映射到一个打出的服务不可用错误,而不是将其解析为数据. 一个不是预期文档的主体没有重试就以同样的方式失败,一个连接掉入了中体会被重试;既不向呼叫者传递解析器,也不传递运行时的文本
-   EMSC的"两个特征" `evtype` 代码根据已公布的事件类型/确定性术语解码为USGS发布的相同词汇,所以 `event_type` 两个来源都有一种意义
-   仅限USGS过滤器(`alert_level`, (中文(简体) ), `min_felt`, (中文(简体) ), `min_significance`, (中文(简体) ), `min_mmi`, (中文(简体) ), `min_cdi`, (中文(简体) ), `event_type`, (中文(简体) ), `product_type`, (中文(简体) ), `review_status`)在 `ignoredFilters` 何时 `source=emsc`关于副秘书长, `event_type="earthquake"` 不包括采石场爆炸和其他非铁道记录.
-   不需要API密钥或费率限制级——USGS和EMSC都是完全公开的,没有密钥的API

方便代理输出 :

-   证明 - `source: "usgs" | "emsc"` 搜索和计数回复,加 `source_catalog`编号 :`auth` 字段命名目录和权威机构,因此代理可以互相权衡两个独立的解决方案
-   歧视性产出合同 - `event_type` 和环管中心 `event_certainty` 保留已公布的分类,缺失的字段仍然未知; `exceeds_limit`, (中文(简体) ), `countUnavailable`,以及 `truncated` 旗帜允许调用者在数据上分行, 而不是解析表达词
-   反应塑造——来源不公布的字段返回 `null`,绝不是虚构的零(`tsunami`, (中文(简体) ), `status`,以及 `mmi` 在 EMSC 事件上总是无效的;为 EMSC 查询而丢弃的 USGS 唯一的过滤器在 `ignoredFilters` 而不是默默无视
-   Graceful deform — 上游拒绝显示服务本身在错误消息中的解释(犯罪参数,被接受的格式),而不是赤裸状态代码,失败后继计数会降解为 `countUnavailable` 而不是失败整个搜索, 和失败的产品下载列出其 `include` 组为 `fetch_failed` 而不是失败事件搜索

## 开始

### 公共托管实例

可在 `https://earthquake.caseyjhand.com/mcp` 无需安装。 通过可流式HTTP将 MCP 客户端指向它 :

```json
{
  "mcpServers": {
    "earthquake-mcp-server": {
      "type": "streamable-http",
      "url": "https://earthquake.caseyjhand.com/mcp"
    }
  }
}
```

### 自有/当地

在您的 MCP 客户端配置文件中添加以下内容 .

```json
{
  "mcpServers": {
    "earthquake-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/earthquake-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}
```

或者用 npx( 不需要 Bun) :

```json
{
  "mcpServers": {
    "earthquake-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/earthquake-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}
```

或与道克相会:

```json
{
  "mcpServers": {
    "earthquake-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/earthquake-mcp-server:latest"]
    }
  }
}
```

对于可流式HTTP,设置传输并启动服务器:

```sh
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp
```

### 先决条件

-   [Bun v 1.4.4 (单位:千美元)](https://bun.sh/) 或更高级.
-   不需要API密钥——USGS和EMSC数据完全公开.

### 安装

1.  **清除仓库 :**

```sh
git clone https://github.com/cyanheads/earthquake-mcp-server.git
```

2.  **导航到目录 :**

```sh
cd earthquake-mcp-server
```

3.  **安装依赖性 :**

```sh
bun install
```

## 配置

所有配置在启动时通过 Zod schemas 在 `src/config/server-config.ts`关键环境变量:

| 变量 | 说明 | 默认 |
| :-- | :-- | :-- |
| `MCP_TRANSPORT_TYPE` | 运输: `stdio` 或者说 `http` | `stdio` |
| `MCP_HTTP_PORT` | HTTP 服务器端口 | `3010` |
| `MCP_HTTP_ENDPOINT_PATH` | MCP 服务器挂载的 HTTP 路径 | `/mcp` |
| `MCP_PUBLIC_URL` | 用于反向代理的公用 HTTP( S) 基址, 没有证书、 查询或片段 | 无 |
| `MCP_SESSION_MODE` | HTTP 会话 : `stateful`, (中文(简体) ), `stateless`,或 `auto` (解为相. 覆盖 `createApp()` 声明; 居克和 `.env.example` 还有无国籍者. | `stateless` (宣布为 `src/index.ts`(中文(简体) ) |
| `MCP_AUTH_MODE` | 认证 : `none`, (中文(简体) ), `jwt`,或 `oauth` | `none` |
| `MCP_JWT_EXPECTED_AUDIENCE` | JWT模式设定时需要的观众. JWT 模式记录未设置的启动警告 . | 无 |
| `MCP_JWT_EXPECTED_ISSUER` | 设定时 JWT 模式所需的发行器 | 无 |
| `MCP_LOG_LEVEL` | 日志级别 (`debug`, (中文(简体) ), `info`, (中文(简体) ), `warning`, (中文(简体) ), `error`页:1 | `info` |
| `MCP_GC_PRESSURE_INTERVAL_MS` | Opt-in Bun-只限强制-GC压力回路 (ms). 尝试 `60000` 如果在持续HTTP负载下观察到堆积增长. | `0` (残疾) |
| `LOGS_DIR` | 节点.js和Bun上的日志文件目录 。 从服务器的软件包根解析出相对路径 . | `<server-package-root>/logs` |
| `LOG_TOOL_FAILURE_PAYLOADS` | 日志失败的工具参数和结果,由密钥名称编辑 。 自由形式值中的秘密依然存在. | `false` |
| `LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES` | 每个登录故障有效载荷的UTF-8字节上限 | `16384` |
| `STORAGE_PROVIDER_TYPE` | 存储后端 : `in-memory`, (中文(简体) ), `filesystem`, (中文(简体) ), `supabase`, (中文(简体) ), `cloudflare-kv/r2/d1` | `in-memory` |
| `USGS_BASE_URL` | USGS API 基础 URL. 覆盖测试或镜像. 产品文件(相位数据QuakeML,余震预报,PAGER JSON)只在此来源上取取出,所以一个镜像也必须为它们服务,内容 URL 重新写入其来源;否则 `include` 集团报告 `fetch_failed`。 。 。 . | `https://earthquake.usgs.gov` |
| `EMSC_BASE_URL` | EMSC API 基础 URL. 覆盖测试或镜像. | `https://www.seismicportal.eu` |
| `DEFAULT_LIMIT` | 活动 `earthquake_search_events` 当调用省略时返回 `limit` (1-1 000美元) | `15` |
| `EARTHQUAKE_CLAMP_LIMITS` | 覆盖搜索或种子 `limit` 1 000至1 000以上并附有通知. `false` 宣传并强制实施最多1000个计划. | `true` |
| `REQUEST_TIMEOUT_MS` | 任意 HTTP 超时以毫秒计(1 000-120 000)。 每一条消息、搜索、计数和事件呼吁也在其请求和重复的50秒总期限内进行. | `10000` |
| `OTEL_ENABLED` | 启用打开远程 | `false` |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | 跟踪的基础 URL (N)`/v1/traces`)和指标(`/v1/metrics`); 信号特定端点变量覆盖它 | 无 |
| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | Opt- in OTLP 日志端点, 作为-is使用; 基准 URL 从未启用日志 | 无 |

空值和未替换的整值 `${…}` 占位符使用默认值。 见 [`.env.example`](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/.env.example) 用于可选的覆盖.

## 运行服务器

### 地方发展

-   **构建和运行制作版本**数字 :
    
    ```sh
    # One-time build
    bun run rebuild
    
    # Run the built server
    bun run start:http
    # or
    bun run start:stdio
    ```
    
-   **运行检查和测试**数字 :
    
    ```sh
    bun run devcheck  # Lints, formats, type-checks, and more
    bun run test      # Runs the test suite
    ```
    

### 夹克

```sh
docker build -t earthquake-mcp-server .
docker run --rm -p 3010:3010 earthquake-mcp-server
```

Dockerfile 默认为 HTTP 传输、 无国籍会话模式和日志到 `/var/log/earthquake-mcp-server`。默认情况下安装了 OpenTeleometry 端端依赖性 `--build-arg OTEL_ENABLED=false` 以略去它们.

## 项目结构

| 目录 | 目的 |
| :-- | :-- |
| `src/mcp-server/tools` | 工具定义`*.tool.ts`) (中文(简体) ). 四个工具跨越USGS和EMSC. |
| `src/mcp-server/resources` | 饲料,饲料续作,以及事件资源. |
| `src/services/feed-snapshots.ts` | 租户范围序列式饲料保留,并附有有限度的有效载荷和元数据核算. |
| `src/services/usgs` | USGS ComCat 服务 — GeoJSON 种子获取器, FDSN 查询 API 客户端, 以及事件 `include` 预测(原产地产品、相相数据QuakeML、余震预报、PAGER估计数). |
| `src/services/emsc` | EMSC地震门户网站服务——FDSN事件搜索,计数,并附带ID搜索. |
| `src/config` | 服务器特定环境变量与Zod解析并验证. |
| `tests/` | 单位和综合测试,反映 `src/` 结构. |

## 发展指南

见 [`CLAUDE.md`](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/CLAUDE.md) 发展准则和建筑规则。 简本:

-   搬运工投掷,框架渔获量——否 `try/catch` 在工具逻辑中
-   使用 `ctx.log` 用于伐木, `ctx.state` 用于存储
-   登记册中的新工具和资源 `createApp()` 数组
-   验证上游数据,使数据与域类型相一致,并保存缺失的值而不是发明事实

## 捐款

问题值得欢迎。 提交前进行检查和测试:

```sh
bun run devcheck
bun run test
```

## 许可证

这个项目根据Apache 2.0许可证获得许可. 见 [自由主义](https://npmcn.com/package/%40cyanheads/earthquake-mcp-server/LICENSE) 详细文件.

## 常见问题

### @cyanheads/earthquake-mcp-server 是什么？

搜索USGS和EMSC地震数据——通过MCP实时输入,事件查询和地震计数\. \(原始内容存档于2012-10-12\)\. STIO or Streamable HTTP\.

### 如何安装 @cyanheads/earthquake-mcp-server？

在项目目录运行 npm install @cyanheads/earthquake-mcp-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 earthquake-mcp-server，可以用 npx earthquake-mcp-server 直接运行。

### @cyanheads/earthquake-mcp-server 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cyanheads/earthquake-mcp-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cyanheads/earthquake-mcp-server 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cyanheads/earthquake-mcp-server 可以商用吗？

@cyanheads/earthquake-mcp-server 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cyanheads/earthquake-mcp-server 的下载量有多少？

根据 npm 官方下载统计，@cyanheads/earthquake-mcp-server 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,036 次，日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cyanheads/earthquake-mcp-server 还在维护吗？

最新版本 0\.5\.2 发布于 2026/11/14（今天）；至今共发布 30 个版本，其中过去 12 个月发布了 30 个；首次发布于 2026/05/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

