@cyanheads/earthquake-mcp-server 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  **Server:** earthquake-mcp-server
4
4
  **Package:** `@cyanheads/earthquake-mcp-server`
5
- **Version:** 0.1.12
6
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
5
+ **Version:** 0.1.13
6
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
7
7
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
8
8
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
9
9
  **Zod:** ^4.4.3
@@ -274,6 +274,7 @@ Available skills:
274
274
  | `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
275
275
  | `api-mirror` | MirrorService — persistent local SQLite mirror of a bulk upstream dataset (Tier 3 opt-in) |
276
276
  | `api-workers` | Cloudflare Workers runtime |
277
+ | `techniques` | Catalog of reusable response/data-shaping patterns — overflow handling, payload shaping, retrieval — when a payload is too large or awkwardly shaped |
277
278
  | `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
278
279
  | `report-issue-framework` | File bug/feature request against @cyanheads/mcp-ts-core |
279
280
  | `report-issue-local` | File bug/feature request against this server's repo |
@@ -299,7 +300,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
299
300
  | `bun run lint:mcp` | Validate MCP definitions against spec |
300
301
  | `bun run lint:packaging` | Validate env var alignment between `manifest.json` and `server.json` (skipped cleanly when `manifest.json` is absent) |
301
302
  | `bun run list-skills` | List skills in `skills/` with name + description |
302
- | `bun run bundle` | Build and pack as `dist/earthquake-mcp-server.mcpb` for one-click Claude Desktop install |
303
+ | `bun run bundle` | Build, pack, and clean `dist/earthquake-mcp-server.mcpb` for one-click Claude Desktop install |
303
304
  | `bun run release:github` | Create GitHub Release from the current tag — attaches `.mcpb` bundle, uses tag subject as title |
304
305
  | `bun run start:stdio` | Production mode (stdio) |
305
306
  | `bun run start:http` | Production mode (HTTP) |
@@ -308,7 +309,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
308
309
 
309
310
  ## Bundling
310
311
 
311
- `bun run bundle` produces `dist/earthquake-mcp-server.mcpb` for one-click install in Claude Desktop. MCPB is stdio-only — HTTP and Docker deployments are unaffected. The `release-and-publish` skill attaches the bundle to the GitHub Release at a stable `releases/latest/download/earthquake-mcp-server.mcpb` URL that powers the README install badge.
312
+ `bun run bundle` produces `dist/earthquake-mcp-server.mcpb` for one-click install in Claude Desktop. The pack step is followed by `scripts/clean-mcpb.ts`, which prunes dev dependencies (`mcpb clean`) and strips dependency-shipped agent docs (`node_modules/**` `skills/`, `.claude/`, `.agents/`, `SKILL.md`) that root-anchored `.mcpbignore` patterns cannot reach. MCPB is stdio-only — HTTP and Docker deployments are unaffected. The `release-and-publish` skill attaches the bundle to the GitHub Release at a stable `releases/latest/download/earthquake-mcp-server.mcpb` URL that powers the README install badge.
312
313
 
313
314
  **Adding an env var requires both files**: `server.json` stdio `environmentVariables[]` (registry discovery) and `manifest.json` `mcp_config.env` (bundle install UX, plus `user_config` if user-prompted). `bun run lint:packaging` (run by `devcheck`) verifies the env var names align.
314
315
 
package/Dockerfile CHANGED
@@ -38,9 +38,11 @@ WORKDIR /usr/src/app
38
38
  ENV NODE_ENV=production
39
39
 
40
40
  # OCI image metadata (https://github.com/opencontainers/image-spec/blob/main/annotations.md)
41
+ ARG APP_VERSION
41
42
  LABEL org.opencontainers.image.title="@cyanheads/earthquake-mcp-server"
42
43
  LABEL org.opencontainers.image.description="Search USGS and EMSC seismic data — real-time feeds, event queries, and earthquake counts via MCP. STDIO or Streamable HTTP."
43
44
  LABEL org.opencontainers.image.licenses="Apache-2.0"
45
+ LABEL org.opencontainers.image.version="${APP_VERSION}"
44
46
  LABEL org.opencontainers.image.source="https://github.com/cyanheads/earthquake-mcp-server"
45
47
 
46
48
  # Copy dependency manifests
@@ -96,5 +98,8 @@ ENV MCP_FORCE_CONSOLE_LOGGING="true"
96
98
  # Expose the port the server listens on
97
99
  EXPOSE ${MCP_HTTP_PORT}
98
100
 
101
+ # Health check using a bun-native fetch (slim image ships no curl/wget)
102
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD bun -e "fetch('http://localhost:'+(process.env.MCP_HTTP_PORT??'3010')+'/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
103
+
99
104
  # The command to start the server
100
105
  CMD ["bun", "run", "dist/index.js"]
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.12-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./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-^1.29.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-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.13-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./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-^1.29.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-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
package/dist/index.js CHANGED
@@ -14,6 +14,8 @@ import { earthquakeSearch } from './mcp-server/tools/definitions/earthquake-sear
14
14
  import { initEmscService } from './services/emsc/emsc-service.js';
15
15
  import { initUsgsService } from './services/usgs/usgs-service.js';
16
16
  await createApp({
17
+ name: 'earthquake-mcp-server',
18
+ title: 'earthquake-mcp-server',
17
19
  tools: [earthquakeGetFeed, earthquakeSearch, earthquakeGetEvent, earthquakeCount],
18
20
  resources: [earthquakeFeedResource, earthquakeEventResource],
19
21
  prompts: [],
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,CAAC;IACjF,SAAS,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAC5D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE;QACP,0EAA0E;QAC1E,2FAA2F;QAC3F,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxF,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1F,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,uBAAuB;IAC9B,KAAK,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,CAAC;IACjF,SAAS,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAC5D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE;QACP,0EAA0E;QAC1E,2FAA2F;QAC3F,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxF,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1F,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/earthquake-mcp-server",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "mcpName": "io.github.cyanheads/earthquake-mcp-server",
5
5
  "description": "Search USGS and EMSC seismic data — real-time feeds, event queries, and earthquake counts via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "list-skills": "bun run scripts/list-skills.ts",
24
24
  "lint:mcp": "bun run scripts/lint-mcp.ts",
25
25
  "lint:packaging": "bun run scripts/lint-packaging.ts",
26
- "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/earthquake-mcp-server.mcpb",
26
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/earthquake-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/earthquake-mcp-server.mcpb",
27
27
  "changelog:build": "bun run scripts/build-changelog.ts",
28
28
  "changelog:check": "bun run scripts/build-changelog.ts --check",
29
29
  "release:github": "bun run scripts/release-github.ts",
@@ -76,13 +76,13 @@
76
76
  "access": "public"
77
77
  },
78
78
  "dependencies": {
79
- "@cyanheads/mcp-ts-core": "^0.9.21",
79
+ "@cyanheads/mcp-ts-core": "^0.10.6",
80
80
  "pino-pretty": "^13.1.3",
81
81
  "zod": "^4.4.3"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@biomejs/biome": "^2.4.16",
85
- "@types/node": "^25.9.1",
85
+ "@types/node": "^25.9.3",
86
86
  "depcheck": "^1.4.7",
87
87
  "ignore": "^7.0.5",
88
88
  "tsc-alias": "^1.8.17",
package/server.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "url": "https://earthquake.caseyjhand.com/mcp"
13
13
  }
14
14
  ],
15
- "version": "0.1.12",
15
+ "version": "0.1.13",
16
16
  "packages": [
17
17
  {
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/earthquake-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.1.12",
22
+ "version": "0.1.13",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -48,7 +48,7 @@
48
48
  "registryBaseUrl": "https://registry.npmjs.org",
49
49
  "identifier": "@cyanheads/earthquake-mcp-server",
50
50
  "runtimeHint": "bun",
51
- "version": "0.1.12",
51
+ "version": "0.1.13",
52
52
  "packageArguments": [
53
53
  {
54
54
  "type": "positional",