Skip to content

Releases: olgasafonova/mediawiki-mcp-server

v1.34.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:12

What's Changed

New Contributors

Full Changelog: v1.33.0...v1.34.0

v1.33.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 14:35
5e06db5

What's Changed

  • chore: fix file_health regression + refresh deslop baseline by @olgasafonova in #87
  • deps: bump github.com/anthropics/anthropic-sdk-go from 1.51.1 to 1.53.0 in the go-dependencies group by @dependabot[bot] in #88
  • deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #89
  • Agent-friendly wiki CLI: fix exit codes, add --version, guard edit by @olgasafonova in #91

Full Changelog: v1.32.1...v1.33.0

v1.32.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 09:50

What's Changed

Full Changelog: v1.32.0...v1.32.1

v1.32.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 12:22

What's Changed

  • refactor(codescene): lift code health scores by @olgasafonova in #52
  • fix(config): honor MEDIAWIKI_ALLOW_INSECURE env var by @olgasafonova in #55
  • refactor(wiki): extract upload.go, add session tests, simplify validateWikiURL by @olgasafonova in #56
  • fix(handlers): silent-nil dispatcher writes panic to *errPtr (HIGH severity for write tools) by @olgasafonova in #57
  • ci: drop binary upload from ci.yml (saves Free-tier Actions storage) by @olgasafonova in #58
  • deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #60
  • deps: bump the go-dependencies group with 6 updates by @dependabot[bot] in #61
  • fix(edit): surface API failure details (CAPTCHA, info) and show in CLI output by @strk in #62
  • feat(edit): add -f/--file flag to read wikitext from a file path by @strk in #63
  • deslop #59: split 11 files, add 35 tests, refresh baseline (73.9%→96.7%) by @olgasafonova in #64
  • fix(login): clear stale cookies before login to prevent session timeout by @strk in #66
  • feat(cli): add --verbose/-v flag with debug logging for API calls by @strk in #65
  • feat(wiki): interactive CAPTCHA prompting for edit and publish CLI commands by @strk in #67
  • build: add wiki binary to build and install targets by @strk in #69
  • docs(tools): note bot-password auth requirement on write tools by @olgasafonova in #70
  • ci: bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #72
  • deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #73
  • deps: bump github.com/anthropics/anthropic-sdk-go from 1.48.0 to 1.50.1 in the go-dependencies group by @dependabot[bot] in #77
  • Print full page URL on successful edit in wiki CLI by @strk in #74
  • refactor: raise CodeScene Code Health to Green (>=9.0) by @olgasafonova in #78
  • fix(cli): harden wiki client, add 4 missing CLI commands, fix docs by @olgasafonova in #80
  • ci: bump actions/checkout from 6 to 7 by @dependabot[bot] in #82
  • deps: bump github.com/anthropics/anthropic-sdk-go from 1.50.1 to 1.51.1 in the go-dependencies group by @dependabot[bot] in #83
  • feat(upload): expose base64 file_data on mediawiki_upload_file (#84) by @olgasafonova in #85

New Contributors

  • @strk made their first contribution in #62

Full Changelog: v1.31.0...v1.32.0

v1.31.0

Choose a tag to compare

@olgasafonova olgasafonova released this 14 May 10:01

Added

  • wiki stale-pages CLI command. Lists pages not edited in N days (default 90) with --days, --category, --namespace, --limit filters. Wraps the existing mediawiki_get_stale_pages MCP tool so the CLI surface matches MCP coverage.
  • wiki similar <page> CLI command. Finds pages whose content overlaps with a source page; includes a similarity score, common terms, and existing-link indicators. Flags: --limit, --category, --min-score. Wraps the existing mediawiki_find_similar_pages MCP tool.
  • wiki CLI now returns typed exit codes so shell scripts can branch on failure category: 2 usage error, 3 not found (HTTP 404), 5 wiki API error (other 4xx/5xx), 6 auth error (HTTP 401/403), 7 rate limit (HTTP 429), 10 config error. Adapted from the cli-printing-press canonical map; 4 remains reserved for wiki lint findings (existing public API), so auth errors use 6 instead of 4. Plain errors still exit 1. wiki.APIError from the wiki client is auto-classified by status; commands can also return usageErr/notFoundErr/authErr/apiErr/rateLimitErr/configErr directly. Cobra flag-parse errors (unknown flag, missing required arg) auto-wrap to exit 2.
  • Claude Code plugin scaffold. New .claude-plugin/ directory with marketplace.json, plugin.json, and a first skill wiki-publish that shells out to the wiki publish CLI. Install via /plugin marketplace add olgasafonova/mediawiki-mcp-server. Design rationale and the full surface map are in MULTI-SURFACE-DISTRIBUTION.md: the Go module is the shared knowledge layer; MCP server, wiki CLI, and this plugin are surfaces over it.

Changed

  • Breaking (write tools only): rationale is now a required parameter on 7 destructive MCP toolsmediawiki_edit_page, mediawiki_find_replace, mediawiki_apply_formatting, mediawiki_bulk_replace, mediawiki_upload_file, mediawiki_move_page, mediawiki_manage_categories. The agent must supply a one-sentence "why" with each write call; the value is logged to the tool audit trail and the mcp.tool.rationale OTel span attribute. Rationale is optional (recorded when supplied, ignored when omitted) on the 35 read-only tools. Pattern source: Teddy Riker, "Designing for Agents" (Ramp). Read-only integrations require no changes; write integrations must add the rationale field.
  • tools/handlers.go dispatcher refactored from a 41-case method switch + 41-case type switch to a name→closure map; the non-generic dispatcher method is gone, closures call the generic register[Args, Result] helper directly via type inference. logExecution split into appendArgAttrs + appendResultAttrs. Code Health 7.64 → 9.53 (Yellow → Green). No public API change.
  • wiki/ package reorganized: monolithic read path consolidated into wiki/read.go; helpers extracted across links.go, quality.go, search.go, write.go to lift per-file Code Health scores. No public API change.

Dependencies

  • Bumped golang.org/x/text (security fix)
  • Bumped github.com/modelcontextprotocol/go-sdk
  • Bumped github.com/olgasafonova/mcp-servercard-go to v0.3.0

What's Changed

  • deps: bump github.com/modelcontextprotocol/go-sdk from 1.5.0 to 1.6.0 in the go-dependencies group by @dependabot[bot] in #49
  • deps: bump golang.org/x/text from 0.36.0 to 0.37.0 in the go-dependencies group by @dependabot[bot] in #51

Full Changelog: v1.30.0...v1.31.0

v1.30.0

Choose a tag to compare

@olgasafonova olgasafonova released this 03 May 14:42

Fixed (security)

  • 307/308 cross-origin credential leak (Critical): API client now refuses all redirects via CheckRedirect. The login flow POSTs lgpassword=<bot-password> via the API client; without redirect refusal, a wiki (or any proxy in front of it, or a MITM during DNS/TLS bootstrap) returning 307 Location: https://attacker/ would cause Go to re-POST the entire body to the attacker. (1f8b2e4)
  • HG-2 raw-body leak: API errors no longer echo the raw response body to MCP callers. Replaced with a structured APIError type that retains HTTP status and a stable status-text message; body snippet preserved on the struct (capped at 256 bytes) for server-side logging only. (bef66aa)
  • HG-3 destructive-annotation gaps: mediawiki_upload_file and mediawiki_manage_categories now correctly declare Destructive: true. With IgnoreWarnings: true, mediawiki_upload_file overwrites existing files on the wiki — on wikis that allow SVG, an attacker SVG with inline JS becomes stored XSS-as-the-wiki-origin against every viewer. (c48289e)
  • uploadFromURL SSRF gap: now validates source URL through both validateFileURL (blocks private/internal IPs — closes wiki-as-SSRF-proxy targeting cloud metadata, RFC1918, link-local) and a new MEDIAWIKI_UPLOAD_ALLOWED_DOMAINS env-var allowlist. (c48289e)

Changed

  • mediawiki_upload_file URL upload path now requires MEDIAWIKI_UPLOAD_ALLOWED_DOMAINS env var. Comma-separated allowlist; supports *.example.com subdomain wildcards (apex requires explicit listing). Fail-closed when unset. Set e.g.:
    MEDIAWIKI_UPLOAD_ALLOWED_DOMAINS=cdn.example.com,*.images.tieto.com
    

Why these matter

Found by the Carlini-style autonomous vulnerability scaffold sweep across the MCP portfolio. Three of the four findings are on hard gates graduated 2026-04-25 in rules/review-patterns.md (HG-2 raw-body, HG-3 destructive annotations + fail-closed allowlists). The 307/308 finding is the strongest novel finding from the mediawiki scan because the credential-bearing client funnels every API call.

Full Changelog: v1.29.0...v1.30.0

What's Changed

Full Changelog: v1.29.0...v1.30.0

v1.29.0

Choose a tag to compare

@github-actions github-actions released this 24 Apr 19:33
7963300

What's Changed

  • fix: retry on stale CSRF token for all write operations by @olgasafonova in #36
  • deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #38
  • ci: bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #37
  • feat: add wiki CLI — dual-path MCP+CLI from one repo by @olgasafonova in #39

Full Changelog: v1.28.2...v1.29.0

v1.28.2

Choose a tag to compare

@olgasafonova olgasafonova released this 12 Apr 08:08

Security

  • Bump Go toolchain to 1.26.2, fixing 5 stdlib vulnerabilities:
    • GO-2026-4866 crypto/x509: case-sensitive excludedSubtrees auth bypass
    • GO-2026-4865 html/template: XSS via JsBraceDepth context tracking
    • GO-2026-4870 crypto/tls: unauthenticated TLS 1.3 KeyUpdate DoS
    • GO-2026-4947 crypto/x509: unexpected work during chain building
    • GO-2026-4946 crypto/x509: inefficient policy validation

Bug Fixes

  • Fix panic in mediawiki_get_wiki_info when cache was pre-warmed (#33)
  • Eliminate ~40 bare type assertions across API response parsing that could panic on unexpected responses
  • Fix tool description defaults and add return info

Other

  • Bump Go dependency group (5 updates)
  • Add CODEOWNERS to protect workflow files
  • Add tilbudstrolden-mcp to cross-reference table

What's Changed

  • deps: bump the go-dependencies group with 5 updates by @dependabot[bot] in #32

Full Changelog: v1.28.1...v1.28.2

v1.28.1

Choose a tag to compare

@olgasafonova olgasafonova released this 04 Apr 20:08

Fixed

  • Server now starts in inspection mode when MEDIAWIKI_URL is not set, allowing MCP registries (Glama, Smithery) to enumerate tool definitions. Tool calls return a clear configuration error instead of crashing at startup.
  • mediawiki_audit tool was silently failing to register due to a missing type case in the handler dispatch. Now registers correctly with all 42 tools available.

Full changelog: https://github.com/olgasafonova/mediawiki-mcp-server/blob/main/CHANGELOG.md

Full Changelog: v1.28.0...v1.28.1

v1.28.0

Choose a tag to compare

@github-actions github-actions released this 01 Apr 12:44

What's Changed

  • ci: bump docker/login-action from 3 to 4 by @dependabot[bot] in #23
  • ci: bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #25
  • ci: bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #26
  • ci: bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #27
  • chore: upgrade Go from 1.24 to 1.25 by @olgasafonova in #28
  • deps: bump the go-dependencies group with 5 updates by @dependabot[bot] in #24
  • deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #29
  • ci: bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #31

Full Changelog: v1.27.2...v1.28.0