Releases: cyanheads/wikipedia-mcp-server
Release list
v0.1.10: mcp-ts-core ^0.10.9 framework maintenance
mcp-ts-core ^0.10.9 framework maintenance
Adopts framework 0.10.9 and re-syncs the framework-shipped devcheck scripts and vendored skills. No server tool or behavior changes.
Added:
- check-dependency-specifiers.ts devcheck step — rejects floating specifiers (latest/*/dist-tags) in package.json and the bun.lock workspaces map (cyanheads/mcp-ts-core#246)
Changed:
- lint-packaging validates the plugin marketplace manifests (.claude-plugin, .codex-plugin); Packaging step runs when a plugin manifest is present (cyanheads/mcp-ts-core#240)
- devcheck git-dependent checks guard on isGitRepo() — a fresh scaffold without .git skips them cleanly
- vendored skills synced to mcp-ts-core 0.10.9
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.6 → ^0.10.9@biomejs/biome^2.4.16 → ^2.5.0@types/node^25.9.3 → ^26.0.0vitest^4.1.8 → ^4.1.9
114 tests pass; bun run devcheck clean.
v0.1.9: mcp-ts-core ^0.10.6, packaging guards, search-nearby truncation
mcp-ts-core ^0.10.6, packaging guards, search-nearby truncation
Adopts framework 0.10.6 and ships an MCPB bundle cleaner, packaging-lint
guards, and truncation disclosure on wikipedia_search_nearby.
Added:
- scripts/clean-mcpb.ts — post-pack mcpb clean + strip of dependency-shipped
agent docs under node_modules; wired into the bundle script - lint-packaging bundle-content, post-bundle, and identity checks
- check-framework-antipatterns z.coerce.boolean() env-flag rule
- Docker /healthz HEALTHCHECK and APP_VERSION image.version OCI label
Changed:
- wikipedia_search_nearby enrichment: totalResults → truncated/shown/cap
- createApp sets explicit name/title 'wikipedia-mcp-server'; .codex-plugin
display name unscoped to match - .mcpbignore dev-dir patterns anchored with a leading slash
- vendored skills synced to 0.10.6, adding the techniques skill
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.9.21 → ^0.10.6
- @types/node ^25.9.1 → ^25.9.3
114 tests pass; bun run devcheck clean.
v0.1.8: invalid_section contract fix for out-of-range section_index
invalid_section contract fix for out-of-range section_index
Catches ValidationError (-32007) from getArticleSection() for the nosuchsection
API code and re-throws via ctx.fail('invalid_section', ...), populating data.reason
for structured agent routing. Previously only NotFound (-32001) was intercepted.
Fixed:
- wikipedia_get_article: out-of-range section_index now yields data.reason === 'invalid_section' (#15)
114 tests pass; bun run devcheck clean.
v0.1.7: mcp-ts-core ^0.9.16 -> ^0.9.21, skill sync, release scripts
mcp-ts-core ^0.9.16 -> ^0.9.21, skill sync, release scripts
Adopts three framework fixes from @cyanheads/mcp-ts-core 0.9.21.
Changed:
- HTTP transport per-request log context — per-request logs and traces carry fresh request + trace/span IDs instead of the frozen boot context.
fetchWithTimeoutstrips query-string secrets (e.g.?api_key=) from error messages and logs.withRetryfails fast on non-retryable errors;ctx.failauto-populates theretryableflag.- README client-config — server key renamed from
wikipediatowikipedia-mcp-server; args updated to scoped package name. scripts/release-github.tsadded —release:githubscript for one-command GitHub Release creation.- Skills synced — 8 updated,
api-mirrorandorchestrationsadded.
Dependencies:
@cyanheads/mcp-ts-core^0.9.16 -> ^0.9.21vitest^4.1.7 -> ^4.1.8
113 tests pass; bun run devcheck clean.
v0.1.6: enrichment on search and nearby tools
enrichment on search and nearby tools
wikipedia_search and wikipedia_search_nearby now surface query/filter echoes, result totals, and empty-result guidance in a typed enrichment block that reaches both structuredContent and content[] automatically.
Changed:
- wikipedia_search: effectiveQuery, totalCount, notice in enrichment; total_results and query_used removed from output
- wikipedia_search_nearby: queryLatitude, queryLongitude, radiusMetersUsed, totalResults, notice in enrichment; four snake_case output fields removed
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.9.13 → ^0.9.16
53 tests pass; bun run devcheck clean.
v0.1.5: mcp-ts-core ^0.9.9 → ^0.9.13: HTTP hardening, dep refresh, error code corrections
mcp-ts-core ^0.9.9 → ^0.9.13: HTTP hardening, dep refresh, error code corrections
Adopts @cyanheads/mcp-ts-core ^0.9.13 and refreshes all dev dependencies.
Changed:
- HTTP session-init gate: non-initialize requests without Mcp-Session-Id rejected with 400
- MCP_HTTP_MAX_BODY_BYTES: configurable inbound body cap (default 1 MiB), 413 on oversize
- Auth-error log quieting: 401/403/400/404 at warning level, no stack traces
- GET /mcp keywords: package.json keywords surfaced in status JSON
- landing.requireAuth: false — explicit opt-in to public-catalog inventory after framework default changed for jwt/oauth deployments
- InvalidParams → ValidationError on invalid_section, invalid_coordinates, invalid_language across 6 tool definitions
Dependency bumps:
@cyanheads/mcp-ts-core^0.9.9 → ^0.9.13wtf_wikipedia^10.4.1 → ^10.4.2@biomejs/biome^2.4.7 → ^2.4.16@types/node^25.6.0 → ^25.9.1tsc-alias^1.8.16 → ^1.8.17typescript^5.9.3 → ^6.0.3vitest^4.1.0 → ^4.1.7
53 tests pass; bun run devcheck clean.
v0.1.4: Drop tsx, align scripts to bun-native execution
Drop tsx, align scripts to bun-native execution
All build/script invocations switched from tsx to bun run; test script uses bunx vitest run; start scripts use bun runtime directly. tsx removed from devDependencies. Funding block added.
Changed:
- All scripts/* invocations: tsx → bun run
test: vitest run → bunx vitest runstart:stdio/start:http: node → bun ./dist/index.js; barestartalias removedfundingblock added (GitHub Sponsors, Buy Me a Coffee)tsxremoved from devDependencies
53 tests pass; bun run devcheck clean.
v0.1.3: Field-test fixes, input validation, tool-description improvements
Field-test fixes, input validation, tool-description improvements
Bug fixes from a full field-test pass plus Zod schema hardening.
Fixed:
- not_found errors from the service layer now propagate via ctx.fail() in all 4 lookup tools, giving callers consistent data.reason
- invalid_section guard extended to all section_index < 1 (including negatives)
- wikipedia-service.ts getSummary now throws notFound (not serviceUnavailable) on empty pages key
- limit and radius_meters in wikipedia_search and wikipedia_search_nearby reject negative, zero, and float values at parse time
Changed:
- Tool descriptions condensed and clarified across all 6 tools
- title field examples added to input/output schemas
- pageid output descriptions note cross-tool usability
- Service simplification: heading extraction to filter+map, dropped redundant await on withRetry, tightened signal spread
53 tests pass; bun run devcheck clean.