| name | gitea-wiki |
| description | Manage Gitea wiki pages. Use when working with wiki content, creating documentation, or updating wiki pages. |
| version | 1.0.0 |
Gitea Wiki Manager
Overview
Manage Gitea wiki pages using MCP tools. Wiki content is base64 encoded - use shell commands to decode/encode, avoiding large base64 strings in LLM context.
MCP Tools Reference
mcp__gitea__list_wiki_pages
List all wiki pages in a repository.
Parameters:
owner(required): repository ownerrepo(required): repository name
Response: Array of page objects with title, sub_url
mcp__gitea__get_wiki_page
Get wiki page content and metadata.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): wiki page name
Response:
{
"title": "Home",
"sub_url": "Home",
"content_base64": "IyBIb21lCg==", // <-- base64 encoded content
"commit_count": 5,
"last_commit": {...}
}
mcp__gitea__create_wiki_page
Create a new wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository nametitle(required): page titlecontent_base64(required): page content as base64message(optional): commit message
mcp__gitea__update_wiki_page
Update an existing wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): current page namecontent_base64(required): new content as base64title(optional): new page titlemessage(optional): commit message
mcp__gitea__delete_wiki_page
Delete a wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): page name to delete
mcp__gitea__get_wiki_revisions
Get revision history of a wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): wiki page name
Workflows
Reading a Wiki Page
Step 1: Call MCP tool
mcp__gitea__get_wiki_page(owner="user", repo="myrepo", pageName="Home")
Step 2: Response contains content_base64 field
Extract the base64 string from response
Step 3: Decode using Bash (NOT in LLM context)
echo "<content_base64_value>" | base64 -d > /tmp/wiki-page.md
Step 4: Read decoded file
Use Read tool on /tmp/wiki-page.md
Creating a Wiki Page
Step 1: Write content to temp file
Use Write tool to create /tmp/new-page.md with content
Step 2: Encode to base64 using Bash
base64 < /tmp/new-page.md | tr -d '\n'
Step 3: Call MCP tool with base64 output
mcp__gitea__create_wiki_page(
owner="user",
repo="myrepo",
title="API Docs",
content_base64="<output_from_step_2>"
)
Updating a Wiki Page
Step 1: Get current content
mcp__gitea__get_wiki_page(owner="user", repo="myrepo", pageName="Home")
Step 2: Decode to temp file
echo "<content_base64>" | base64 -d > /tmp/edit-page.md
Step 3: Edit the temp file
Use Edit tool on /tmp/edit-page.md
Step 4: Re-encode
base64 < /tmp/edit-page.md | tr -d '\n'
Step 5: Call MCP update
mcp__gitea__update_wiki_page(
owner="user",
repo="myrepo",
pageName="Home",
content_base64="<output_from_step_4>"
)
Key Rules
- NEVER include raw base64 content in LLM responses - decode via Bash
- ALWAYS use temp files (
/tmp/wiki-*.md) for content manipulation - ALWAYS use
tr -d '\n'when encoding - API requires no line breaks - Clean up temp files after operations
Examples
Example: Read Home page
1. mcp__gitea__get_wiki_page(owner="acme", repo="docs", pageName="Home")
→ Response: {"content_base64": "IyBXZWxjb21l..."}
2. Bash: echo "IyBXZWxjb21l..." | base64 -d > /tmp/wiki-home.md
3. Read: /tmp/wiki-home.md
→ Shows: "# Welcome..."
Example: Create new page
1. Write /tmp/new-wiki.md:
# Installation
Run `npm install`
2. Bash: base64 < /tmp/new-wiki.md | tr -d '\n'
→ Output: IyBJbnN0YWxsYXRpb24KUnVuIGBucG0gaW5zdGFsbGA=
3. mcp__gitea__create_wiki_page(
owner="acme",
repo="docs",
title="Installation",
content_base64="IyBJbnN0YWxsYXRpb24KUnVuIGBucG0gaW5zdGFsbGA="
)