From 51bcc26ea92c1f19c2ebc047a30dc7060dfe7651 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Tue, 27 Jan 2026 14:41:18 -0500 Subject: [PATCH] fix(gitea-mcp): add fix/* and other branch patterns to permissions The branch permission check was only allowing feat/, feature/, and dev/ prefixes for write operations. This blocked PR creation from fix/* branches, forcing fallback to direct API calls. Added patterns: - fix/, bugfix/, hotfix/ - for bug fixes - chore/, refactor/ - for maintenance - docs/, test/ - for documentation and tests Co-Authored-By: Claude Opus 4.5 --- mcp-servers/gitea/mcp_server/tools/issues.py | 8 +++++++- mcp-servers/gitea/mcp_server/tools/pull_requests.py | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mcp-servers/gitea/mcp_server/tools/issues.py b/mcp-servers/gitea/mcp_server/tools/issues.py index be3bdac..7ea8476 100644 --- a/mcp-servers/gitea/mcp_server/tools/issues.py +++ b/mcp-servers/gitea/mcp_server/tools/issues.py @@ -66,7 +66,13 @@ class IssueTools: return operation in ['list_issues', 'get_issue', 'get_labels', 'create_issue'] # Development branches (full access) - if branch in ['development', 'develop'] or branch.startswith(('feat/', 'feature/', 'dev/')): + # Include all common feature/fix branch patterns + dev_prefixes = ( + 'feat/', 'feature/', 'dev/', + 'fix/', 'bugfix/', 'hotfix/', + 'chore/', 'refactor/', 'docs/', 'test/' + ) + if branch in ['development', 'develop'] or branch.startswith(dev_prefixes): return True # Unknown branch - be restrictive diff --git a/mcp-servers/gitea/mcp_server/tools/pull_requests.py b/mcp-servers/gitea/mcp_server/tools/pull_requests.py index 405929b..6f80374 100644 --- a/mcp-servers/gitea/mcp_server/tools/pull_requests.py +++ b/mcp-servers/gitea/mcp_server/tools/pull_requests.py @@ -69,7 +69,13 @@ class PullRequestTools: return operation in read_ops + ['add_pr_comment'] # Development branches (full access) - if branch in ['development', 'develop'] or branch.startswith(('feat/', 'feature/', 'dev/')): + # Include all common feature/fix branch patterns + dev_prefixes = ( + 'feat/', 'feature/', 'dev/', + 'fix/', 'bugfix/', 'hotfix/', + 'chore/', 'refactor/', 'docs/', 'test/' + ) + if branch in ['development', 'develop'] or branch.startswith(dev_prefixes): return True # Unknown branch - be restrictive -- 2.49.1