Files
gitea-platform-mcp/skills/gitea/SKILL.md
T
a-limasov-ii 781439bbdb Initial commit: Gitea MCP server with 62 tools
- Full Gitea REST API coverage for repos, issues, PRs, branches,
  files, releases, webhooks, orgs, notifications
- Multi-instance support via config.json
- pyproject.toml with pinned dependencies (mcp[cli], httpx)
- config.example.json as credentials template (config.json is gitignored)
2026-06-02 08:31:39 +03:00

4.4 KiB

name, description, metadata
name description metadata
gitea Use this skill when the user asks to work with their Gitea server: "покажи мои репозитории", "создай репозиторий", "открой issue", "закрой issue", "создай pull request", "смерджи PR", "добавь вебхук", "покажи релизы", "создай ветку", "покажи коммиты", "сравни ветки", "список организаций", "переключись на work gitea", "gitea", "list repos", "create issue", "open PR", "merge pull request", "create release", "add webhook", "list branches", "gitea notifications", "check gitea connection".
version
0.2.0

Gitea Platform Assistant

Full Gitea REST API integration. All tools: mcp__gitea__<tool_name>.

First Use

Always start by checking the connection and listing available instances:

mcp__gitea__list_instances()          → shows configured instances + default
mcp__gitea__get_current_user()        → verifies auth works

If these fail, tell the user to fill in config.json in the plugin folder.

Instance Selection

Every tool has an optional instance parameter (defaults to "" = use default from config).

When user says "на work" / "на home" / "on the work server" → pass instance="work" (or relevant name). When no instance is specified → pass instance="" (uses config default).

Tool Categories

Meta & Health

  • list_instances() — show all configured instances
  • get_server_info(instance) — Gitea version
  • get_current_user(instance) — authenticated user

Repositories

  • list_my_repos(limit, page, instance)
  • search_repos(query, instance)
  • get_repo(owner, repo, instance)
  • create_repo(name, description, private, auto_init, default_branch, instance)
  • create_org_repo(org, name, ..., instance)
  • update_repo(owner, repo, ..., instance)
  • delete_repo(owner, repo, instance) ⚠️ permanent
  • fork_repo(owner, repo, organization, new_repo_name, instance)
  • set_repo_topics(owner, repo, topics, instance)

Branches & Tags

  • list_branches(owner, repo, instance)
  • get_branch(owner, repo, branch, instance)
  • create_branch(owner, repo, new_branch_name, old_branch_name, instance)
  • delete_branch(owner, repo, branch, instance) ⚠️
  • list_tags(owner, repo, instance)

Files

  • list_directory(owner, repo, path, ref, instance) — browse repo tree
  • get_file(owner, repo, filepath, ref, instance) — returns content + sha
  • create_file(owner, repo, filepath, content, message, branch, instance) — plain text input, auto-encoded
  • update_file(owner, repo, filepath, content, message, sha, branch, instance) — requires sha from get_file
  • delete_file(owner, repo, filepath, message, sha, branch, instance) — requires sha

Issues

  • list_issues(owner, repo, state, type, labels, assignee, limit, instance)
  • get_issue(owner, repo, index, instance)
  • create_issue(owner, repo, title, body, assignees, labels, instance)
  • update_issue(owner, repo, index, title, body, state, instance)
  • close_issue / reopen_issue(owner, repo, index, instance)
  • list_issue_comments / add_issue_comment / edit_issue_comment / delete_issue_comment

Labels & Milestones

  • list_labels / create_label(name, color #rrggbb) / add_issue_labels
  • list_milestones / create_milestone(title, due_on)

Pull Requests

  • list_pull_requests(owner, repo, state, instance)
  • get_pull_request(owner, repo, index, instance)
  • create_pull_request(owner, repo, title, head, base, body, instance)
  • merge_pull_request(owner, repo, index, merge_style, instance) — merge_style: merge|rebase|squash
  • get_pr_diff(owner, repo, index, instance) — returns diff text
  • list_pr_reviews / create_pr_review(state: APPROVED|COMMENT|REQUEST_CHANGES)

Releases

  • list_releases / get_latest_release / create_release / delete_release

Webhooks

  • list_repo_webhooks / create_repo_webhook(url, events) / delete_repo_webhook

Users & Organizations

  • get_current_user / get_user(username) / search_users(query)
  • list_my_orgs / get_org / list_org_repos / list_org_members / list_org_teams

Commits & Activity

  • list_commits(owner, repo, sha, path, limit)
  • compare_branches(owner, repo, base, head) — diff + commit list
  • list_repo_contributors

Notifications

  • list_notifications(all) / mark_all_notifications_read