{"id":28504222,"url":"https://github.com/professionalwiki/mediawiki-mcp-server","last_synced_at":"2026-01-05T20:14:16.300Z","repository":{"id":297840007,"uuid":"982324225","full_name":"ProfessionalWiki/MediaWiki-MCP-Server","owner":"ProfessionalWiki","description":"Model Context Protocol (MCP) Server that interacts with any MediaWiki wiki","archived":false,"fork":false,"pushed_at":"2025-06-20T22:52:42.000Z","size":147,"stargazers_count":4,"open_issues_count":10,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-20T23:30:48.962Z","etag":null,"topics":["mcp-server","mediawiki","model-context-protocol-servers"],"latest_commit_sha":null,"homepage":"https://professional.wiki/en/mediawiki-mcp-server","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfessionalWiki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-12T17:55:22.000Z","updated_at":"2025-06-20T22:52:45.000Z","dependencies_parsed_at":"2025-06-07T20:38:52.699Z","dependency_job_id":null,"html_url":"https://github.com/ProfessionalWiki/MediaWiki-MCP-Server","commit_stats":null,"previous_names":["professionalwiki/mediawiki-mcp-server"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ProfessionalWiki/MediaWiki-MCP-Server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMediaWiki-MCP-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMediaWiki-MCP-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMediaWiki-MCP-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMediaWiki-MCP-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfessionalWiki","download_url":"https://codeload.github.com/ProfessionalWiki/MediaWiki-MCP-Server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMediaWiki-MCP-Server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262581404,"owners_count":23331915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp-server","mediawiki","model-context-protocol-servers"],"created_at":"2025-06-08T18:00:38.447Z","updated_at":"2026-01-05T20:14:16.292Z","avatar_url":"https://github.com/ProfessionalWiki.png","language":"TypeScript","funding_links":[],"categories":["Knowledge \u0026 Memory"],"sub_categories":["How to Submit"],"readme":"# MediaWiki MCP Server\n[![NPM Version](https://img.shields.io/npm/v/%40professional-wiki%2Fmediawiki-mcp-server?color=red)](https://www.npmjs.com/package/@professional-wiki/mediawiki-mcp-server) [![smithery badge](https://smithery.ai/badge/@ProfessionalWiki/mediawiki-mcp-server)](https://smithery.ai/server/@ProfessionalWiki/mediawiki-mcp-server) [![MIT licensed](https://img.shields.io/npm/l/%40professional-wiki%2Fmediawiki-mcp-server)](./LICENSE)\n\nAn MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.\n\n## Feature\n\n### Tools\n\n| Name | Description | Permissions |\n|---|---|---|\n| `add-wiki` | Adds a new wiki as an MCP resource from a URL. | - |\n| `create-page` 🔐 | Create a new wiki page. | `Create, edit, and move pages` |\n| `delete-page` 🔐 | Delete a wiki page. | `Delete pages, revisions, and log entries` |\n| `get-category-members` | Gets all members in the category | - |\n| `get-file` | Returns the standard file object for a file page. | - |\n| `get-page` | Returns the standard page object for a wiki page. | - |\n| `get-page-history` | Returns information about the latest revisions to a wiki page. | - |\n| `get-revision` | Returns the standard revision object for a page. | - |\n| `remove-wiki` | Removes a wiki resource. | - |\n| `search-page` | Search wiki page titles and contents for the provided search terms. | - |\n| `search-page-by-prefix` | Perform a prefix search for page titles. | - |\n| `set-wiki` | Sets the wiki resource to use for the current session. | - |\n| `undelete-page` 🔐 | Undelete a wiki page. | `Delete pages, revisions, and log entries` |\n| `update-page` 🔐 | Update an existing wiki page. | `Edit existing pages` |\n| `upload-file` 🔐 | Uploads a file to the wiki from the local disk. | `Upload new files` |\n| `upload-file-from-url` 🔐 | Uploads a file to the wiki from a web URL. | `Upload, replace, and move files` |\n\n### Resources\n\n`mcp://wikis/{wikiKey}`\n- Credentials (e.g., `token`, `username`, `password`) are never exposed in resource content.\n- After `add-wiki`/`remove-wiki`, the server sends `notifications/resources/list_changed` so clients refresh.\n\n\u003cdetails\u003e\u003csummary\u003eExample list result\u003c/summary\u003e\n\n```json\n{\n  \"resources\": [\n    {\n      \"uri\": \"mcp://wikis/en.wikipedia.org\",\n      \"name\": \"wikis/en.wikipedia.org\",\n      \"title\": \"Wikipedia\",\n      \"description\": \"Wiki \\\"Wikipedia\\\" hosted at https://en.wikipedia.org\"\n    }\n  ]\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eExample read result\u003c/summary\u003e\n\n```json\n{\n  \"contents\": [\n    {\n      \"uri\": \"mcp://wikis/en.wikipedia.org\",\n      \"mimeType\": \"application/json\",\n      \"text\": \"{ \\\"sitename\\\":\\\"Wikipedia\\\",\\\"server\\\":\\\"https://en.wikipedia.org\\\",\\\"articlepath\\\":\\\"/wiki\\\",\\\"scriptpath\\\":\\\"/w\\\",\\\"private\\\":false }\"\n    }\n  ]\n}\n```\n\u003c/details\u003e\n\n### Environment variables\n| Name | Description | Default |\n|---|---|---|\n| `CONFIG` | Path to your configuration file | `config.json` |\n| `MCP_TRANSPORT` | Type of MCP server transport (`stdio` or `http`) | `stdio` |\n| `PORT` | Port used for StreamableHTTP transport | `3000` |\n\n## Configuration\n\n\u003e **Note:** Config is only required when interacting with a private wiki or using authenticated tools.\n\nCreate a `config.json` file to configure wiki connections. Use the `config.example.json` as a starting point.\n\n### Basic structure\n\n```json\n{\n  \"defaultWiki\": \"en.wikipedia.org\",\n  \"wikis\": {\n    \"en.wikipedia.org\": {\n      \"sitename\": \"Wikipedia\",\n      \"server\": \"https://en.wikipedia.org\",\n      \"articlepath\": \"/wiki\",\n      \"scriptpath\": \"/w\",\n      \"token\": null,\n      \"username\": null,\n      \"password\": null,\n      \"private\": false\n    }\n  }\n}\n```\n\n### Configuration fields\n\n| Field | Description |\n|---|---|\n| `defaultWiki` | The default wiki identifier to use (matches a key in `wikis`) |\n| `wikis` | Object containing wiki configurations, keyed by domain/identifier |\n\n### Wiki configuration fields\n\n| Field | Required | Description |\n|---|---|---|\n| `sitename` | Yes | Display name for the wiki |\n| `server` | Yes | Base URL of the wiki (e.g., `https://en.wikipedia.org`) |\n| `articlepath` | Yes | Path pattern for articles (typically `/wiki`) |\n| `scriptpath` | Yes | Path to MediaWiki scripts (typically `/w`) |\n| `token` | No | OAuth2 access token for authenticated operations (preferred) |\n| `username` | No | Bot username (fallback when OAuth2 is not available) |\n| `password` | No | Bot password (fallback when OAuth2 is not available) |\n| `private` | No | Whether the wiki requires authentication to read (default: `false`) |\n\n### Authentication setup\n\nFor tools marked with 🔐, authentication is required.\n\n**Preferred method: OAuth2 Token**\n\n1. Navigate to `Special:OAuthConsumerRegistration/propose/oauth2` on your wiki\n2. Select \"This consumer is for use only by [YourUsername]\"\n3. Grant the necessary permissions\n4. After approval, you'll receive:\n   - Client ID\n   - Client Secret\n   - Access Token\n5. Add the `token` to your wiki configuration in `config.json`\n\n\u003e **Note:** OAuth2 requires the [OAuth extension](https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:OAuth) to be installed on the wiki.\n\n**Fallback method: Username \u0026 Password**\n\nIf OAuth2 is not available on your wiki, you can use bot credentials (from `Special:BotPasswords` ) instead of the OAuth2 token.\n\n## Installation\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eInstall via Smithery\u003c/b\u003e\u003c/summary\u003e\n\nTo install MediaWiki MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@ProfessionalWiki/mediawiki-mcp-server):\n\n```bash\nnpx -y @smithery/cli install @ProfessionalWiki/mediawiki-mcp-server --client claude\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eInstall in Claude Desktop\u003c/b\u003e\u003c/summary\u003e\n\nFollow the [guide](https://modelcontextprotocol.io/quickstart/user), use following configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"mediawiki-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@professional-wiki/mediawiki-mcp-server@latest\"\n      ],\n      \"env\": {\n        \"CONFIG\": \"path/to/config.json\"\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eInstall in VS Code\u003c/b\u003e\u003c/summary\u003e\n\n[![Install in VS Code](https://img.shields.io/badge/Add%20to-VS%20Code-blue?style=for-the-badge\u0026labelColor=%230e1116\u0026color=%234076b5)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522mediawiki-mcp-server%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540professional-wiki%252Fmediawiki-mcp-server%2540latest%2522%255D%257D)\n[![Install in VS Code Insiders](https://img.shields.io/badge/Add%20to-VS%20Code%20Insiders-blue?style=for-the-badge\u0026labelColor=%230e1116\u0026color=%234f967e)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522mediawiki-mcp-server%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540professional-wiki%252Fmediawiki-mcp-server%2540latest%2522%255D%257D)\n\n```bash\ncode --add-mcp '{\"name\":\"mediawiki-mcp-server\",\"command\":\"npx\",\"args\":[\"@professional-wiki/mediawiki-mcp-server@latest\"]}'\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eInstall in Cursor\u003c/b\u003e\u003c/summary\u003e\n\n[![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=mediawiki-mcp-server\u0026config=eyJjb21tYW5kIjoibnB4IEBwcm9mZXNzaW9uYWwtd2lraS9tZWRpYXdpa2ktbWNwLXNlcnZlckBsYXRlc3QifQ%3D%3D)\n\nGo to `Cursor Settings` -\u003e `MCP` -\u003e `Add new MCP Server`. Name to your liking, use `command` type with the command `npx @professional-wiki/mediawiki-mcp-server`. You can also verify config or add command like arguments via clicking `Edit`.\n\n```json\n{\n  \"mcpServers\": {\n    \"mediawiki-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@professional-wiki/mediawiki-mcp-server@latest\"\n      ],\n      \"env\": {\n        \"CONFIG\": \"path/to/config.json\"\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eInstall in Windsurf\u003c/b\u003e\u003c/summary\u003e\n\nFollow the [guide](https://docs.windsurf.com/windsurf/cascade/mcp), use following configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"mediawiki-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@professional-wiki/mediawiki-mcp-server@latest\"\n      ],\n      \"env\": {\n        \"CONFIG\": \"path/to/config.json\"\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eInstall in Claude Code\u003c/b\u003e\u003c/summary\u003e\n\nFollow the [Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp).\n\nRun the below command, optionally with `-e` flags to specify environment variables.\n\n    claude mcp add mediawiki-mcp-server npx @professional-wiki/mediawiki-mcp-server@latest\n\nYou should end up with something like the below in your `.claude.json` config:\n\n```json\n\"mcpServers\": {\n  \"mediawiki-mcp-server\": {\n    \"type\": \"stdio\",\n    \"command\": \"npx\",\n    \"args\": [\n      \"@professional-wiki/mediawiki-mcp-server@latest\"\n    ],\n    \"env\": {\n      \"CONFIG\": \"path/to/config.json\"\n    }\n  }\n},\n```\n\u003c/details\u003e\n\n## Development\n\n\u003e 🐋 **Develop with Docker:** Replace the `npm run` part of the command with `make` (e.g. `make inspector`).\n\n\n### [MCP Inspector](https://github.com/modelcontextprotocol/inspector)\n\nTest and debug the MCP server without a MCP client and LLM.\n\nTo start the development server and the MCP Inspector together:\n```sh\nnpm run inspector\n```\n\nThe command will build and start the MCP Proxy server locally at `6277` and the MCP Inspector client UI at `http://localhost:6274`.\n\n\n### [MCPJam Inspector](https://github.com/MCPJam/inspector)\n\nTest and debug the MCP server, with a built-in MCP client and support for different LLMs.\n\nTo start the development server and the MCP Inspector together:\n```sh\nnpm run mcpjam\n```\n\n### Test with MCP clients\n\nTo enable your MCP client to use this MediaWiki MCP Server for local development: \n\n1. [Install](#installation) the MCP server on your MCP client.\n2. Change the `command` and `args` values as shown in the [`mcp.json`](mcp.json) file (or [`mcp.docker.json`](mcp.docker.json) if you prefer to run the MCP server in Docker).\n3. Run the `dev` command so that the source will be compiled whenever there is a change:\n\n\t```sh\n\tnpm run dev\n\t```\n\n### Release process\n\nTo release a new version:\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e1. Use npm version to create a release\u003c/b\u003e\u003c/summary\u003e\n\n```sh\n# For patch release (0.1.1 → 0.1.2)\nnpm version patch\n\n# For minor release (0.1.1 → 0.2.0)\nnpm version minor\n\n# For major release (0.1.1 → 1.0.0)\nnpm version major\n\n# Or specify exact version\nnpm version 0.2.0\n```\n\nThis command automatically:\n- Updates `package.json` and `package-lock.json`\n- Syncs the version in `server.json`, `mcpb/manifest.json`, `Dockerfile` (via the version script)\n- Creates a git commit\n- Creates a git tag (e.g., `v0.2.0`)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e2. Push to GitHub\u003c/b\u003e\u003c/summary\u003e\n\n```sh\ngit push origin master --follow-tags\n```\n\nThe `release` GitHub workflow will trigger automatically:\n- Build a MCP bundle `.mcpb` and publish to [GitHub](https://github.com/ProfessionalWiki/MediaWiki-MCP-Server/releases)\n- Build and publish to [NPM](https://www.npmjs.com/package/@professional-wiki/mediawiki-mcp-server) \n- Publish to the [MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.professionalwiki/mediawiki-mcp-server)\n\u003c/details\u003e\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a pull request or open an issue for bugs, feature requests, or suggestions.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fmediawiki-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessionalwiki%2Fmediawiki-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fmediawiki-mcp-server/lists"}