Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

MediaWiki MCP Server

NPM · @PROFESSIONAL-WIKI/MEDIAWIKI-MCP-SERVER · 2 COMPONENTS · SCANNED SEP 20

MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools

0 this week 93 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 44 of 133 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to ProfessionalWiki/MediaWiki-MCP-Server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 9 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7407 tokens (~238/item across 31 items; 29 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the MediaWiki MCP Server server?

MediaWiki MCP Server runs locally as an npm package, launched with npx -y @professional-wiki/mediawiki-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @professional-wiki/mediawiki-mcp-server

# add to Claude Code
claude mcp add professionalwiki-mediawiki-mcp-server -- npx -y @professional-wiki/mediawiki-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "professionalwiki-mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@professional-wiki/mediawiki-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "professionalwiki-mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@professional-wiki/mediawiki-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add professionalwiki-mediawiki-mcp-server -- npx -y @professional-wiki/mediawiki-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "professionalwiki-mediawiki-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@professional-wiki/mediawiki-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add professionalwiki-mediawiki-mcp-server --command npx --arg -y --arg @professional-wiki/mediawiki-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  professionalwiki-mediawiki-mcp-server:
    command: "npx"
    args: ["-y", "@professional-wiki/mediawiki-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "professionalwiki-mediawiki-mcp-server": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@professional-wiki/mediawiki-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add professionalwiki-mediawiki-mcp-server -t stdio -c npx -a -y @professional-wiki/mediawiki-mcp-server
// mcp.json
{
  "mcpServers": {
    "professionalwiki-mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@professional-wiki/mediawiki-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 19 Sept 26 +1
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 12 Sept 26 +16
    • Malware scan: unverified → pass security
    • Stability: 0.97 → pass security
  • 10 Sept 26 −14
    • Malware scan: pass → unverified security
    • Package version: 0.17.0 → 0.18.0 functional
  • 8 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/@professional-wiki/mediawiki-mcp-server@0.18.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo ProfessionalWiki/MediaWiki-MCP-Server
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/ProfessionalWiki/MediaWiki-MCP-Server/.github/workflows/release.yml@refs/tags/v0.18.0
Rekor log index 2787686760
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:c805b49a6c1169e8561a98f73f8330ddee1b4ff1ad678e96c33c7231191e4180e6c3931e064770923009707ec75cde41e9a5c942d6cf75f244f6839cd

Background: How many MCP packages publish verified provenance →

Dependencies 133 packages
Packages resolved 133
Deprecated 2
Stale 43
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 29 exposed · ~7,093 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add-wiki ~120

Registers a new wiki as an MCP resource by fetching its sitename and API configuration from any URL on the wiki (e.g. a page URL). The wiki becomes available at mcp://wikis/<servername> and can be targeted by passing its key as the `wiki` argument to any wiki tool. Fails if the URL is not a MediaWiki wiki or if a wiki with the same key is already registered.

NameTypeReqDescription
wikiUrlstringyesAny URL from the target wiki (e.g. https://en.wikipedia.org/wiki/Main_Page)

No output schema declared.

No examples provided.

compare-pages ~340

Returns the changes between two versions of a wiki page as a compact text diff. Each side accepts a revision ID, page title (latest revision), or supplied wikitext; text-vs-text is rejected. Only the changes are returned over the wire. For the full text of both sides, fetch with get-page instead. If a title or revision ID does not exist, an error is returned. Set includeDiff=false for a cheap change-detection response that skips diff rendering and returns just the change flag, revision metadata, and size delta. Diff output is truncated at 75000 bytes by default, with a marker reporting how much of it was returned; a narrower revision range or includeDiff=false avoids truncation.

NameTypeReqDescription
fromRevisionintegerRevision ID for the "from" side
fromTextstringSupplied wikitext for the "from" side
fromTitlestringWiki page title for the "from" side (latest revision is used)
includeDiffbooleanInclude the diff body (default true). Set false for a cheap change-detection response.
toRevisionintegerRevision ID for the "to" side
toTextstringSupplied wikitext for the "to" side
toTitlestringWiki page title for the "to" side (latest revision is used)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

create-page ~322

Creates a new wiki page with the provided content and returns the new page's title, page ID, and first revision ID. Fails if a page with the given title already exists; for existing pages, use update-page. The optional contentModel parameter selects a non-default content format (e.g. javascript, css); when omitted, MediaWiki picks the default for the title's namespace. For building up a large page across multiple calls, pair create-page with chained update-page(operation='append') calls, each adding a chunk.

NameTypeReqDescription
botbooleanMarks the edit as a bot edit, which Special:RecentChanges hides by default. Takes effect only when the authenticated account has the `bot` right (granted by the bot group, or by the high-volume grant…
commentstringReason for creating the page
contentModelstringContent model of the new page. If omitted, MediaWiki picks the default for the title's namespace.
sourcestringyesPage content in the format specified by the contentModel parameter
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

delete-page ~140

Removes a wiki page from public view and returns the deleted title. This is a soft delete: the page and its revision history remain in the database and can be restored with undelete-page until an administrator purges them. Fails if the page does not exist or the authenticated user lacks the delete permission.

NameTypeReqDescription
commentstringReason for deleting the page
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-category-members ~227

Lists members of a category, returning each member's page ID, namespace ID, and wiki page title. Optionally filter by member type (page, file, subcat) or by namespace ID — filters apply server-side before the cap. Returns up to 500 members per call; paginate with continueFrom (opaque cursor echoed from the previous response). A member's type is omitted when it is an ordinary page (present only for files and subcategories).

NameTypeReqDescription
categorystringyesCategory name (with or without the "Category:" prefix)
continueFromstringOpaque continuation token from the previous response; omit on first call
limitintegerMaximum members to return (1..500)
namespacesarrayNamespace IDs to filter by
typesarrayTypes of members to include
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-file ~114

Returns metadata for a file (uploader, timestamp, size, MIME type) along with download URLs for the thumbnail, preview, and original. The File: prefix is added automatically if omitted.

NameTypeReqDescription
titlestringyesFile title (with or without the "File:" prefix)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-file-data ~289

Fetches a wiki file server-side and returns the image inline as a content block, for clients that cannot reach the wiki host (sandboxed or network-restricted) and need the image sent to the model for visual analysis. Returns a scaled rendition sized by width. Files MediaWiki can rasterize (images, SVG, PDF, DjVu) come back as an image; other types (audio, video, arbitrary binaries) error — for those, and for metadata or a download URL, use get-file.

NameTypeReqDescription
formatstring'image' returns a native image content block the model can view; 'text' returns the base64 as a text block, for hosts that do not forward image content to the model (base64 text costs far more tokens…
titlestringyesFile title (with or without the "File:" prefix)
widthintegerPixel width of the scaled rendition. A quality/detail knob: in image mode the model caps image tokens regardless of size, so larger mainly means more detail. Defaults to 1024 (512 when format is "tex…
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-links-here ~397

Lists pages that reference a target wiki page, returning each referencing page's title, page ID, namespace ID, and whether it is a redirect. The type parameter selects the relationship — wikilinks (pages that link to the target), transclusions (pages that embed it, such as a template), or fileusage (pages that display it, for File pages) — one relationship per call. With expandRedirects, a referencing redirect also yields the pages that link through it (wikilinks and fileusage only), each tagged with the via redirect. Filter by namespace ID or by redirect status. For members of a category, use get-category-members; for full-text content search, use search-page. Returns up to 500 per call; paginate with continueFrom. The redirect flag appears only when the referencing page is a redirect.

NameTypeReqDescription
continueFromstringOpaque continuation token from the previous response; omit on first call
expandRedirectsbooleanWhen a referencing page is a redirect to the target, also return the pages that link through it. Applies to wikilinks and fileusage only.
filterstringFilter the referencing pages by redirect status
limitintegerMaximum referencing pages to return (1..500)
namespacesarrayNamespace IDs to filter the referencing pages by
titlestringyesWiki page title to find references to (the link target). A File title when type is fileusage.
typestringInbound relationship to list: wikilinks (pages that link to the target), transclusions (pages that embed it), or fileusage (pages that display it)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-page ~263

Returns a single wiki page (wikitext source, rendered HTML, or metadata only). If the title does not exist, an error is returned. Use metadata=true to retrieve the revision ID (for edit-conflict detection), page size, and section outline. Set content="none" to fetch only metadata. Large content is truncated at 75000 bytes by default, with a marker reporting how much of it was returned and which sections a narrower read can target; a follow-up call with section=N fetches a specific section. For more than one page at a time, use get-pages. For a specific historical revision, use get-revision.

NameTypeReqDescription
contentstringType of content to return
metadatabooleanWhether to include metadata (page ID, revision info, size, section outline) in the response
sectionintegerSection number (0 = lead; 1..N = heading sections). Narrows content to one section.
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-page-history ~199

Returns revision metadata (revision ID, timestamp, user, comment, size, minor flag) for a wiki page, in segments of 20 revisions, newest first. Paginate with olderThan or newerThan (mutually exclusive). If the title does not exist, an error is returned. Boolean flags appear only when true.

NameTypeReqDescription
filterstringChange tag — return only revisions carrying this tag
newerThanintegerRevision ID — return revisions newer than this (exclusive). Mutually exclusive with olderThan.
olderThanintegerRevision ID — return revisions older than this (exclusive). Mutually exclusive with newerThan.
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-pages ~329

Returns multiple wiki pages in one call (wikitext source or metadata only). Suited to reading a cluster of related pages, diffing a page family, or syncing pages to local storage. Accepts up to 50 titles; missing pages are reported inline (not as errors). One byte budget covers the whole response, 75000 bytes by default: pages come back whole in the order asked for until it is spent, and the pages past that point are named rather than returned, so a follow-up call for those names fetches the rest. Only a first page larger than the budget on its own is truncated, with a marker reporting how much of it was returned and which sections a narrower read can target. For a single page or HTML output, use get-page. requestedTitle is included only when it differs from the resolved title.

NameTypeReqDescription
contentstringType of content to return; "none" returns metadata only
followRedirectsbooleanFollow wiki redirects. When true (default), redirect targets are returned with a "Redirected from:" line in the metadata. Set false to fetch redirect pseudo-pages as-is (sync-fidelity).
metadatabooleanWhether to include metadata (page ID, revision info) in the response
titlesarrayyesArray of wiki page titles (1..50)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-recent-changes ~501

Returns recent change events, newest first, in segments of 50. Defaults to edits and page creations; set types to include log actions, categorizations, or external changes. Each row includes title, timestamp, user, revision IDs, size change, flags (minor/bot/new/anon), tags, and change type. Filter by timestamp window, namespaces, user, change tag, or hide flags (hideBots/hideMinor/hideAnon/hideRedirects/hidePatrolled). Pass showPatrolStatus to include per-row patrol state (requires patrol rights). Paginate with the continue token from the truncation marker. For a single page's revision history, use get-page-history. Boolean flags appear only when true; rows report the size delta, not raw old/new lengths.

NameTypeReqDescription
continuestringContinuation token from a prior call's truncation marker
excludeUserstringUsername — exclude changes by this user. Mutually exclusive with user.
hideAnonbooleanOmit edits by anonymous users
hideBotsbooleanOmit bot-flagged edits
hideMinorbooleanOmit minor-flagged edits
hidePatrolledbooleanOmit patrolled edits. Requires patrol rights.
hideRedirectsbooleanOmit changes whose target is a redirect
namespacearrayNamespace IDs to restrict the feed to — e.g. [0, 1] for main and talk
showPatrolStatusbooleanInclude per-row patrol status; adds an "Unpatrolled: yes" line to unpatrolled rows. Requires patrol rights.
sincestringISO 8601 timestamp — only return changes at or after this time
tagstringChange tag — return only changes carrying this tag
typesarrayEvent types to include. Defaults to edit and new (content changes only).
untilstringISO 8601 timestamp — only return changes at or before this time
userstringUsername — return only changes by this user. Mutually exclusive with excludeUser.
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-revision ~205

Returns a specific historical revision of a wiki page by revision ID (wikitext source, rendered HTML, or metadata only). If the revision ID does not exist, an error is returned. Content is truncated at 75000 bytes by default; a past revision has no narrower read, so for a large one use compare-pages to see what changed. For the latest revision plus metadata, use get-page with metadata=true.

NameTypeReqDescription
contentstringType of content to return
metadatabooleanWhether to include metadata (revision ID, page ID, page title, user ID, user name, timestamp, comment, size, minor, HTML URL) in the response
revisionIdintegeryesRevision ID
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

get-site-info ~181

Returns key facts about the targeted wiki from its MediaWiki siteinfo: general settings (sitename, MediaWiki version, content language, page-title case-sensitivity, live read-only state, and maxarticlesize in bytes), the namespace map with localized names and aliases, the list of installed extension names, and the content license. Set includeStatistics to also return page, article, edit, image, user, active-user, and admin counts.

NameTypeReqDescription
includeStatisticsbooleanAlso return live wiki statistics (page, article, edit, image, user, active-user, and admin counts). Defaults to false.
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

list-wikis ~77

Lists every configured wiki: its key (pass as the `wiki` argument to other tools), sitename, server URL, whether it is read-only or the default, whether it is currently reachable, and which extension-gated tools work on it. Use to discover the configured wikis, their keys, and which extension tools each supports.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

move-page ~317

Renames a wiki page, moving it — and by default its talk page — to a new title, and returns the old and new titles plus whether a redirect was left behind. By default leaves a redirect at the old title; set leaveRedirect=false to suppress it (requires the suppressredirect right, otherwise the redirect is left regardless). Fails if the source page does not exist, if the target title already exists (unless it is a redirect and ignoreWarnings is set), or if the authenticated user lacks the move permission. Moving a File page additionally requires the file-move permission.

NameTypeReqDescription
commentstringReason for the move
fromTitlestringyesCurrent title of the wiki page to move
ignoreWarningsbooleanProceed past move warnings, e.g. when the target is an existing redirect. Moving over a non-redirect page still fails.
leaveRedirectbooleanLeave a redirect at the old title. Suppressing it requires the suppressredirect right; without that right MediaWiki leaves the redirect regardless.
moveSubpagesbooleanAlso move subpages, where the namespace allows subpages
moveTalkbooleanAlso move the associated talk page
toTitlestringyesNew title to move the page to
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

oauth-logout ~59

Removes stored OAuth tokens. With no argument, removes all stored tokens; with `wiki`, removes only that wiki. Stdio only.

NameTypeReqDescription
wikistringWiki key to log out from. Omit to log out from all wikis.

No output schema declared.

No examples provided.

oauth-status ~31

Lists wikis with stored OAuth tokens, their scopes, and expiry. Stdio only. Never returns token values.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

parse-wikitext ~238

Renders wikitext through the live wiki without saving. Returns HTML, parse warnings, categories, wikilinks, templates, external URLs, and display title. Suited to dry-running a planned edit before create-page or update-page, or previewing standalone wikitext (template combinations, sanitizer checks) with no target page. HTML output is truncated at 75000 bytes by default, with a marker reporting how much of it was returned; a smaller wikitext fragment in a follow-up call returns the rest.

NameTypeReqDescription
applyPreSaveTransformbooleanApply pre-save transform (expand ~~~~ signatures, {{subst:}}, normalize whitespace). Matches editor "Show preview" behavior.
titlestringWiki page title providing context for magic words like {{PAGENAME}}. Defaults to "API".
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.
wikitextstringyesWikitext to render

No output schema declared.

No examples provided.

remove-wiki ~67

Removes a wiki from the MCP resources. Clears any cached credentials and license metadata for the wiki. Fails if the specified wiki is the configured default wiki.

NameTypeReqDescription
uristringyesMCP resource URI of the wiki to remove (e.g. mcp://wikis/en.wikipedia.org)

No output schema declared.

No examples provided.

search-page ~221

Searches wiki page titles and page content (full-text) for the provided terms. Returns matching pages with a snippet, size, timestamp, and the namespace the match came from. Covers the namespaces the wiki counts as content unless namespaces names the namespace IDs to search; get-site-info lists a wiki's namespaces and flags which of them hold content. Accepts up to 100 matches per call (default 10); additional matches beyond the cap are flagged in the response — narrow the query to surface more. For title-prefix lookup (e.g. autocomplete), use search-page-by-prefix.

NameTypeReqDescription
limitintegerMaximum number of search results to return
namespacesarrayNamespace IDs to search — e.g. [0, 12] for main and help
querystringyesSearch terms
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

search-page-by-prefix ~163

Returns wiki page titles beginning with a given prefix (suited to autocomplete and title lookup). Only titles are returned — no snippets, sizes, or IDs. Accepts up to 500 titles per call (default 10); additional matches beyond the cap are flagged in the response. For full-text content search, use search-page.

NameTypeReqDescription
limitintegerMaximum number of results to return
namespaceintegerNamespace ID to restrict the search to
prefixstringyesWiki page title prefix
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

undelete-page ~134

Restores a previously deleted wiki page, including its full revision history, and returns the restored title. The page must currently be in a deleted state (from delete-page); fails if no deleted revisions exist for the title or the authenticated user lacks the undelete permission.

NameTypeReqDescription
commentstringReason for undeleting the page
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

update-file ~240

Uploads a new revision of an existing file from the local disk, preserving prior revisions in the file history, and returns the file title and URL. The upload appears in the wiki's upload log. Replaces the file content (bytes) only; for editing the wikitext on a file's description page, use update-page. The operator restricts which directories are readable; filepath must be an absolute path inside a configured upload directory, or the call fails before contacting the wiki. Fails if no file exists at the target title; for the initial upload, use upload-file. To upload a new revision from a remote web address instead of a local path, use update-file-from-url.

NameTypeReqDescription
commentstringReason for uploading the new revision
filepathstringyesFile path on the local disk
titlestringyesFile title (with or without the "File:" prefix)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

update-file-from-url ~237

Fetches a file from a remote web URL and uploads it as a new revision of an existing file, preserving prior revisions in the file history, and returns the file title and URL. The upload appears in the wiki's upload log. Replaces the file content (bytes) only; for editing the wikitext on a file's description page, use update-page. Works whether or not the wiki has upload-by-URL enabled: the server retrieves the file and uploads it directly, falling back to wiki-side fetching only when it cannot reach the URL itself. Fails if no file exists at the target title; for the initial upload, use upload-file-from-url.

NameTypeReqDescription
commentstringReason for uploading the new revision
titlestringyesFile title (with or without the "File:" prefix)
urlstringyesURL of the file to upload
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

update-page ~1,029

Writes to an existing wiki page and returns the new revision ID. Fails if the page does not exist; for new pages, use create-page. operation says what the write does and section says where: omit section to act on the whole page, or set it to confine the write to one section. For changing part of a page, use operation='find-replace', which carries only the text being rewritten, so nothing outside find can be lost and the rest of the page never has to travel to or from the caller; a find that matches nothing, or more than one place, is refused without writing, which also makes it safe to resend a call whose result never arrived. For replacing a target outright, use operation='replace', whose source must carry every byte meant to survive; it is refused when source would shorten a target too large for one read to return whole, since the rest was never seen. With section set it also takes out every subsection nested under that section, is refused when source would drop them, and needs latestId to say which revision the section number was read from. operation='append' and 'prepend' add a delta: a new section at the end of the page is an append whose source begins with the heading, and with section set a prepend inserts one immediately above that section. Pass latestId (reported as latestRevisionId by any get-page read that returns wikitext) for edit-conflict detection: the write is rejected rather than silently clobbering a concurrent change. Each call is a separate revision, and resending an append or prepend whose result never arrived adds the delta a second time.

NameTypeReqDescription
botbooleanMarks the edit as a bot edit, which Special:RecentChanges hides by default. Takes effect only when the authenticated account has the `bot` right (granted by the bot group, or by the high-volume grant…
commentstringSummary of the edit
findstringThe existing wikitext to rewrite, matched in full and exactly, whitespace and template markup included. Required when operation is 'find-replace'. A find that matches nothing, or more than one place,…
latestIdintegerBase revision ID for edit-conflict detection; any get-page read that returns wikitext reports it as latestRevisionId. Required when section is set, because the wiki resolves a section number against…
modestringDeprecated older spelling of operation='append' and operation='prepend'. Send operation instead.
operationstringWhat the write does to the target: 'replace' overwrites it with source, 'append' and 'prepend' add source to it, and 'find-replace' rewrites only the text find names and leaves the rest of the target…
removeSubsectionsbooleanConfirms that replacing this section is meant to remove the subsections nested under it. Required only when section is set and source contains fewer subsection headings than the section currently has.
removeUnreadContentbooleanConfirms that replacing content larger than a single read returns is meant to discard the part that was never returned. Required only when the target holds more bytes than one response carries and so…
replaceWithstringWhat find becomes. Required when operation is 'find-replace'; an empty string deletes the text find matched.
sectionintegerSection number (0 = lead; 1..N = heading sections), from the section list get-page reports. Confines the write to that section: omit it to act on the whole page. A replace also takes out every subsec…
sourcestringThe content to write, in the existing page's content model. Required for every operation except find-replace, and refused for that one. An appended source that opens a new section must begin on its o…
titlestringyesWiki page title
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

upload-file ~232

Uploads a file from the local disk into the wiki's File namespace and returns the resulting file title and URL. The upload appears in the wiki's upload log. The operator restricts which directories are readable; filepath must be an absolute path inside a configured upload directory, or the call fails before contacting the wiki. Fails if a file with the target title already exists (the wiki does not silently overwrite existing files). To upload directly from a remote web address instead of a local path, use upload-file-from-url. To replace an existing file with a new revision, use update-file.

NameTypeReqDescription
commentstringReason for uploading the file
filepathstringyesFile path on the local disk
textstringyesWikitext on the file page
titlestringyesFile title (with or without the "File:" prefix)
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

upload-file-from-url ~219

Fetches a file from a remote web URL and uploads it into the wiki's File namespace, returning the resulting file title and URL. The upload appears in the wiki's upload log. Works whether or not the wiki has upload-by-URL enabled: the server retrieves the file and uploads it directly, falling back to wiki-side fetching only when it cannot reach the URL itself. Fails if a file with the target title already exists. To replace an existing file with a new revision, use update-file-from-url.

NameTypeReqDescription
commentstringReason for uploading the file
textstringyesWikitext on the file page
titlestringyesFile title (with or without the "File:" prefix)
urlstringyesURL of the file to upload
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

whoami ~202

Returns the identity the current session is authenticated as on the targeted wiki: the username, whether the session is anonymous (no user is logged in), and the user groups it belongs to. Set includeRights to also return the full list of user rights. Use to confirm who edits and uploads will be attributed to before writing — for example, to resolve your own username before building a title under your own user namespace (User:<username>/…). Reports anonymous access rather than failing when the session has no credentials. For which wikis have stored OAuth tokens and their scopes, use oauth-status instead.

NameTypeReqDescription
includeRightsbooleanAlso return the full list of user rights granted on this wiki (a long list). Defaults to false.
wikistringWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.

No output schema declared.

No examples provided.

Common questions

What is the MediaWiki MCP Server server?

MediaWiki MCP Server is listed in the public MCP registry as io.github.ProfessionalWiki/mediawiki-mcp-server. MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools. This page covers its npm package (@professional-wiki/mediawiki-mcp-server).

Is the MediaWiki MCP Server server safe to use?

MediaWiki MCP Server scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the MediaWiki MCP Server server expose?

MediaWiki MCP Server exposes 29 tools: get-page, get-pages, get-page-history, get-recent-changes, search-page, and 24 more. Their descriptions and schemas cost roughly 7,093 tokens of context every time the server is loaded.

Is the MediaWiki MCP Server server still maintained?

MediaWiki MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the MediaWiki MCP Server server under?

MediaWiki MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.