# Reported issues for wikipedia-mcp-server

Pod holds 19 of 34 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [wikipedia-mcp-server](/mcp/wikipedia-mcp-server).

## Most discussed

### bug(wikipedia_search): float limit bypasses validation, triggers spurious no_results

### Server version

0.1.2

### mcp-ts-core version

0.9.9

### Runtime

Bun

### Runtime version

Bun 1.3.11

### Transport

HTTP (Streamable HTTP)

### OS

macOS 25.1.0

### Description

`wikipedia_search` accepts a `limit: number` parameter that passes Zod validation for float values (e.g., `5.7`). The float is then passed as `"5.7"` to the Wikipedia Action API's `srlimit` parameter, which rejects non-integers with `badinteger`. The server handles this by receiving an empty results array and t

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/14) · 2026-05-25 · closed · 3 comments

### bug(all tools): not_found error contract declares reason but notFound() factory omits data.reason

### Server version

0.1.2

### mcp-ts-core version

0.9.9

### Runtime

Node.js

### Runtime version

Bun 1.3.11

### Transport

HTTP (Streamable HTTP)

### OS

macOS 25.1.0

### Description

All six tools declare a `not_found` entry in their `errors[]` contract, but when the error fires, `result.structuredContent.error.data.reason` is absent. Agents and tooling that check `data.reason === "not_found"` to distinguish this error from others will never match.

The root cause: the service layer (`w

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/12) · 2026-05-25 · closed · 3 comments

### bug(all tools): non-existent Wikipedia language editions expose full API URL in network error

Valid BCP 47 language codes that don't correspond to an existing Wikipedia edition (e.g. `"xx"`, `"zz"`) pass the regex validation in `buildBaseUrl()` but produce a network error after 4 retry attempts. The error message leaks the full internal API URL and exposes implementation details.

### Steps to reproduce

1. Call `wikipedia_search` with `language: "xx"` (valid format, no Wikipedia edition).
2. Observe network error after ~10s (4 retries × timeout).

### Actual behavior

```json
{
  "code"

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/6) · 2026-05-24 · closed · 3 comments

### bug(wikipedia_get_article): side-box template text renders as prose — Library resources, sister projects, and spoken-article boxes

### Server version

0.1.14

### mcp-ts-core version

0.11.0

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

stdio

### Description

Related: #28, #32

`htmlSectionToPlainText` renders the text of `{{Side box}}`-family templates — `{{Library resources box}}`, `{{Sister project links}}`, `{{Spoken Wikipedia}}` — as article prose. They are `<div class="side-box metadata …">`, and only `<table>` is checked against MediaWiki's `metadata` class, so the `<div>` form is walked into an

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/34) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_get_article): text of display:none elements leaks into plain text — MathML duplicates every formula, gadgets emit UI labels

### Server version

0.1.14

### mcp-ts-core version

0.11.0

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

Related: #28

Tag stripping keeps the text of elements MediaWiki hides with an inline `style="display:none"`. Nothing in the pipeline reads inline styles, so hidden markup reaches the caller as prose. Two shapes account for it:

- **Math.** The [Math extension](https://www.mediawiki.org/wiki/Extension:Math) emits `<span class="mwe-math-element">` c

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/33) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_get_article): layout tables are dropped with the data tables, emptying Discography/Filmography-style sections

### Server version

0.1.14

### mcp-ts-core version

0.11.0

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

Related: #28

`htmlSectionToPlainText` drops every `<table>` element so a section read renders the same shape the full-article extract path does. MediaWiki also emits `<table>` for pure *layout* — `{{col-begin}}`, `{{columns-list}}` and friends wrap ordinary `<ul>`/`<p>` content in `<table class="col-begin" role="presentation">` to lay it out in co

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/32) · 2026-07-30 · closed · 2 comments

### bug(all tools): language validator rejects "simple", making simple.wikipedia.org unreachable

### Server version

0.1.13

### mcp-ts-core version

0.11.0

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

Every tool pre-validates `language` against `/^[a-z]{2,3}(-[a-z0-9]+)*$/i` before any edition lookup. The first subtag is bounded at 2–3 characters, so `simple` (6 letters, no hyphen) fails the shape check and `simple.wikipedia.org` — the Simple English edition — is unreachable through this server on every tool.

The code is present in the edition 

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/31) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_search_nearby): radius_meters accepts values below the upstream 10 m floor

### Server version

0.1.13

### mcp-ts-core version

0.11.0

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

`wikipedia_search_nearby`'s `radius_meters` validator is `.min(1)`, but [MediaWiki's geosearch module](https://www.mediawiki.org/wiki/Extension:GeoData#list=geosearch) reports `gsradius` `min: 10`. A radius of 1–9 passes the tool's schema, reaches the API, and comes back as a raw `outofrange` error rather than the tool's typed contract.

`searchNea

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/30) · 2026-07-30 · closed · 2 comments

## Most recent

### feat(wikipedia_search_nearby): truncated results are unreachable — raise the limit cap to the upstream 500 and fix the cap notice

`wikipedia_search_nearby` caps `limit` at 50 and discloses truncation via `ctx.enrich.truncated`, but nothing lets a caller reach the results past the cap. [MediaWiki's geosearch module](https://www.mediawiki.org/wiki/Extension:GeoData#list=geosearch) has no `offset` or `continue` parameter, so there is no pagination to fall back on — the server's own cap is the entire ceiling.

That cap is 10× stricter than upstream. `action=paraminfo&modules=query%2Bgeosearch` reports `gslimit` `max: 500` (`hi

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/29) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_get_article): section reads hoist headings into a fake TOC and drop inline template text

### Server version

0.1.13

### mcp-ts-core version

0.10.14

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

Section-targeted reads (`wikipedia_get_article` with `section_index`) fetch raw wikitext via `action=parse&prop=wikitext` and strip it through `stripWikitext` / [wtf_wikipedia](https://github.com/spencermountain/wtf_wikipedia). Full-article reads take a different route — `action=query&prop=extracts&explaintext` — and the two produce materially dif

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/28) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_get_languages): redirect titles are not resolved — alias returns no_other_languages

### Server version

0.1.13

### mcp-ts-core version

0.10.14

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

`wikipedia_get_languages` is the one read path that does not pass `redirects: 'true'` to the Action API. `getSummary` (REST, implicit), `getArticleFull`, `getArticleSection`, and `getSections` all resolve redirects; the `langlinks` query in `getLanguages` does not. A redirect page carries no interwiki links of its own, so the tool reports the arti

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/27) · 2026-07-30 · closed · 2 comments

### bug(invalid_language): hardcoded edition allowlist rejects ~49 real Wikipedia editions and contains a phantom entry

### Server version

0.1.13

### mcp-ts-core version

0.10.14

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

http

### Description

`KNOWN_WIKIPEDIA_EDITIONS` in `src/services/wikipedia/wikipedia-service.ts` is a hand-maintained set of 227 codes gating every tool's `language` parameter. [Wikipedia currently runs ~340 language editions](https://meta.wikimedia.org/wiki/List_of_Wikipedias), so the list is materially incomplete, and a hardcoded list cannot track editions as they a

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/26) · 2026-07-30 · closed · 2 comments

### bug(wikipedia_get_sections): getSections relies on the deprecated MediaWiki prop=sections parameter

### Server version

0.1.11

### mcp-ts-core version

0.10.14

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

N/A — reproduces on the upstream MediaWiki Action API directly, independent of transport.

### Description

`WikipediaService.getSections()` (`src/services/wikipedia/wikipedia-service.ts`) calls the MediaWiki Action API with `action=parse&prop=sections`. MediaWiki now flags this parameter as deprecated in favor of `prop=tocdata` on every response. The call still succeed

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/25) · 2026-07-17 · closed · 1 comment

### bug(wikipedia_get_languages): missing-url fallback composes wrong host for langcode≠subdomain editions

### Server version

0.1.11

### mcp-ts-core version

0.10.14

### Runtime

Bun

### Runtime version

Bun 1.3.x

### Transport

http

### Description

`wikipedia_get_languages` derives each interwiki entry's `url` from the MediaWiki `langlinks` API (`llprop=url`). When the API omits `url` for an entry, the service falls back to composing `https://<language_code>.wikipedia.org/...` from the language code. For editions whose language code differs from their URL subdomain — e.g. `gsw` → `als.wikiped

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/24) · 2026-07-17 · closed · 2 comments

### feat(wikipedia_get_article): add overflow handling for full-article responses

`wikipedia_get_article` can return very large full-article payloads in a single response. A live call for `{ "title": "Python (programming language)" }` returned `content.length === 40428`, and larger articles will be more expensive for clients to ingest blindly.

## Proposal

Add explicit overflow handling for full-article reads while preserving targeted section reads as the precise path.

### Proposed behavior

When a full article exceeds a configured/default threshold, return a compact outlin

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/23) · 2026-06-28 · closed · 1 comment

### feat(wikipedia_search): add pagination beyond the first capped result page

`wikipedia_search` exposes `totalCount` and caps each call at 50 results, but it has no `offset`/continuation input for fetching later pages. That makes broad searches discover there are many matches without giving agents a way to page through them.

## Proposal

Add a pagination input for the Action API search offset, and return enough pagination metadata for follow-up calls.

### Proposed behavior

Example shape:

```ts
input: {
  query: string;
  limit?: number;      // existing, capped at 50

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/22) · 2026-06-28 · closed · 1 comment

### docs(tool descriptions): pageid fields claim IDs can be passed to tools that only accept titles

`wikipedia_search` and `wikipedia_search_nearby` advertise `pageid` values as follow-up tool inputs, but the current public tools accept article titles, not page IDs. This can steer agents into using page IDs as search strings or looking for nonexistent pageid parameters.

## Evidence

- `wikipedia_search` description: `Returned pageid values can be passed to other tools.`
- `wikipedia_search` output field: `Wikipedia page ID — use as input to other tools.`
- `wikipedia_search_nearby` output fie

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/21) · 2026-06-28 · closed · 1 comment

### bug(title validation): blank titles leak generic upstream errors in sections and languages

### Server version

0.1.10

### mcp-ts-core version

0.10.9

### Runtime

Bun

### Runtime version

Bun 1.3.11

### Transport

Streamable HTTP

### Description

Blank or whitespace-only titles are not validated consistently before hitting Wikipedia. Some paths map empty input to the declared `not_found` contract, while others leak generic upstream/service errors without `data.reason` or useful recovery.

Related: #8

### Steps to reproduce

1. Call `wikipedia_get_languages` with `{ "title": "" }

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/20) · 2026-06-28 · closed · 1 comment

### bug(wikipedia_get_article,wikipedia_get_sections): redirect titles are not resolved like summaries

### Server version

0.1.10

### mcp-ts-core version

0.10.9

### Runtime

Bun

### Runtime version

Bun 1.3.11

### Transport

Streamable HTTP

### Description

`wikipedia_get_summary` follows redirects, but `wikipedia_get_article` and `wikipedia_get_sections` can fail on the same redirected title. This makes the natural summary → sections/article workflow brittle when the summary resolves an alias.

### Steps to reproduce

1. Call `wikipedia_get_summary` with `{ "title": "NYC" }`.
2. Observe a 

[Read the thread](https://github.com/cyanheads/wikipedia-mcp-server/issues/19) · 2026-06-28 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/cyanheads/wikipedia-mcp-server/issues).
