MediaWiki MCP Server
概览
作者提供的说明(英文原文)
MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i正在增长↓ 2251/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 文档、表格与办公
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
CONFIG,MCP_ALLOW_STATIC_FALLBACK,MCP_CONTENT_MAX_BYTES,MCP_FILE_DATA_MAX_BYTES,MCP_LOG_LEVEL,MCP_MAX_REQUEST_BODY,MCP_METRICS,MCP_OAUTH_ALLOWED_REDIRECTS,MCP_OAUTH_CIMD_ALLOWED_HOSTS,MCP_OAUTH_CREDENTIALS_FILE,MCP_OAUTH_NO_BROWSER,MCP_OAUTH_PROXY_STORE_FILE,MCP_PUBLIC_URL,MCP_SHUTDOWN_GRACE_MS,MCP_TRANSPORT,MCP_UPLOAD_MAX_BYTES,MCP_USER_AGENT,PORT
你需要
- npm已安装 Node.js(用于 npx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
claude mcp add mediawiki --env CONFIG=your-value --env MCP_ALLOW_STATIC_FALLBACK=your-value --env MCP_CONTENT_MAX_BYTES=your-value --env MCP_FILE_DATA_MAX_BYTES=your-value --env MCP_LOG_LEVEL=your-value --env MCP_MAX_REQUEST_BODY=your-value --env MCP_METRICS=your-value --env MCP_OAUTH_ALLOWED_REDIRECTS=your-value --env MCP_OAUTH_CIMD_ALLOWED_HOSTS=your-value --env MCP_OAUTH_CREDENTIALS_FILE=your-value --env MCP_OAUTH_NO_BROWSER=your-value --env MCP_OAUTH_PROXY_STORE_FILE=your-value --env MCP_PUBLIC_URL=your-value --env MCP_SHUTDOWN_GRACE_MS=your-value --env MCP_TRANSPORT=your-value --env MCP_UPLOAD_MAX_BYTES=your-value --env MCP_USER_AGENT=your-value --env PORT=your-value -- npx -y @professional-wiki/mediawiki-mcp-server运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"mediawiki": {
"command": "npx",
"args": [
"-y",
"@professional-wiki/mediawiki-mcp-server"
],
"env": {
"CONFIG": "your-value",
"MCP_ALLOW_STATIC_FALLBACK": "your-value",
"MCP_CONTENT_MAX_BYTES": "your-value",
"MCP_FILE_DATA_MAX_BYTES": "your-value",
"MCP_LOG_LEVEL": "your-value",
"MCP_MAX_REQUEST_BODY": "your-value",
"MCP_METRICS": "your-value",
"MCP_OAUTH_ALLOWED_REDIRECTS": "your-value",
"MCP_OAUTH_CIMD_ALLOWED_HOSTS": "your-value",
"MCP_OAUTH_CREDENTIALS_FILE": "your-value",
"MCP_OAUTH_NO_BROWSER": "your-value",
"MCP_OAUTH_PROXY_STORE_FILE": "your-value",
"MCP_PUBLIC_URL": "your-value",
"MCP_SHUTDOWN_GRACE_MS": "your-value",
"MCP_TRANSPORT": "your-value",
"MCP_UPLOAD_MAX_BYTES": "your-value",
"MCP_USER_AGENT": "your-value",
"PORT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"mediawiki": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@professional-wiki/mediawiki-mcp-server"
],
"env": {
"CONFIG": "your-value",
"MCP_ALLOW_STATIC_FALLBACK": "your-value",
"MCP_CONTENT_MAX_BYTES": "your-value",
"MCP_FILE_DATA_MAX_BYTES": "your-value",
"MCP_LOG_LEVEL": "your-value",
"MCP_MAX_REQUEST_BODY": "your-value",
"MCP_METRICS": "your-value",
"MCP_OAUTH_ALLOWED_REDIRECTS": "your-value",
"MCP_OAUTH_CIMD_ALLOWED_HOSTS": "your-value",
"MCP_OAUTH_CREDENTIALS_FILE": "your-value",
"MCP_OAUTH_NO_BROWSER": "your-value",
"MCP_OAUTH_PROXY_STORE_FILE": "your-value",
"MCP_PUBLIC_URL": "your-value",
"MCP_SHUTDOWN_GRACE_MS": "your-value",
"MCP_TRANSPORT": "your-value",
"MCP_UPLOAD_MAX_BYTES": "your-value",
"MCP_USER_AGENT": "your-value",
"PORT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
CONFIGenvPath to your configuration fileMCP_ALLOW_STATIC_FALLBACKenvSet to 'true' to allow HTTP startup when config.json has static credentials. Otherwise the server refuses to start, preventing silent shared-identity fallback for unauthenticated requests.MCP_CONTENT_MAX_BYTESenvByte cap for the content bodies and result blocks tools return (wikitext, rendered HTML, diffs, statement and row listings). An oversized response is truncated with a trailing marker describing what…MCP_FILE_DATA_MAX_BYTESenvHard cap on the base64-encoded size of a get-file-data response. A transport/safety backstop; callers tune actual size with the tool's width parameter. Over-cap responses error rather than truncate.MCP_LOG_LEVELenvMinimum severity for logger output (stderr telemetry and sendLoggingMessage broadcast). Invalid values fail loudly on first log call.MCP_MAX_REQUEST_BODYenvMaximum HTTP request body size on the StreamableHTTP transport. Accepts size strings like 1mb or 512kb.MCP_METRICSenvSet to 'true' to expose Prometheus metrics at GET /metrics on the HTTP transport. Has no effect on the stdio transport.MCP_OAUTH_ALLOWED_REDIRECTSenvAdditional allowed redirect URIs for hosted-proxy client registration: comma-separated exact URIs (which must include a host) and https prefix patterns ending in /*. Loopback, claude.ai, and verified…MCP_OAUTH_CIMD_ALLOWED_HOSTSenvComma-separated additional client_id document hosts trusted for CIMD (bare host or host:port). Verified first-party hosts are always trusted.MCP_OAUTH_CREDENTIALS_FILEenvOverride the default OAuth credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json on Linux/macOS, %APPDATA%\mediawiki-mcp\credentials.json on Windows.MCP_OAUTH_NO_BROWSERenvSet to '1' to skip launching a browser during the OAuth dance and log the auth URL to stderr instead. Useful in headless environments and CI.MCP_OAUTH_PROXY_STORE_FILEenvPath to the hosted OAuth proxy's encrypted state file, which lets sign-ins survive restarts. Default: proxy-store.enc under the mediawiki-mcp config dir; /app/data/proxy-store.enc in the Docker image.MCP_PUBLIC_URLenvOverride the request-derived public URL used in the protected-resource discovery doc and WWW-Authenticate header. Set this when running behind a proxy that rewrites the request Host.MCP_SHUTDOWN_GRACE_MSenvMaximum milliseconds to wait for in-flight /mcp calls to drain on SIGTERM/SIGINT before exiting. Capped at 600000.MCP_TRANSPORTenvType of MCP server transportMCP_UPLOAD_MAX_BYTESenvMemory cap on the server-side fetch used by upload-file-from-url and update-file-from-url. Files larger than this are routed to the wiki's own copy-upload instead of being buffered by the server. Gua…MCP_USER_AGENTenvReplaces the User-Agent header of every outbound request, which defaults to mediawiki-mcp-server/ (https://github.com/ProfessionalWiki/MediaWiki-MCP-Server). If you set it, give a name and an email o…PORTenvPort used for StreamableHTTP transport
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 ProfessionalWiki 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“文档、表格与办公”中的其他服务器比较i
- 星标数多于此分类中其他 3577 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3577 个服务器的 90% 更新
- 基础检查结果等于或优于此分类中其他 3577 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
MediaWiki MCP Server 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.21.0)于3天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB, Node.js。
有什么可以替代它?
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Excel MCP Server
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
MCP Server for Excel
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MediaWiki MCP Server
An MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.
Features
Tools
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.
Page reads
| 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-random-pages | List a random sample of wiki pages from one namespace (main by default, redirects excluded by default, up to 500 per call). |
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). |
Page writes
| 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 |
Wiki management
| 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. |
OAuth
| 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. |
Extension packs
Each pack's tools register only on wikis where its extension is installed.
[NeoWiki](https://neowiki.ai/)
| 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 name, in one schema or all. |
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 (main or other) 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. |
neowiki-mint-subject-ids | Mint unused subject IDs for dependent subjects written with their host. |
[Semantic MediaWiki](https://www.mediawiki.org/wiki/Extension:Semantic_MediaWiki)
| Name | Description |
|---|---|
smw-list-properties | List Semantic MediaWiki properties with copy-paste templates for smw-query. |
smw-query | Run a Semantic MediaWiki #ask query. |
[Bucket](https://github.com/weirdgloop/mediawiki-extensions-Bucket)
| Name | Description |
|---|---|
bucket-query | Run a Bucket Lua query. |
[Cargo](https://www.mediawiki.org/wiki/Extension:Cargo)
| 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. |
[Wikibase](https://www.mediawiki.org/wiki/Extension:Wikibase_Repository)
| 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. |
Resources
`mcp://wikis/{wikiKey}` — per-wiki resource exposing sitename, server (the wiki's public address), articlepath, scriptpath, and the private and readOnly flags.
- Those fields are the whole of it: the resource publishes a fixed list, so credentials and server-side settings in your configuration file are never exposed in resource content.
- After
add-wikiorremove-wiki, the server sendsnotifications/resources/list_changedso clients refresh.
Example read result
{
"contents": [ { "uri": "mcp://wikis/en.wikipedia.org", "mimeType": "application/json", "text": "{ \"sitename\":\"Wikipedia\",\"server\":\"https://en.wikipedia.org\",\"articlepath\":\"/wiki\",\"scriptpath\":\"/w\",\"private\":false }" } ] }
</details>
Environment variables
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/ (https://github.com/ProfessionalWiki/MediaWiki-MCP-Server) |
MCP_OAUTH_CREDENTIALS_FILE | Override the default credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json (Linux/macOS) or %APPDATA%\mediawiki-mcp\credentials.json (Windows). | unset |
MCP_OAUTH_NO_BROWSER | Set to 1 to skip launching a browser during the OAuth flow; the auth URL is logged to stderr instead. Useful in headless environments. | unset |
Configuration
[!NOTE]
Config is only required when interacting with a private wiki or using authenticated tools.
Create a config.json file to configure wiki connections. Use the config.example.json as a starting point.
{
"defaultWiki": "en.wikipedia.org", "wikis": { "en.wikipedia.org": { "sitename": "Wikipedia", "server": "https://en.wikipedia.org", "articlepath": "/wiki", "scriptpath": "/w" } } }
Internal vs public address. The server you configure may be an internal hostname (e.g. http://mediawiki in Docker); URLs handed back to the caller are built from the wiki's public address, so internal hostnames don't leak into links, once the internal host is listed in MCP_TRUSTED_HOSTS. See docs/configuration.md — per-wiki fields.
For the full field reference, env-var substitution, secret sources, change tags, bot edits, upload directories, and authentication options, see docs/configuration.md.
Authentication
Tools marked 🔐 require authentication. Write tools (including extension-pack writes) are refused on a wiki that has readOnly: true, and hidden from tools/list when every configured wiki has it — see Deployment.
- Browser-based OAuth (recommended). Sign in through a browse
只显示了开头部分;其余内容请在仓库中阅读