Wiki
gitlab_wikiCreate, read, update, delete project wiki pages and upload attachments. Manage wiki content with parameters for title, content, format, and slug. Embed uploaded files using markdown syntax. Requires project ID.
Instructions
Example: {"action":"create","params":{...}} For the params schema of any action, read the MCP resource gitlab://schema/meta/gitlab_wiki/.
CRUD project wiki pages and upload attachments to wikis. Delete is destructive and irreversible. When to use: read, write, or delete wiki pages of a project; attach images or files referenced from wiki content. NOT for: repository files or commits (use gitlab_repository), code snippets (use gitlab_snippet), group-level wikis (Enterprise/Premium — use gitlab_group when GITLAB_ENTERPRISE=true), issues or MR descriptions (use gitlab_issue / gitlab_merge_request).
Returns:
get / create / update: {slug, title, format, content, encoding}.
list: array of {slug, title, format} (content omitted unless with_content=true).
delete: {success: bool, message: string}.
upload_attachment: {file_name, url, alt, markdown} — embed
markdowndirectly in a page. Errors: 404 not found (hint: check slug or project_id), 403 forbidden (hint: wiki disabled or insufficient role), 400 invalid params (hint: title/content required, slug must be URL-encoded).
Param conventions: * = required. All actions need project_id* (numeric ID or url-encoded path). slug is the URL-encoded page path (e.g. docs%2Fsetup). format default = markdown. content max ~1 MB.
list: project_id*, with_content (bool)
get: project_id*, slug*, render_html (bool), version (commit SHA)
create: project_id*, title*, content*, format (markdown/rdoc/asciidoc/org)
update: project_id*, slug*, title, content, format
delete: project_id*, slug*
upload_attachment: project_id*, filename*, content_base64 OR file_path (exactly one), branch
See also: gitlab_project (settings/membership), gitlab_repository (file commits), gitlab_snippet (standalone code snippets).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Pick exactly one of the values in `enum`. Each action expects its own `params` object — see the tool description for the per-action parameter list. | |
| params | No | Action-specific parameters as a JSON object. Required and optional fields differ per action; consult this tool's description for the chosen action. Send only the fields documented for that action — unknown keys are rejected with a validation error (only reserved meta keys like `confirm` are stripped before validation). For the JSON Schema of a specific action's `params`, read the MCP resource `gitlab://schema/meta/{tool}/{action}` (replace placeholders with the tool name and the chosen action). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next_steps | No | Optional. Suggested follow-up actions or tool calls for the LLM, contextual to the result. | |
| pagination | No | Present on list actions. Use `has_more` and `next_page` to paginate through results. |