py-3rdparty-mediawiki
mcp
Fail
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Fail
- Hardcoded secret — Potential hardcoded credential in tests/test_mcp_server.py
Permissions Pass
- Permissions — No dangerous permissions requested
Purpose
This tool is a Python wrapper around the mwclient and pywikibot libraries, providing a command-line toolkit to automate content management on third-party MediaWiki sites. It also functions as an MCP server, allowing AI assistants to interact with wikis.
Security Assessment
The overall risk is rated as Medium. The tool inherently makes external network requests to read, edit, upload, and delete pages on configured MediaWiki instances. It requires user-provided credentials to perform these actions. However, the automated scan detected a failure regarding a potential hardcoded credential inside a test file (`tests/test_mcp_server.py`). While likely just a test mock or leftover testing configuration, developers should verify this before running the codebase to prevent accidental credential exposure. The tool does not request inherently dangerous local system permissions.
Quality Assessment
The project is actively maintained, with its last push occurring very recently. It uses a standard, permissive open-source license (Apache-2.0) and includes automated testing via GitHub Actions. The main drawback is its low community visibility; with only 7 GitHub stars, it has not been broadly reviewed or vetted by the open-source community. Despite the low visibility, the developer maintains active issue tracking and comprehensive documentation.
Verdict
Use with caution — verify the hardcoded credential in the test file before adoption, and be mindful that it requires handling sensitive wiki authentication.
This tool is a Python wrapper around the mwclient and pywikibot libraries, providing a command-line toolkit to automate content management on third-party MediaWiki sites. It also functions as an MCP server, allowing AI assistants to interact with wikis.
Security Assessment
The overall risk is rated as Medium. The tool inherently makes external network requests to read, edit, upload, and delete pages on configured MediaWiki instances. It requires user-provided credentials to perform these actions. However, the automated scan detected a failure regarding a potential hardcoded credential inside a test file (`tests/test_mcp_server.py`). While likely just a test mock or leftover testing configuration, developers should verify this before running the codebase to prevent accidental credential exposure. The tool does not request inherently dangerous local system permissions.
Quality Assessment
The project is actively maintained, with its last push occurring very recently. It uses a standard, permissive open-source license (Apache-2.0) and includes automated testing via GitHub Actions. The main drawback is its low community visibility; with only 7 GitHub stars, it has not been broadly reviewed or vetted by the open-source community. Despite the low visibility, the developer maintains active issue tracking and comprehensive documentation.
Verdict
Use with caution — verify the hardcoded credential in the test file before adoption, and be mindful that it requires handling sensitive wiki authentication.
Wrapper for pywikibot and mwclient MediaWiki API librarties with improvements for 3rd party wikis and mcp-server
README.md
py-3rdparty-mediawiki (Wikipush Toolkit)
Python wrapper for mwclient with improvements for 3rd party wikis. Also known as the Wikipush Toolkit — a set of tools for automating SMW page content handling using Python and a command line, presented at SMWCon Fall 2020.
Installation
pip install py-3rdparty-mediawiki
For MCP server support (for AI assistants):
pip install py-3rdparty-mediawiki[mcp]
Examples
wikipush
Copy pages between wikis:
wikipush -s smw -t test2 -q "[[Category:City]]|limit=5"
copying 4 pages from smw to test2
copying Demo:Tokyo ...✅
copying image File:SMW-Info-button.png ...✅
copying image File:Tokyo-Tsukishima-0011.jpg ...✅
copying Vienna ...✅
copying Warsaw ...✅
copying image File:6140285934 02e81b845f z.jpg ...✅
copying Demo:Würzburg ...✅
wikiupload
Upload files to a wiki:
wikiupload -t test --files car.png
uploading 1 files to test
1/1 ( 100%): uploading car.png ...✅
wikinuke
The default behavior is a dry run, listing whether the pages exist:
wikinuke -t test -p deleteMe1 deleteMe2 deleteMe3
deleting 3 pages in test (dry run)
1/3 ( 33%): deleting deleteMe1 ...👍
2/3 ( 67%): deleting deleteMe2 ...👍
3/3 ( 100%): deleting deleteMe3 ...👍
Use -f to force actual deletion:
wikinuke -t test -p deleteMe1 deleteMe2 deleteMe3 -f
deleting 3 pages in test (forced)
1/3 ( 33%): deleting deleteMe1 ...✅
2/3 ( 67%): deleting deleteMe2 ...✅
3/3 ( 100%): deleting deleteMe3 ...✅
wikiedit
Search and replace content in wiki pages:
wikiedit -t test -q "[[isA::CFP]]" --search "CALL FOR PAPER" --replace "CFP"
editing 1 pages in test (dry run)
1/1 ( 100%): editing CALL FOR PAPER Journal: Advances in Multimedia ... 👍
wikiuser
Configure wiki credentials interactively:
wikiuser
email: [email protected]
scriptPath: /w
user: jd
url: http://www.semantic-mediawiki.org
version: Mediawiki 1.33
wikiId: smw
password: ****
shall i store jd smw? yes/no y/n
Links
Documentation
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found