Model Context Protocol (MCP) Server to connect your AI with any MediaWiki
# Add to your Claude Code skills
git clone https://github.com/ProfessionalWiki/MediaWiki-MCP-ServerGuides for using ai agents skills like MediaWiki-MCP-Server.
Last scanned: 7/3/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@anthropic-ai/mcpb: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@inquirer/editor: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@inquirer/prompts: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "external-editor: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "tmp: tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-07-03T07:21:16.038Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how MediaWiki-MCP-Server compares with popular alternatives.
MediaWiki-MCP-Server is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ProfessionalWiki. Model Context Protocol (MCP) Server to connect your AI with any MediaWiki. It has 136 GitHub stars.
MediaWiki-MCP-Server returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/ProfessionalWiki/MediaWiki-MCP-Server" and add it to your Claude Code skills directory (see the Installation section above).
MediaWiki-MCP-Server is primarily written in TypeScript. It is open-source under ProfessionalWiki on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh MediaWiki-MCP-Server against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
An MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.
Every tool that operates on a wiki accepts an optional wiki argument naming the wiki to act on (the wiki-management and OAuth tools do not) — pass a wiki key (e.g. en.wikipedia.org) or the full mcp://wikis/{wikiKey} URI. Omit it to use the configured default wiki (see Configuration). Each tool response reports the wiki the call ran against. Each successful response carries its payload as prose in content and as JSON in structuredContent; see response channels.
| Name | Description |
|---|---|
compare-pages |
Diff two versions of a wiki page by revision, title, or supplied wikitext. |
get-category-members |
List members of a category (up to 500 per call, paginated via continueFrom). |
get-file |
Fetch a file page. |
get-file-data |
Fetch a file's image bytes inline (base64) for visual analysis — for clients that can't reach the wiki host. Returns a scaled rendition (set width); non-renderable types (audio, video, binaries) error. For metadata or a download URL, use get-file. |
get-links-here |
List pages that reference a wiki page — pages that link to it, embed it as a template, or display it as a file (select via type), including pages that reach it through a redirect. Up to 500 per call, paginated via continueFrom. |
get-page |
Fetch a wiki page. |
get-page-history |
List recent revisions of a wiki page. |
get-pages |
Fetch multiple wiki pages in one call (up to 50). |
get-recent-changes |
List recent change events across the wiki, filterable by timestamp, namespace, user, tag, type, and hide flags (up to 50 per call, paginated via continue). |
get-revision |
Fetch a specific revision of a page. |
get-site-info |
Get a wiki's key settings: MediaWiki version, content language, title-case rules, namespaces, installed extensions, license, and (optionally) statistics. |
list-wikis |
List every configured wiki — its key, sitename, server, whether it is read-only or the default, whether it is reachable, which extension-gated tools work on it, and, for an OAuth-configured wiki, its authorization server. Disabled when fewer than two wikis are configured. |
parse-wikitext |
Render wikitext to HTML without saving. Returns parse warnings, wikilinks, templates, and external URLs. |
search-page |
Search wiki page titles and contents (full-text). Searches the wiki's content namespaces unless given other namespace IDs. |
search-page-by-prefix |
Search page titles by prefix. |
whoami |
Report the identity the current session is authenticated as on the targeted wiki — username, whether it is anonymous, and group memberships (optionally user rights). |
| Name | Description | Permissions |
|---|---|---|
create-page 🔐 |
Create a new wiki page. | Create, edit, and move pages |
delete-page 🔐 |
Delete a wiki page. | Delete pages, revisions, and log entries |
move-page 🔐 |
Move (rename) a wiki page. | Create, edit, and move pages |
protect-page 🔐 |
Protect or unprotect a wiki page. | Protect and unprotect pages |
undelete-page 🔐 |
Undelete a wiki page. | Delete pages, revisions, and log entries |
update-file 🔐 |
Upload a new revision of an existing file from local disk. | Upload, replace, and move files |
update-file-from-url 🔐 |
Upload a new revision of an existing file from a URL. | Upload, replace, and move files |
update-page 🔐 |
Update an existing wiki page: overwrite it, add to it, or rewrite one passage of it. | Edit existing pages |
upload-file 🔐 |
Upload a file to the wiki from local disk. | Upload new files |
upload-file-from-url 🔐 |
Upload a file to the wiki from a URL. | Upload, replace, and move files |
| Name | Description |
|---|---|
add-wiki |
Add a wiki as an MCP resource from its URL. Disabled when allowWikiManagement is false. |
remove-wiki |
Remove a wiki resource. Disabled when allowWikiManagement is false or fewer than two wikis are configured. |
| Name | Description |
|---|---|
oauth-logout |
Remove stored OAuth tokens. Stdio only. |
oauth-status |
List stored OAuth tokens with scopes and expiry (no token values). Stdio only. |
Each pack's tools register only on wikis where its extension is installed.
| Name | Description |
|---|---|
neowiki-list-schemas |
List schemas (entity types) and their property counts. |
neowiki-get-schema |
Get one schema's property definitions, relations, and select options. |
neowiki-cypher-query |
Run a read-only Cypher query against the knowledge graph. |
neowiki-search-subjects |
Find subject IDs by label within a schema. |
neowiki-get-subject |
Fetch one subject's structured data by ID. |
neowiki-get-page-subjects |
List the subjects attached to a wiki page. |
neowiki-create-subject |
Create a subject (child or main) on a page. Requires the edit right. |
neowiki-update-subject |
Replace a subject's label and statements. Requires the edit right. |
neowiki-delete-subject |
Delete a subject by ID. Requires the edit right. |
neowiki-set-main-subject |
Set or clear a page's main subject. Requires the edit right. |
neowiki-validate-subject |
Dry-run validate a proposed subject and return violations. |
| Name | Description |
|---|---|
smw-list-properties |
List Semantic MediaWiki properties with copy-paste templates for smw-query. |
smw-query |
Run a Semantic MediaWiki #ask query. |
| Name | Description |
|---|---|
bucket-query |
Run a Bucket Lua query. |
| Name | Description |
|---|---|
cargo-list-tables |
List Cargo tables defined on the wiki. |
cargo-describe-table |
List a Cargo table's fields with their types and list-flags. |
cargo-query |
Run a Cargo SQL-style query. |
| Name | Description |
|---|---|
wikibase-search-entities |
Find items and properties by label or alias. |
wikibase-get-entity |
Read one entity's terms and statements, with referenced IDs resolved to labels. |
wikibase-query |
Run a SPARQL query against the wiki's query service. Offered only for a repository whose siteinfo publishes one. |
wikibase-edit-entity |
Create or change an entity from Wikibase entity JSON. Requires the edit right. |
wikibase-add-statement |
Add one statement with an item, string, external-id or url value. Requires the edit right. |
mcp://wikis/{wikiKey} — per-wiki resource exposing sitename, server (the wiki's public address), articlepath, scriptpath, and the private and readOnly flags.
add-wiki or remove-wiki, the server sends notifications/resources/list_changed so clients refresh.{
"contents": [
{
"uri": "mcp://wikis/en.wikipedia.org",
"mimeType": "application/json",
"text": "{ \"sitename\":\"Wikipedia\",\"server\":\"https://en.wikipedia.org\",\"articlepath\":\"/wiki\",\"scriptpath\":\"/w\",\"private\":false }"
}
]
}
The variables below are relevant to any setup. Variables that only apply when self-hosting the HTTP transport (ports, timeouts, Host/Origin and SSRF guards) or running the hosted OAuth proxy are in docs/deployment.md — environment variables. Config-file substitution and upload-directory variables are in docs/configuration.md.
| Name | Description | Default |
|---|---|---|
CONFIG |
Path to your configuration file | config.json |
MCP_TRANSPORT |
Type of MCP server transport (stdio or http) |
stdio |
MCP_LOG_LEVEL |
Minimum severity for logger output. One of debug, info, notice, warning, error, critical, alert, emergency, or silent. |
debug |
MCP_CONTENT_MAX_BYTES |
Byte cap for the content bodies and result blocks tools return (wikitext, rendered HTML, diffs, statement and row listings), applied once per response. Tune to the target LLM client's tool-response budget. | 75000 |
MCP_FILE_DATA_MAX_BYTES |
Hard cap on the base64-encoded size of a get-file-data response. A transport/safety backstop; tune the actual size per call with the tool's width. Over-cap calls error rather than truncate. |
1000000 |
MCP_UPLOAD_MAX_BYTES |
Memory cap on the server-side fetch used by upload-file-from-url / update-file-from-url. Files larger than this are handed to the wiki's own copy-upload instead of being buffered by the server. Guards this server's memory, not the wiki's $wgMaxUploadSize. |
104857600 |
MCP_USER_AGENT |
Replaces the User-Agent header of every outbound request, so wiki operators can reach you. Give a name and an email or URL, e.g. ExampleBot/1.0 (bot@example.org). |
mediawiki-mcp-server/<version> (https://github.com/ProfessionalWiki/MediaWiki-MCP-Server) |
| `MCP_OAU |