Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
MCP server enabling AI clients to interact with any MediaWiki wiki through standard tools
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
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, PORTYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
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-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
CONFIG envMCP_ALLOW_STATIC_FALLBACK envMCP_CONTENT_MAX_BYTES envMCP_FILE_DATA_MAX_BYTES envMCP_LOG_LEVEL envMCP_MAX_REQUEST_BODY envMCP_METRICS envMCP_OAUTH_ALLOWED_REDIRECTS envMCP_OAUTH_CIMD_ALLOWED_HOSTS envMCP_OAUTH_CREDENTIALS_FILE envMCP_OAUTH_NO_BROWSER envMCP_OAUTH_PROXY_STORE_FILE envMCP_PUBLIC_URL envMCP_SHUTDOWN_GRACE_MS envMCP_TRANSPORT envMCP_UPLOAD_MAX_BYTES envMCP_USER_AGENT envPORT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account ProfessionalWiki, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.21.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB, Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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-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). |
| 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.
[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. |
`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.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>
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 |
[!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.
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.
Only the beginning is shown; read the rest in the repo