feat: implement wiki management #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Gitea's built-in wiki provides per-repository documentation. MCP tools for the wiki
let users read and write documentation pages directly from Claude without switching
to a browser, making it useful for maintaining READMEs, runbooks, and API docs.
Endpoints to implement
/repos/{owner}/{repo}/wiki/pageslist_wiki_pages/repos/{owner}/{repo}/wiki/newcreate_wiki_page/repos/{owner}/{repo}/wiki/page/{page_name}get_wiki_page/repos/{owner}/{repo}/wiki/page/{page_name}edit_wiki_page/repos/{owner}/{repo}/wiki/page/{page_name}delete_wiki_page/repos/{owner}/{repo}/wiki/revisions/{page_name}list_wiki_revisionsAcceptance Criteria
create_wiki_page(owner, repo, title, content, message)—contentis plain Markdown, auto base64-encodedget_wiki_pagereturns decoded content (not raw base64) for usabilityedit_wiki_page(owner, repo, page_name, content, message)updates pagedelete_wiki_pagereturns{"success": true}on 204list_wiki_revisionsreturns revision history with author and datepage_namein URL is URL-encoded via_b()helperTechnical Notes
base64.b64encodePOST /wiki/newbody:{"title": "Home", "content": "<base64>", "message": "Initial wiki page"}PATCH /wiki/page/{name}body: same structure as createget_wiki_pageresponse includescontentas base64 — decode it before returning for better UXpage_nameuses_instead of spaces in URLs (Gitea convention)