MediaWiki MCP Server
MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools
The record the registry holds
There is no address to call. This one is a package you install and run yourself, wherever your assistant runs.
{
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.ProfessionalWiki/mediawiki-mcp-server",
"description": "MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools",
"title": "MediaWiki MCP Server",
"repository": {
"url": "https://github.com/ProfessionalWiki/MediaWiki-MCP-Server",
"source": "github"
},
"version": "0.17.0",
"packages": [
{
"registryType": "mcpb",
"identifier": "https://github.com/ProfessionalWiki/MediaWiki-MCP-Server/releases/download/v0.17.0/MediaWiki-MCP-Server.mcpb",
"fileSha256": "2004fcb521e24a73aaca98eadfde132df7cbb6fcf7b5814100a77b52a2188ed4",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Path to your configuration file",
"format": "filepath",
"default": "config.json",
"name": "CONFIG"
},
{
"description": "Set 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.",
"name": "MCP_ALLOW_STATIC_FALLBACK"
},
{
"description": "Byte 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 was left out.",
"format": "number",
"default": "50000",
"name": "MCP_CONTENT_MAX_BYTES"
},
{
"description": "Hard 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.",
"format": "number",
"default": "1000000",
"name": "MCP_FILE_DATA_MAX_BYTES"
},
{
"description": "Minimum severity for logger output (stderr telemetry and sendLoggingMessage broadcast). Invalid values fail loudly on first log call.",
"default": "debug",
"choices": [
"debug",
"info",
"notice",
"warning",
"error",
"critical",
"alert",
"emergency",
"silent"
],
"name": "MCP_LOG_LEVEL"
},
{
"description": "Maximum HTTP request body size on the StreamableHTTP transport. Accepts size strings like 1mb or 512kb.",
"default": "1mb",
"name": "MCP_MAX_REQUEST_BODY"
},
{
"description": "Set to 'true' to expose Prometheus metrics at GET /metrics on the HTTP transport. Has no effect on the stdio transport.",
"name": "MCP_METRICS"
},
{
"description": "Additional 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 first-party clients (ChatGPT, Cursor, VS Code) are always allowed; unset means no additional clients.",
"name": "MCP_OAUTH_ALLOWED_REDIRECTS"
},
{
"description": "Comma-separated additional client_id document hosts trusted for CIMD (bare host or host:port). Verified first-party hosts are always trusted.",
"name": "MCP_OAUTH_CIMD_ALLOWED_HOSTS"
},
{
"description": "Override the default OAuth credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json on Linux/macOS, %APPDATA%\\mediawiki-mcp\\credentials.json on Windows.",
"format": "filepath",
"name": "MCP_OAUTH_CREDENTIALS_FILE"
},
{
"description": "Set 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.",
"name": "MCP_OAUTH_NO_BROWSER"
},
{
"description": "Path 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.",
"format": "filepath",
"name": "MCP_OAUTH_PROXY_STORE_FILE"
},
{
"description": "Override 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.",
"name": "MCP_PUBLIC_URL"
},
{
"description": "Maximum milliseconds to wait for in-flight /mcp calls to drain on SIGTERM/SIGINT before exiting. Capped at 600000.",
"format": "number",
"default": "10000",
"name": "MCP_SHUTDOWN_GRACE_MS"
},
{
"description": "Type of MCP server transport",
"default": "stdio",
"choices": [
"stdio",
"http"
],
"name": "MCP_TRANSPORT"
},
{
"description": "Memory 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. Guards this server's memory, not the wiki's $wgMaxUploadSize.",
"format": "number",
"default": "104857600",
"name": "MCP_UPLOAD_MAX_BYTES"
},
{
"description": "Port used for StreamableHTTP transport",
"format": "number",
"default": "3000",
"name": "PORT"
}
]
},
{
"registryType": "npm",
"identifier": "@professional-wiki/mediawiki-mcp-server",
"version": "0.17.0",
"runtimeHint": "npx",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Path to your configuration file",
"format": "filepath",
"default": "config.json",
"name": "CONFIG"
},
{
"description": "Set 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.",
"name": "MCP_ALLOW_STATIC_FALLBACK"
},
{
"description": "Byte 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 was left out.",
"format": "number",
"default": "50000",
"name": "MCP_CONTENT_MAX_BYTES"
},
{
"description": "Hard 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.",
"format": "number",
"default": "1000000",
"name": "MCP_FILE_DATA_MAX_BYTES"
},
{
"description": "Minimum severity for logger output (stderr telemetry and sendLoggingMessage broadcast). Invalid values fail loudly on first log call.",
"default": "debug",
"choices": [
"debug",
"info",
"notice",
"warning",
"error",
"critical",
"alert",
"emergency",
"silent"
],
"name": "MCP_LOG_LEVEL"
},
{
"description": "Maximum HTTP request body size on the StreamableHTTP transport. Accepts size strings like 1mb or 512kb.",
"default": "1mb",
"name": "MCP_MAX_REQUEST_BODY"
},
{
"description": "Set to 'true' to expose Prometheus metrics at GET /metrics on the HTTP transport. Has no effect on the stdio transport.",
"name": "MCP_METRICS"
},
{
"description": "Additional 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 first-party clients (ChatGPT, Cursor, VS Code) are always allowed; unset means no additional clients.",
"name": "MCP_OAUTH_ALLOWED_REDIRECTS"
},
{
"description": "Comma-separated additional client_id document hosts trusted for CIMD (bare host or host:port). Verified first-party hosts are always trusted.",
"name": "MCP_OAUTH_CIMD_ALLOWED_HOSTS"
},
{
"description": "Override the default OAuth credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json on Linux/macOS, %APPDATA%\\mediawiki-mcp\\credentials.json on Windows.",
"format": "filepath",
"name": "MCP_OAUTH_CREDENTIALS_FILE"
},
{
"description": "Set 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.",
"name": "MCP_OAUTH_NO_BROWSER"
},
{
"description": "Path 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.",
"format": "filepath",
"name": "MCP_OAUTH_PROXY_STORE_FILE"
},
{
"description": "Override 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.",
"name": "MCP_PUBLIC_URL"
},
{
"description": "Maximum milliseconds to wait for in-flight /mcp calls to drain on SIGTERM/SIGINT before exiting. Capped at 600000.",
"format": "number",
"default": "10000",
"name": "MCP_SHUTDOWN_GRACE_MS"
},
{
"description": "Type of MCP server transport",
"default": "stdio",
"choices": [
"stdio",
"http"
],
"name": "MCP_TRANSPORT"
},
{
"description": "Memory 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. Guards this server's memory, not the wiki's $wgMaxUploadSize.",
"format": "number",
"default": "104857600",
"name": "MCP_UPLOAD_MAX_BYTES"
},
{
"description": "Port used for StreamableHTTP transport",
"format": "number",
"default": "3000",
"name": "PORT"
}
]
}
]
},
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"statusChangedAt": "2026-08-13T17:06:35.405607Z",
"publishedAt": "2026-08-13T17:06:35.405607Z",
"updatedAt": "2026-08-13T17:06:35.405607Z",
"isLatest": true
}
}
}
Draft an Agent Plugin from this
An MCP server is raw capability: some tools, wired to something. An Agent Plugin is the packaging that says what job it does, what it leaves behind and where it stops. The prompt below carries this record and asks for the packaging; your own assistant writes it, and nothing here is sent anywhere.
MCP server
These are the publisher's own words, filed by them with the official MCP registry and mirrored here. This catalog did not read them from the publisher and has not run, called or installed anything.
The publisher's own address
https://github.com/ProfessionalWiki/MediaWiki-MCP-Server
The address the publisher put in their registry record, printed as they wrote it. Nobody here has opened it.