@cyanheads/wikipedia-mcp-server 0.1.8 → 0.1.9

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/AGENTS.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** wikipedia-mcp-server
4
- **Version:** 0.1.8
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
4
+ **Version:** 0.1.9
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -35,7 +35,7 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
35
35
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
36
36
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
37
37
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
38
- - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
38
+ - **Check `ctx.elicit`** for presence before calling.
39
39
  - **Secrets in env vars only** — never hardcoded.
40
40
  - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
41
41
 
@@ -153,8 +153,7 @@ Handlers receive a unified `ctx` object. Key properties:
153
153
  |:---------|:------------|
154
154
  | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. |
155
155
  | `ctx.state` | Tenant-scoped KV — `.get(key)`, `.set(key, value, { ttl? })`, `.delete(key)`, `.list(prefix, { cursor, limit })`. Accepts any serializable value. |
156
- | `ctx.elicit` | Ask user for structured input. **Check for presence first:** `if (ctx.elicit) { ... }` |
157
- | `ctx.sample` | Request LLM completion from the client. **Check for presence first:** `if (ctx.sample) { ... }` |
156
+ | `ctx.elicit` | Ask user for structured input (form or URL mode). **Check for presence first:** `if (ctx.elicit) { ... }` |
158
157
  | `ctx.signal` | `AbortSignal` for cancellation. |
159
158
  | `ctx.progress` | Task progress (present when `task: true`) — `.setTotal(n)`, `.increment()`, `.update(message)`. |
160
159
  | `ctx.requestId` | Unique request ID. |
@@ -282,6 +281,7 @@ Available skills:
282
281
  | `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
283
282
  | `api-mirror` | MirrorService: persistent, self-refreshing local SQLite mirror of a bulk upstream dataset |
284
283
  | `api-workers` | Cloudflare Workers runtime |
284
+ | `techniques` | Catalog of reusable response/data-shaping patterns (outline-on-overflow, spillover, capped-list disclosure) |
285
285
  | `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
286
286
 
287
287
  When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
@@ -309,13 +309,13 @@ When you complete a skill's checklist, check the boxes and add a completion time
309
309
  | `npm run start:http` | Production mode (HTTP) |
310
310
  | `npm run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
311
311
  | `npm run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
312
- | `npm run bundle` | Build and pack as `.mcpb` for one-click Claude Desktop install |
312
+ | `npm run bundle` | Build, pack, and clean a `.mcpb` for one-click Claude Desktop install |
313
313
 
314
314
  ---
315
315
 
316
316
  ## Bundling
317
317
 
318
- `npm run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP and Cloudflare Workers deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
318
+ `npm run bundle` produces a `.mcpb` extension bundle 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 Cloudflare Workers deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
319
319
 
320
320
  **Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
321
321
 
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** wikipedia-mcp-server
4
- **Version:** 0.1.8
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
4
+ **Version:** 0.1.9
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -35,7 +35,7 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
35
35
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
36
36
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
37
37
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
38
- - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
38
+ - **Check `ctx.elicit`** for presence before calling.
39
39
  - **Secrets in env vars only** — never hardcoded.
40
40
  - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
41
41
 
@@ -153,8 +153,7 @@ Handlers receive a unified `ctx` object. Key properties:
153
153
  |:---------|:------------|
154
154
  | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. |
155
155
  | `ctx.state` | Tenant-scoped KV — `.get(key)`, `.set(key, value, { ttl? })`, `.delete(key)`, `.list(prefix, { cursor, limit })`. Accepts any serializable value. |
156
- | `ctx.elicit` | Ask user for structured input. **Check for presence first:** `if (ctx.elicit) { ... }` |
157
- | `ctx.sample` | Request LLM completion from the client. **Check for presence first:** `if (ctx.sample) { ... }` |
156
+ | `ctx.elicit` | Ask user for structured input (form or URL mode). **Check for presence first:** `if (ctx.elicit) { ... }` |
158
157
  | `ctx.signal` | `AbortSignal` for cancellation. |
159
158
  | `ctx.progress` | Task progress (present when `task: true`) — `.setTotal(n)`, `.increment()`, `.update(message)`. |
160
159
  | `ctx.requestId` | Unique request ID. |
@@ -282,6 +281,7 @@ Available skills:
282
281
  | `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
283
282
  | `api-mirror` | MirrorService: persistent, self-refreshing local SQLite mirror of a bulk upstream dataset |
284
283
  | `api-workers` | Cloudflare Workers runtime |
284
+ | `techniques` | Catalog of reusable response/data-shaping patterns (outline-on-overflow, spillover, capped-list disclosure) |
285
285
  | `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
286
286
 
287
287
  When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
@@ -309,13 +309,13 @@ When you complete a skill's checklist, check the boxes and add a completion time
309
309
  | `npm run start:http` | Production mode (HTTP) |
310
310
  | `npm run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
311
311
  | `npm run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
312
- | `npm run bundle` | Build and pack as `.mcpb` for one-click Claude Desktop install |
312
+ | `npm run bundle` | Build, pack, and clean a `.mcpb` for one-click Claude Desktop install |
313
313
 
314
314
  ---
315
315
 
316
316
  ## Bundling
317
317
 
318
- `npm run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP and Cloudflare Workers deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
318
+ `npm run bundle` produces a `.mcpb` extension bundle 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 Cloudflare Workers deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
319
319
 
320
320
  **Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
321
321
 
package/Dockerfile CHANGED
@@ -37,10 +37,12 @@ WORKDIR /usr/src/app
37
37
  ENV NODE_ENV=production
38
38
 
39
39
  # OCI image metadata (https://github.com/opencontainers/image-spec/blob/main/annotations.md)
40
+ ARG APP_VERSION
40
41
  LABEL org.opencontainers.image.title="wikipedia-mcp-server"
41
42
  LABEL org.opencontainers.image.description="Search Wikipedia articles, read summaries and full text, target sections, find nearby pages, and list language editions via MCP. STDIO or Streamable HTTP."
42
43
  LABEL org.opencontainers.image.source="https://github.com/cyanheads/wikipedia-mcp-server"
43
44
  LABEL org.opencontainers.image.licenses="Apache-2.0"
45
+ LABEL org.opencontainers.image.version="${APP_VERSION}"
44
46
 
45
47
  # Copy dependency manifests
46
48
  COPY package.json bun.lock ./
@@ -95,5 +97,9 @@ ENV MCP_FORCE_CONSOLE_LOGGING="true"
95
97
  # Expose the port the server listens on
96
98
  EXPOSE ${MCP_HTTP_PORT}
97
99
 
100
+ # Health check against the /healthz endpoint
101
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
102
+ CMD bun -e "fetch('http://localhost:' + (process.env.MCP_HTTP_PORT || 3010) + '/healthz').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
103
+
98
104
  # The command to start the server
99
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.8-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/wikipedia-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/wikipedia-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wikipedia-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.11-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.9-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/wikipedia-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/wikipedia-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wikipedia-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.11-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -217,7 +217,7 @@ cp .env.example .env
217
217
 
218
218
  | Variable | Description | Default |
219
219
  |:---------|:------------|:--------|
220
- | `WIKIPEDIA_USER_AGENT` | User-Agent header sent with every Wikimedia API request. Customize for your deployment. | `wikipedia-mcp-server/0.1.8 (https://github.com/cyanheads/wikipedia-mcp-server)` |
220
+ | `WIKIPEDIA_USER_AGENT` | User-Agent header sent with every Wikimedia API request. Customize for your deployment. | `wikipedia-mcp-server/0.1.9 (https://github.com/cyanheads/wikipedia-mcp-server)` |
221
221
  | `WIKIPEDIA_BASE_URL` | Base Wikipedia URL. Language selection is per-call — not a global language setting. | `https://en.wikipedia.org` |
222
222
  | `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |
223
223
  | `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |
@@ -0,0 +1,26 @@
1
+ ---
2
+ summary: "Adopt mcp-ts-core ^0.10.6; truncation disclosure in wikipedia_search_nearby; MCPB bundle cleaner and packaging-lint guards; explicit createApp identity; Docker healthcheck"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.9 — 2026-06-12
8
+
9
+ ## Added
10
+
11
+ - **`scripts/clean-mcpb.ts`** — post-pack bundle cleaner wired into the `bundle` script: runs `mcpb clean` (dev-dependency prune) then strips dependency-shipped agent docs (`node_modules/**` `skills/`, `.claude/`, `.agents/`, `SKILL.md`) that root-anchored `.mcpbignore` patterns cannot reach, and asserts zero remain.
12
+ - **`lint-packaging.ts` bundle-content and identity checks** — guards that `.mcpbignore` excludes root dev dirs without unanchored patterns stripping runtime `node_modules/**` paths, that a built `.mcpb` carries no `node_modules` agent-doc entries, and that `createApp()` `name`/`title` and manifest `display_name` equal the unscoped package name.
13
+ - **`check-framework-antipatterns.ts` `coerce-boolean-env-flag` rule** — flags `z.coerce.boolean()` in `src/` config (`Boolean("false")` is `true`, so the flag can't be disabled via env; use `z.stringbool()`); comment-line mentions are skipped.
14
+ - **Docker `HEALTHCHECK`** against `/healthz`, and an `APP_VERSION` build-arg populating the `org.opencontainers.image.version` OCI label.
15
+
16
+ ## Changed
17
+
18
+ - **`wikipedia_search_nearby`** enrichment replaces `totalResults` with `truncated` / `shown` / `cap` — emits `ctx.enrich.truncated({ shown, cap })` when results hit the limit, disclosing whether the result set was capped.
19
+ - **`createApp()`** sets explicit `name` and `title` of `'wikipedia-mcp-server'`, and `.codex-plugin/plugin.json` `interface.displayName` changes from `@cyanheads/wikipedia-mcp-server` to the unscoped `wikipedia-mcp-server`, so the served display identity is the machine name on every surface.
20
+ - **`.mcpbignore`** anchors dev-dir patterns with a leading `/` and adds `/.agents/` and `/skills/`, so the patterns match at bundle root only and no longer risk stripping nested runtime paths.
21
+ - **Vendored skills** synced to mcp-ts-core 0.10.6, adding the `techniques` skill (reusable response/data-shaping patterns).
22
+
23
+ ## Dependencies
24
+
25
+ - `@cyanheads/mcp-ts-core` ^0.9.21 → ^0.10.6
26
+ - `@types/node` ^25.9.1 → ^25.9.3
@@ -11,7 +11,7 @@ const ServerConfigSchema = z.object({
11
11
  .describe('Base Wikipedia URL — language selection is per-call, not global'),
12
12
  userAgent: z
13
13
  .string()
14
- .default('wikipedia-mcp-server/0.1.8 (https://github.com/cyanheads/wikipedia-mcp-server)')
14
+ .default('wikipedia-mcp-server/0.1.9 (https://github.com/cyanheads/wikipedia-mcp-server)')
15
15
  .describe('User-Agent header sent with every request per Wikimedia policy'),
16
16
  });
17
17
  let _config;
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@ import { getServerConfig } from './config/server-config.js';
8
8
  import { allToolDefinitions } from './mcp-server/tools/definitions/index.js';
9
9
  import { initWikipediaService } from './services/wikipedia/wikipedia-service.js';
10
10
  await createApp({
11
+ name: 'wikipedia-mcp-server',
12
+ title: 'wikipedia-mcp-server',
11
13
  tools: allToolDefinitions,
12
14
  resources: [],
13
15
  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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;;;;;wHAKwG;IACtH,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/B,KAAK,CAAC,IAAI;QACR,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1E,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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;;;;;wHAKwG;IACtH,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/B,KAAK,CAAC,IAAI;QACR,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC,CAAC"}
@@ -156,7 +156,9 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
156
156
  readonly queryLatitude: import("zod").ZodNumber;
157
157
  readonly queryLongitude: import("zod").ZodNumber;
158
158
  readonly radiusMetersUsed: import("zod").ZodNumber;
159
- readonly totalResults: import("zod").ZodNumber;
159
+ readonly truncated: import("zod").ZodBoolean;
160
+ readonly shown: import("zod").ZodNumber;
161
+ readonly cap: import("zod").ZodNumber;
160
162
  readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
161
163
  }>)[];
162
164
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO9B,CAAC"}
@@ -33,7 +33,9 @@ export declare const wikipediaSearchNearby: import("@cyanheads/mcp-ts-core").Too
33
33
  readonly queryLatitude: z.ZodNumber;
34
34
  readonly queryLongitude: z.ZodNumber;
35
35
  readonly radiusMetersUsed: z.ZodNumber;
36
- readonly totalResults: z.ZodNumber;
36
+ readonly truncated: z.ZodBoolean;
37
+ readonly shown: z.ZodNumber;
38
+ readonly cap: z.ZodNumber;
37
39
  readonly notice: z.ZodOptional<z.ZodString>;
38
40
  }>;
39
41
  //# sourceMappingURL=wikipedia-search-nearby.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wikipedia-search-nearby.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/wikipedia-search-nearby.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwJhC,CAAC"}
1
+ {"version":3,"file":"wikipedia-search-nearby.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/wikipedia-search-nearby.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8JhC,CAAC"}
@@ -43,13 +43,15 @@ export const wikipediaSearchNearby = tool('wikipedia_search_nearby', {
43
43
  .describe('Geotagged articles sorted ascending by distance_meters.'),
44
44
  language: z.string().describe('Language edition queried.'),
45
45
  }),
46
- // Agent-facing context — echoes the search parameters and total match count, plus
46
+ // Agent-facing context — echoes the search parameters, truncation disclosure, plus
47
47
  // an optional notice when nothing matched. Reaches both structuredContent and content[].
48
48
  enrichment: {
49
49
  queryLatitude: z.number().describe('Latitude used for the search.'),
50
50
  queryLongitude: z.number().describe('Longitude used for the search.'),
51
51
  radiusMetersUsed: z.number().describe('Radius in meters used for the search.'),
52
- totalResults: z.number().describe('Number of results returned.'),
52
+ truncated: z.boolean().describe('True when results were capped at the limit.'),
53
+ shown: z.number().describe('Number of results returned.'),
54
+ cap: z.number().describe('The limit that was applied.'),
53
55
  notice: z
54
56
  .string()
55
57
  .optional()
@@ -99,8 +101,13 @@ export const wikipediaSearchNearby = tool('wikipedia_search_nearby', {
99
101
  queryLatitude: input.latitude,
100
102
  queryLongitude: input.longitude,
101
103
  radiusMetersUsed: radiusMeters,
102
- totalResults: results.length,
103
104
  });
105
+ if (results.length >= limit) {
106
+ ctx.enrich.truncated({ shown: results.length, cap: limit });
107
+ }
108
+ else {
109
+ ctx.enrich({ shown: results.length, cap: limit, truncated: false });
110
+ }
104
111
  if (results.length === 0) {
105
112
  ctx.enrich.notice(`No geotagged Wikipedia articles found within ${radiusMeters}m of (${input.latitude}, ${input.longitude}). Try increasing radius_meters or verify the coordinates are correct.`);
106
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wikipedia-search-nearby.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/wikipedia-search-nearby.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wikipedia-search-nearby.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/wikipedia-search-nearby.tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/wikipedia-mcp-server",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Search Wikipedia articles, read summaries and full text, target sections, find nearby pages, and list language editions via MCP. STDIO or Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/wikipedia-mcp-server",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "format:unsafe": "biome check --write --unsafe .",
32
32
  "lint:mcp": "bun run scripts/lint-mcp.ts",
33
33
  "lint:packaging": "bun run scripts/lint-packaging.ts",
34
- "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/wikipedia-mcp-server.mcpb",
34
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/wikipedia-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/wikipedia-mcp-server.mcpb",
35
35
  "changelog:build": "bun run scripts/build-changelog.ts",
36
36
  "changelog:check": "bun run scripts/build-changelog.ts --check",
37
37
  "test": "bunx vitest run",
@@ -80,14 +80,14 @@
80
80
  "access": "public"
81
81
  },
82
82
  "dependencies": {
83
- "@cyanheads/mcp-ts-core": "^0.9.21",
83
+ "@cyanheads/mcp-ts-core": "^0.10.6",
84
84
  "pino-pretty": "^13.1.3",
85
85
  "wtf_wikipedia": "^10.4.2",
86
86
  "zod": "^4.4.3"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@biomejs/biome": "^2.4.16",
90
- "@types/node": "^25.9.1",
90
+ "@types/node": "^25.9.3",
91
91
  "depcheck": "^1.4.7",
92
92
  "ignore": "^7.0.5",
93
93
  "tsc-alias": "^1.8.17",
package/server.json CHANGED
@@ -6,14 +6,14 @@
6
6
  "url": "https://github.com/cyanheads/wikipedia-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.8",
9
+ "version": "0.1.9",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "registryBaseUrl": "https://registry.npmjs.org",
14
14
  "identifier": "@cyanheads/wikipedia-mcp-server",
15
15
  "runtimeHint": "bun",
16
- "version": "0.1.8",
16
+ "version": "0.1.9",
17
17
  "packageArguments": [
18
18
  {
19
19
  "type": "positional",
@@ -42,7 +42,7 @@
42
42
  "registryBaseUrl": "https://registry.npmjs.org",
43
43
  "identifier": "@cyanheads/wikipedia-mcp-server",
44
44
  "runtimeHint": "bun",
45
- "version": "0.1.8",
45
+ "version": "0.1.9",
46
46
  "packageArguments": [
47
47
  {
48
48
  "type": "positional",