Search / io.github.ProfessionalWiki/mediawiki-mcp-server
MediaWiki MCP Server
L0· runs locallyMCP server enabling AI clients to interact with any MediaWiki wiki through standard tools
v0.19.0 · active · repository · descriptor JSON · versions
Search / io.github.ProfessionalWiki/mediawiki-mcp-server
L0· runs locallyMCP server enabling AI clients to interact with any MediaWiki wiki through standard tools
v0.19.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"-y",
"@professional-wiki/[email protected]"
],
"env": {
"CONFIG": "config.json",
"MCP_CONTENT_MAX_BYTES": "75000",
"MCP_FILE_DATA_MAX_BYTES": "1000000",
"MCP_LOG_LEVEL": "debug",
"MCP_MAX_REQUEST_BODY": "1mb",
"MCP_SHUTDOWN_GRACE_MS": "10000",
"MCP_TRANSPORT": "stdio",
"MCP_UPLOAD_MAX_BYTES": "104857600",
"PORT": "3000"
}
}
}
}claude mcp add mediawiki-mcp-server -e "CONFIG=config.json" -e "MCP_CONTENT_MAX_BYTES=75000" -e "MCP_FILE_DATA_MAX_BYTES=1000000" -e "MCP_LOG_LEVEL=debug" -e "MCP_MAX_REQUEST_BODY=1mb" -e "MCP_SHUTDOWN_GRACE_MS=10000" -e "MCP_TRANSPORT=stdio" -e "MCP_UPLOAD_MAX_BYTES=104857600" -e "PORT=3000" -- npx -y @professional-wiki/[email protected][mcp_servers.mediawiki-mcp-server]
command = "npx"
args = ["-y", "@professional-wiki/[email protected]"]
env = { "CONFIG" = "config.json", "MCP_CONTENT_MAX_BYTES" = "75000", "MCP_FILE_DATA_MAX_BYTES" = "1000000", "MCP_LOG_LEVEL" = "debug", "MCP_MAX_REQUEST_BODY" = "1mb", "MCP_SHUTDOWN_GRACE_MS" = "10000", "MCP_TRANSPORT" = "stdio", "MCP_UPLOAD_MAX_BYTES" = "104857600", "PORT" = "3000" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mediawiki-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@professional-wiki/[email protected]"
],
"enabled": true,
"environment": {
"CONFIG": "config.json",
"MCP_CONTENT_MAX_BYTES": "75000",
"MCP_FILE_DATA_MAX_BYTES": "1000000",
"MCP_LOG_LEVEL": "debug",
"MCP_MAX_REQUEST_BODY": "1mb",
"MCP_SHUTDOWN_GRACE_MS": "10000",
"MCP_TRANSPORT": "stdio",
"MCP_UPLOAD_MAX_BYTES": "104857600",
"PORT": "3000"
}
}
}
}{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"-y",
"@professional-wiki/[email protected]"
],
"env": {
"CONFIG": "config.json",
"MCP_CONTENT_MAX_BYTES": "75000",
"MCP_FILE_DATA_MAX_BYTES": "1000000",
"MCP_LOG_LEVEL": "debug",
"MCP_MAX_REQUEST_BODY": "1mb",
"MCP_SHUTDOWN_GRACE_MS": "10000",
"MCP_TRANSPORT": "stdio",
"MCP_UPLOAD_MAX_BYTES": "104857600",
"PORT": "3000"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mediawiki-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBwcm9mZXNzaW9uYWwtd2lraS9tZWRpYXdpa2ktbWNwLXNlcnZlckAwLjE5LjAiXSwiZW52Ijp7IkNPTkZJRyI6ImNvbmZpZy5qc29uIiwiTUNQX0NPTlRFTlRfTUFYX0JZVEVTIjoiNzUwMDAiLCJNQ1BfRklMRV9EQVRBX01BWF9CWVRFUyI6IjEwMDAwMDAiLCJNQ1BfTE9HX0xFVkVMIjoiZGVidWciLCJNQ1BfTUFYX1JFUVVFU1RfQk9EWSI6IjFtYiIsIk1DUF9TSFVURE9XTl9HUkFDRV9NUyI6IjEwMDAwIiwiTUNQX1RSQU5TUE9SVCI6InN0ZGlvIiwiTUNQX1VQTE9BRF9NQVhfQllURVMiOiIxMDQ4NTc2MDAiLCJQT1JUIjoiMzAwMCJ9fQ%3D%3D"
}{
"servers": {
"mediawiki-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@professional-wiki/[email protected]"
],
"env": {
"CONFIG": "config.json",
"MCP_CONTENT_MAX_BYTES": "75000",
"MCP_FILE_DATA_MAX_BYTES": "1000000",
"MCP_LOG_LEVEL": "debug",
"MCP_MAX_REQUEST_BODY": "1mb",
"MCP_SHUTDOWN_GRACE_MS": "10000",
"MCP_TRANSPORT": "stdio",
"MCP_UPLOAD_MAX_BYTES": "104857600",
"PORT": "3000"
}
}
}
}{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"-y",
"@professional-wiki/[email protected]"
],
"env": {
"CONFIG": "config.json",
"MCP_CONTENT_MAX_BYTES": "75000",
"MCP_FILE_DATA_MAX_BYTES": "1000000",
"MCP_LOG_LEVEL": "debug",
"MCP_MAX_REQUEST_BODY": "1mb",
"MCP_SHUTDOWN_GRACE_MS": "10000",
"MCP_TRANSPORT": "stdio",
"MCP_UPLOAD_MAX_BYTES": "104857600",
"PORT": "3000"
}
}
}
}extensions:
"mediawiki-mcp-server":
enabled: true
name: "mediawiki-mcp-server"
type: stdio
cmd: "npx"
args:
- "-y"
- "@professional-wiki/[email protected]"
envs:
"CONFIG": "config.json"
"MCP_CONTENT_MAX_BYTES": "75000"
"MCP_FILE_DATA_MAX_BYTES": "1000000"
"MCP_LOG_LEVEL": "debug"
"MCP_MAX_REQUEST_BODY": "1mb"
"MCP_SHUTDOWN_GRACE_MS": "10000"
"MCP_TRANSPORT": "stdio"
"MCP_UPLOAD_MAX_BYTES": "104857600"
"PORT": "3000"
timeout: 300
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulnsno known advisory in 136 resolved packagesdeps.mcp_sdk_version@modelcontextprotocol/node 2.1.0, no known advisorydeps.resolvable@professional-wiki/[email protected] resolved: 136 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo ~liveness-unmeasured +updated-25d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@professional-wiki/[email protected] npm135 dependencies, resolved · MCP SDK @modelcontextprotocol/node 2.1.0 · advisories checked 2026-10-19
No known advisory affects this dependency graph.
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
https://github.com/ProfessionalWiki/MediaWiki-MCP-Server/releases/download/v0.19.0/MediaWiki-MCP-Server.mcpb | mcpb | unpinned | – | |
@professional-wiki/mediawiki-mcp-server | npm | 0.19.0 | npx |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.ProfessionalWiki/mediawiki-mcp-server",
"title": "MediaWiki MCP Server",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.19.0",
"packages": [
{
"transport": {
"type": "stdio"
},
"fileSha256": "850230cbaa90fd896c6a6271c05152a82a47d6ca070abaca9c438490ef4e23f3",
"identifier": "https://github.com/ProfessionalWiki/MediaWiki-MCP-Server/releases/download/v0.19.0/MediaWiki-MCP-Server.mcpb",
"registryType": "mcpb",
"environmentVariables": [
{
"name": "CONFIG",
"format": "filepath",
"default": "config.json",
"description": "Path to your configuration file"
},
{
"name": "MCP_ALLOW_STATIC_FALLBACK",
"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_CONTENT_MAX_BYTES",
"format": "number",
"default": "75000",
"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."
},
{
"name": "MCP_FILE_DATA_MAX_BYTES",
"format": "number",
"default": "1000000",
"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."
},
{
"name": "MCP_LOG_LEVEL",
"choices": [
"debug",
"info",
"notice",
"warning",
"error",
"critical",
"alert",
"emergency",
"silent"
],
"default": "debug",
"description": "Minimum severity for logger output (stderr telemetry and sendLoggingMessage broadcast). Invalid values fail loudly on first log call."
},
{
"name": "MCP_MAX_REQUEST_BODY",
"default": "1mb",
"description": "Maximum HTTP request body size on the StreamableHTTP transport. Accepts size strings like 1mb or 512kb."
},
{
"name": "MCP_METRICS",
"description": "Set to 'true' to expose Prometheus metrics at GET /metrics on the HTTP transport. Has no effect on the stdio transport."
},
{
"name": "MCP_OAUTH_ALLOWED_REDIRECTS",
"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_CIMD_ALLOWED_HOSTS",
"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_CREDENTIALS_FILE",
"format": "filepath",
"description": "Override the default OAuth credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json on Linux/macOS, %APPDATA%\\mediawiki-mcp\\credentials.json on Windows."
},
{
"name": "MCP_OAUTH_NO_BROWSER",
"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_PROXY_STORE_FILE",
"format": "filepath",
"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."
},
{
"name": "MCP_PUBLIC_URL",
"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_SHUTDOWN_GRACE_MS",
"format": "number",
"default": "10000",
"description": "Maximum milliseconds to wait for in-flight /mcp calls to drain on SIGTERM/SIGINT before exiting. Capped at 600000."
},
{
"name": "MCP_TRANSPORT",
"choices": [
"stdio",
"http"
],
"default": "stdio",
"description": "Type of MCP server transport"
},
{
"name": "MCP_UPLOAD_MAX_BYTES",
"format": "number",
"default": "104857600",
"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."
},
{
"name": "MCP_USER_AGENT",
"description": "Replaces the User-Agent header of every outbound request, which defaults to mediawiki-mcp-server/<version> (https://github.com/ProfessionalWiki/MediaWiki-MCP-Server). If you set it, give a name and an email or URL, e.g. 'ExampleBot/1.0 ([email protected])'."
},
{
"name": "PORT",
"format": "number",
"default": "3000",
"description": "Port used for StreamableHTTP transport"
}
]
},
{
"version": "0.19.0",
"transport": {
"type": "stdio"
},
"identifier": "@professional-wiki/mediawiki-mcp-server",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "CONFIG",
"format": "filepath",
"default": "config.json",
"description": "Path to your configuration file"
},
{
"name": "MCP_ALLOW_STATIC_FALLBACK",
"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_CONTENT_MAX_BYTES",
"format": "number",
"default": "75000",
"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."
},
{
"name": "MCP_FILE_DATA_MAX_BYTES",
"format": "number",
"default": "1000000",
"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."
},
{
"name": "MCP_LOG_LEVEL",
"choices": [
"debug",
"info",
"notice",
"warning",
"error",
"critical",
"alert",
"emergency",
"silent"
],
"default": "debug",
"description": "Minimum severity for logger output (stderr telemetry and sendLoggingMessage broadcast). Invalid values fail loudly on first log call."
},
{
"name": "MCP_MAX_REQUEST_BODY",
"default": "1mb",
"description": "Maximum HTTP request body size on the StreamableHTTP transport. Accepts size strings like 1mb or 512kb."
},
{
"name": "MCP_METRICS",
"description": "Set to 'true' to expose Prometheus metrics at GET /metrics on the HTTP transport. Has no effect on the stdio transport."
},
{
"name": "MCP_OAUTH_ALLOWED_REDIRECTS",
"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_CIMD_ALLOWED_HOSTS",
"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_CREDENTIALS_FILE",
"format": "filepath",
"description": "Override the default OAuth credentials store path. Default: ~/.config/mediawiki-mcp/credentials.json on Linux/macOS, %APPDATA%\\mediawiki-mcp\\credentials.json on Windows."
},
{
"name": "MCP_OAUTH_NO_BROWSER",
"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_PROXY_STORE_FILE",
"format": "filepath",
"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."
},
{
"name": "MCP_PUBLIC_URL",
"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_SHUTDOWN_GRACE_MS",
"format": "number",
"default": "10000",
"description": "Maximum milliseconds to wait for in-flight /mcp calls to drain on SIGTERM/SIGINT before exiting. Capped at 600000."
},
{
"name": "MCP_TRANSPORT",
"choices": [
"stdio",
"http"
],
"default": "stdio",
"description": "Type of MCP server transport"
},
{
"name": "MCP_UPLOAD_MAX_BYTES",
"format": "number",
"default": "104857600",
"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."
},
{
"name": "MCP_USER_AGENT",
"description": "Replaces the User-Agent header of every outbound request, which defaults to mediawiki-mcp-server/<version> (https://github.com/ProfessionalWiki/MediaWiki-MCP-Server). If you set it, give a name and an email or URL, e.g. 'ExampleBot/1.0 ([email protected])'."
},
{
"name": "PORT",
"format": "number",
"default": "3000",
"description": "Port used for StreamableHTTP transport"
}
]
}
],
"repository": {
"url": "https://github.com/ProfessionalWiki/MediaWiki-MCP-Server",
"source": "github"
},
"description": "MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools"
}