@mohammadhprp/system-prompt 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +35 -0
- package/bin/system-prompt.js +8 -0
- package/framework/README.md +163 -0
- package/framework/agents/README.md +49 -0
- package/framework/agents/backend-architect.md +146 -0
- package/framework/agents/researcher.md +79 -0
- package/framework/agents/reviewer.md +183 -0
- package/framework/agents/security-auditor.md +131 -0
- package/framework/commands/README.md +43 -0
- package/framework/commands/changelog.md +44 -0
- package/framework/commands/commit.md +31 -0
- package/framework/commands/learn.md +24 -0
- package/framework/commands/mr.md +46 -0
- package/framework/commands/pr.md +39 -0
- package/framework/commands/release.md +34 -0
- package/framework/commands/review.md +24 -0
- package/framework/commands/summarize-changes.md +49 -0
- package/framework/mcps/README.md +78 -0
- package/framework/mcps/excalidraw/README.md +37 -0
- package/framework/mcps/excalidraw/capabilities.md +54 -0
- package/framework/mcps/excalidraw/configs/opencode.json +8 -0
- package/framework/mcps/excalidraw/install.md +92 -0
- package/framework/mcps/excalidraw/troubleshooting.md +67 -0
- package/framework/mcps/figma-mcp-go/README.md +51 -0
- package/framework/mcps/figma-mcp-go/capabilities.md +190 -0
- package/framework/mcps/figma-mcp-go/configs/opencode.json +9 -0
- package/framework/mcps/figma-mcp-go/install.md +74 -0
- package/framework/mcps/figma-mcp-go/troubleshooting.md +99 -0
- package/framework/mcps/github-mcp/README.md +51 -0
- package/framework/mcps/github-mcp/capabilities.md +83 -0
- package/framework/mcps/github-mcp/configs/.env.example +1 -0
- package/framework/mcps/github-mcp/configs/opencode.json +13 -0
- package/framework/mcps/github-mcp/install.md +60 -0
- package/framework/mcps/github-mcp/troubleshooting.md +79 -0
- package/framework/mcps/gitlab-mcp/README.md +54 -0
- package/framework/mcps/gitlab-mcp/capabilities.md +216 -0
- package/framework/mcps/gitlab-mcp/configs/.env.example +2 -0
- package/framework/mcps/gitlab-mcp/configs/opencode.json +13 -0
- package/framework/mcps/gitlab-mcp/install.md +99 -0
- package/framework/mcps/gitlab-mcp/troubleshooting.md +116 -0
- package/framework/mcps/jira-mcp/README.md +53 -0
- package/framework/mcps/jira-mcp/capabilities.md +79 -0
- package/framework/mcps/jira-mcp/configs/.env.example +2 -0
- package/framework/mcps/jira-mcp/configs/opencode.json +13 -0
- package/framework/mcps/jira-mcp/install.md +94 -0
- package/framework/mcps/jira-mcp/troubleshooting.md +113 -0
- package/framework/mcps/laravel-boost/README.md +53 -0
- package/framework/mcps/laravel-boost/capabilities.md +92 -0
- package/framework/mcps/laravel-boost/configs/opencode.json +9 -0
- package/framework/mcps/laravel-boost/install.md +106 -0
- package/framework/mcps/laravel-boost/troubleshooting.md +119 -0
- package/framework/mcps/notion-mcp/README.md +58 -0
- package/framework/mcps/notion-mcp/capabilities.md +118 -0
- package/framework/mcps/notion-mcp/configs/opencode.json +9 -0
- package/framework/mcps/notion-mcp/install.md +70 -0
- package/framework/mcps/notion-mcp/troubleshooting.md +95 -0
- package/framework/mcps/playwright-mcp/README.md +50 -0
- package/framework/mcps/playwright-mcp/capabilities.md +149 -0
- package/framework/mcps/playwright-mcp/configs/opencode.json +9 -0
- package/framework/mcps/playwright-mcp/install.md +136 -0
- package/framework/mcps/playwright-mcp/troubleshooting.md +154 -0
- package/framework/mcps/supabase-mcp/README.md +66 -0
- package/framework/mcps/supabase-mcp/capabilities.md +127 -0
- package/framework/mcps/supabase-mcp/configs/opencode.json +9 -0
- package/framework/mcps/supabase-mcp/install.md +85 -0
- package/framework/mcps/supabase-mcp/troubleshooting.md +113 -0
- package/framework/memory/README.md +17 -0
- package/framework/memory/codebase-insights.md +6 -0
- package/framework/memory/user-preferences.md +5 -0
- package/framework/modes/README.md +52 -0
- package/framework/modes/audit.md +88 -0
- package/framework/plugins/README.md +65 -0
- package/framework/plugins/opencode-goal-plugin/README.md +45 -0
- package/framework/plugins/opencode-goal-plugin/capabilities.md +127 -0
- package/framework/plugins/opencode-goal-plugin/install.md +71 -0
- package/framework/plugins/opencode-goal-plugin/troubleshooting.md +112 -0
- package/framework/plugins/ponytail/README.md +44 -0
- package/framework/plugins/ponytail/capabilities.md +112 -0
- package/framework/plugins/ponytail/install.md +77 -0
- package/framework/plugins/ponytail/troubleshooting.md +116 -0
- package/framework/references/standards/api.md +44 -0
- package/framework/references/standards/architecture.md +43 -0
- package/framework/references/standards/database.md +43 -0
- package/framework/references/standards/debugging.md +44 -0
- package/framework/references/standards/documentation.md +43 -0
- package/framework/references/standards/logging.md +43 -0
- package/framework/references/standards/naming.md +43 -0
- package/framework/references/standards/observability.md +43 -0
- package/framework/references/standards/performance.md +43 -0
- package/framework/references/standards/pull-requests.md +43 -0
- package/framework/references/standards/security.md +43 -0
- package/framework/references/standards/testing.md +43 -0
- package/framework/references/templates/adr.md +28 -0
- package/framework/references/templates/api-spec.md +56 -0
- package/framework/references/templates/design-document.md +39 -0
- package/framework/references/templates/incident-report.md +38 -0
- package/framework/references/templates/postmortem.md +41 -0
- package/framework/references/templates/pull-request.md +34 -0
- package/framework/references/templates/runbook.md +48 -0
- package/framework/references/templates/task.md +27 -0
- package/framework/skills/README.md +68 -0
- package/framework/skills/agent-browser/SKILL.md +51 -0
- package/framework/skills/backend-best-practices/SKILL.md +136 -0
- package/framework/skills/backend-best-practices/examples.md +31 -0
- package/framework/skills/backend-best-practices/references/api-design.md +79 -0
- package/framework/skills/backend-best-practices/references/architecture-review.md +77 -0
- package/framework/skills/backend-best-practices/references/database-design.md +78 -0
- package/framework/skills/backend-best-practices/references/debugging.md +76 -0
- package/framework/skills/backend-best-practices/references/observability.md +78 -0
- package/framework/skills/backend-best-practices/references/performance.md +78 -0
- package/framework/skills/backend-best-practices/references/refactoring.md +77 -0
- package/framework/skills/backend-best-practices/references/security.md +80 -0
- package/framework/skills/backend-best-practices/references/testing.md +77 -0
- package/framework/skills/backend-engineer/SKILL.md +76 -0
- package/framework/skills/backend-engineer/examples.md +31 -0
- package/framework/skills/brainstorming/SKILL.md +159 -0
- package/framework/skills/brainstorming/examples.md +49 -0
- package/framework/skills/brainstorming/scripts/frame-template.html +213 -0
- package/framework/skills/brainstorming/scripts/helper.js +167 -0
- package/framework/skills/brainstorming/scripts/server.cjs +723 -0
- package/framework/skills/brainstorming/scripts/start-server.sh +209 -0
- package/framework/skills/brainstorming/scripts/stop-server.sh +120 -0
- package/framework/skills/brainstorming/visual-companion.md +291 -0
- package/framework/skills/brand-guidelines/LICENSE.txt +202 -0
- package/framework/skills/brand-guidelines/SKILL.md +73 -0
- package/framework/skills/code-review/SKILL.md +72 -0
- package/framework/skills/code-review/examples.md +31 -0
- package/framework/skills/design/SKILL.md +399 -0
- package/framework/skills/design/examples.md +34 -0
- package/framework/skills/diagram-design/SKILL.md +485 -0
- package/framework/skills/diagram-design/assets/example-architecture-dark.html +180 -0
- package/framework/skills/diagram-design/assets/example-architecture-full.html +192 -0
- package/framework/skills/diagram-design/assets/example-architecture.html +181 -0
- package/framework/skills/diagram-design/assets/example-bar-dark.html +127 -0
- package/framework/skills/diagram-design/assets/example-bar-full.html +103 -0
- package/framework/skills/diagram-design/assets/example-bar.html +127 -0
- package/framework/skills/diagram-design/assets/example-data-flow-dark.html +143 -0
- package/framework/skills/diagram-design/assets/example-data-flow-full.html +185 -0
- package/framework/skills/diagram-design/assets/example-data-flow.html +143 -0
- package/framework/skills/diagram-design/assets/example-datalake-dark.html +241 -0
- package/framework/skills/diagram-design/assets/example-datalake-full.html +246 -0
- package/framework/skills/diagram-design/assets/example-datalake.html +267 -0
- package/framework/skills/diagram-design/assets/example-dp-integration-dark.html +78 -0
- package/framework/skills/diagram-design/assets/example-dp-integration-full.html +88 -0
- package/framework/skills/diagram-design/assets/example-dp-integration.html +78 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix-dark.html +31 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix-full.html +32 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix.html +88 -0
- package/framework/skills/diagram-design/assets/example-er-dark.html +200 -0
- package/framework/skills/diagram-design/assets/example-er-full.html +203 -0
- package/framework/skills/diagram-design/assets/example-er.html +200 -0
- package/framework/skills/diagram-design/assets/example-flowchart-dark.html +154 -0
- package/framework/skills/diagram-design/assets/example-flowchart-full.html +157 -0
- package/framework/skills/diagram-design/assets/example-flowchart.html +154 -0
- package/framework/skills/diagram-design/assets/example-gantt-dark.html +135 -0
- package/framework/skills/diagram-design/assets/example-gantt-full.html +125 -0
- package/framework/skills/diagram-design/assets/example-gantt.html +135 -0
- package/framework/skills/diagram-design/assets/example-high-level-dark.html +249 -0
- package/framework/skills/diagram-design/assets/example-high-level-full.html +245 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical-dark.html +272 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical-full.html +250 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical.html +323 -0
- package/framework/skills/diagram-design/assets/example-high-level.html +299 -0
- package/framework/skills/diagram-design/assets/example-it-state-dark.html +90 -0
- package/framework/skills/diagram-design/assets/example-it-state-full.html +69 -0
- package/framework/skills/diagram-design/assets/example-it-state.html +128 -0
- package/framework/skills/diagram-design/assets/example-layers-dark.html +121 -0
- package/framework/skills/diagram-design/assets/example-layers-full.html +124 -0
- package/framework/skills/diagram-design/assets/example-layers.html +121 -0
- package/framework/skills/diagram-design/assets/example-line-dark.html +109 -0
- package/framework/skills/diagram-design/assets/example-line-full.html +103 -0
- package/framework/skills/diagram-design/assets/example-line.html +109 -0
- package/framework/skills/diagram-design/assets/example-loop-dark.html +100 -0
- package/framework/skills/diagram-design/assets/example-loop-full.html +137 -0
- package/framework/skills/diagram-design/assets/example-loop-terminal.html +347 -0
- package/framework/skills/diagram-design/assets/example-loop.html +100 -0
- package/framework/skills/diagram-design/assets/example-medallion-dark.html +159 -0
- package/framework/skills/diagram-design/assets/example-medallion-full.html +201 -0
- package/framework/skills/diagram-design/assets/example-medallion.html +159 -0
- package/framework/skills/diagram-design/assets/example-nested-dark.html +130 -0
- package/framework/skills/diagram-design/assets/example-nested-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-nested.html +134 -0
- package/framework/skills/diagram-design/assets/example-org-chart-dark.html +45 -0
- package/framework/skills/diagram-design/assets/example-org-chart-full.html +45 -0
- package/framework/skills/diagram-design/assets/example-org-chart.html +45 -0
- package/framework/skills/diagram-design/assets/example-process-dark.html +62 -0
- package/framework/skills/diagram-design/assets/example-process-full.html +72 -0
- package/framework/skills/diagram-design/assets/example-process.html +62 -0
- package/framework/skills/diagram-design/assets/example-pyramid-dark.html +117 -0
- package/framework/skills/diagram-design/assets/example-pyramid-full.html +120 -0
- package/framework/skills/diagram-design/assets/example-pyramid.html +117 -0
- package/framework/skills/diagram-design/assets/example-quadrant-consultant.html +164 -0
- package/framework/skills/diagram-design/assets/example-quadrant-dark.html +133 -0
- package/framework/skills/diagram-design/assets/example-quadrant-full.html +136 -0
- package/framework/skills/diagram-design/assets/example-quadrant.html +133 -0
- package/framework/skills/diagram-design/assets/example-radar-dark.html +137 -0
- package/framework/skills/diagram-design/assets/example-radar-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-radar.html +137 -0
- package/framework/skills/diagram-design/assets/example-scatter-dark.html +139 -0
- package/framework/skills/diagram-design/assets/example-scatter-full.html +114 -0
- package/framework/skills/diagram-design/assets/example-scatter.html +139 -0
- package/framework/skills/diagram-design/assets/example-sequence-dark.html +220 -0
- package/framework/skills/diagram-design/assets/example-sequence-full.html +386 -0
- package/framework/skills/diagram-design/assets/example-sequence.html +220 -0
- package/framework/skills/diagram-design/assets/example-state-dark.html +145 -0
- package/framework/skills/diagram-design/assets/example-state-full.html +148 -0
- package/framework/skills/diagram-design/assets/example-state.html +145 -0
- package/framework/skills/diagram-design/assets/example-swimlane-dark.html +170 -0
- package/framework/skills/diagram-design/assets/example-swimlane-full.html +173 -0
- package/framework/skills/diagram-design/assets/example-swimlane.html +170 -0
- package/framework/skills/diagram-design/assets/example-timeline-dark.html +133 -0
- package/framework/skills/diagram-design/assets/example-timeline-full.html +136 -0
- package/framework/skills/diagram-design/assets/example-timeline.html +133 -0
- package/framework/skills/diagram-design/assets/example-tree-dark.html +171 -0
- package/framework/skills/diagram-design/assets/example-tree-full.html +174 -0
- package/framework/skills/diagram-design/assets/example-tree.html +171 -0
- package/framework/skills/diagram-design/assets/example-venn-dark.html +130 -0
- package/framework/skills/diagram-design/assets/example-venn-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-venn.html +108 -0
- package/framework/skills/diagram-design/assets/icons.html +230 -0
- package/framework/skills/diagram-design/assets/index.html +333 -0
- package/framework/skills/diagram-design/assets/template-dark.html +82 -0
- package/framework/skills/diagram-design/assets/template-full.html +410 -0
- package/framework/skills/diagram-design/assets/template-terminal.html +170 -0
- package/framework/skills/diagram-design/assets/template.html +83 -0
- package/framework/skills/diagram-design/references/export.md +107 -0
- package/framework/skills/diagram-design/references/onboarding.md +268 -0
- package/framework/skills/diagram-design/references/primitive-annotation.md +36 -0
- package/framework/skills/diagram-design/references/primitive-icons.md +821 -0
- package/framework/skills/diagram-design/references/primitive-sketchy.md +43 -0
- package/framework/skills/diagram-design/references/primitive-terminal.md +76 -0
- package/framework/skills/diagram-design/references/style-guide.md +139 -0
- package/framework/skills/diagram-design/references/type-architecture.md +78 -0
- package/framework/skills/diagram-design/references/type-bar.md +48 -0
- package/framework/skills/diagram-design/references/type-data-flow.md +374 -0
- package/framework/skills/diagram-design/references/type-dp-integration.md +410 -0
- package/framework/skills/diagram-design/references/type-dp-security-matrix.md +379 -0
- package/framework/skills/diagram-design/references/type-er.md +23 -0
- package/framework/skills/diagram-design/references/type-flowchart.md +23 -0
- package/framework/skills/diagram-design/references/type-gantt.md +45 -0
- package/framework/skills/diagram-design/references/type-high-level.md +458 -0
- package/framework/skills/diagram-design/references/type-it-state.md +470 -0
- package/framework/skills/diagram-design/references/type-layers.md +26 -0
- package/framework/skills/diagram-design/references/type-line.md +44 -0
- package/framework/skills/diagram-design/references/type-loop.md +223 -0
- package/framework/skills/diagram-design/references/type-medallion.md +356 -0
- package/framework/skills/diagram-design/references/type-nested.md +22 -0
- package/framework/skills/diagram-design/references/type-org-chart.md +44 -0
- package/framework/skills/diagram-design/references/type-process.md +495 -0
- package/framework/skills/diagram-design/references/type-pyramid.md +33 -0
- package/framework/skills/diagram-design/references/type-quadrant.md +81 -0
- package/framework/skills/diagram-design/references/type-radar.md +80 -0
- package/framework/skills/diagram-design/references/type-scatter.md +39 -0
- package/framework/skills/diagram-design/references/type-sequence.md +35 -0
- package/framework/skills/diagram-design/references/type-state.md +21 -0
- package/framework/skills/diagram-design/references/type-swimlane.md +20 -0
- package/framework/skills/diagram-design/references/type-timeline.md +20 -0
- package/framework/skills/diagram-design/references/type-tree.md +24 -0
- package/framework/skills/diagram-design/references/type-venn.md +26 -0
- package/framework/skills/documentation/SKILL.md +74 -0
- package/framework/skills/documentation/examples.md +31 -0
- package/framework/skills/find-skills/SKILL.md +141 -0
- package/framework/skills/find-skills/examples.md +35 -0
- package/framework/skills/gitlab-mcp/SKILL.md +83 -0
- package/framework/skills/gitlab-mcp/examples.md +31 -0
- package/framework/skills/gitlab-mcp/references/code-review.md +110 -0
- package/framework/skills/gitlab-mcp/references/issues.md +141 -0
- package/framework/skills/gitlab-mcp/references/merge-requests.md +120 -0
- package/framework/skills/gitlab-mcp/references/pipelines.md +67 -0
- package/framework/skills/gitlab-mcp/references/search.md +17 -0
- package/framework/skills/gitlab-mcp/references/webhooks.md +32 -0
- package/framework/skills/gitlab-mcp/references/work-items.md +50 -0
- package/framework/skills/jira-mcp/SKILL.md +57 -0
- package/framework/skills/jira-mcp/examples.md +31 -0
- package/framework/skills/jira-mcp/references/comments.md +27 -0
- package/framework/skills/jira-mcp/references/issues.md +97 -0
- package/framework/skills/jira-mcp/references/projects.md +39 -0
- package/framework/skills/laravel-best-practices/SKILL.md +229 -0
- package/framework/skills/laravel-best-practices/examples.md +31 -0
- package/framework/skills/laravel-best-practices/references/advanced-queries.md +106 -0
- package/framework/skills/laravel-best-practices/references/architecture.md +202 -0
- package/framework/skills/laravel-best-practices/references/blade-views.md +36 -0
- package/framework/skills/laravel-best-practices/references/caching.md +70 -0
- package/framework/skills/laravel-best-practices/references/collections.md +44 -0
- package/framework/skills/laravel-best-practices/references/config.md +73 -0
- package/framework/skills/laravel-best-practices/references/db-performance.md +192 -0
- package/framework/skills/laravel-best-practices/references/eloquent.md +148 -0
- package/framework/skills/laravel-best-practices/references/error-handling.md +72 -0
- package/framework/skills/laravel-best-practices/references/events-notifications.md +52 -0
- package/framework/skills/laravel-best-practices/references/http-client.md +160 -0
- package/framework/skills/laravel-best-practices/references/mail.md +27 -0
- package/framework/skills/laravel-best-practices/references/migrations.md +121 -0
- package/framework/skills/laravel-best-practices/references/passport.md +197 -0
- package/framework/skills/laravel-best-practices/references/pennant.md +61 -0
- package/framework/skills/laravel-best-practices/references/pest-testing.md +166 -0
- package/framework/skills/laravel-best-practices/references/pulse.md +196 -0
- package/framework/skills/laravel-best-practices/references/queue-jobs.md +144 -0
- package/framework/skills/laravel-best-practices/references/routing.md +99 -0
- package/framework/skills/laravel-best-practices/references/scheduling.md +39 -0
- package/framework/skills/laravel-best-practices/references/scout.md +176 -0
- package/framework/skills/laravel-best-practices/references/security.md +198 -0
- package/framework/skills/laravel-best-practices/references/spatie-laravel-backup.md +222 -0
- package/framework/skills/laravel-best-practices/references/spatie-laravel-permission.md +272 -0
- package/framework/skills/laravel-best-practices/references/spatie-medialibrary.md +672 -0
- package/framework/skills/laravel-best-practices/references/style.md +125 -0
- package/framework/skills/laravel-best-practices/references/tailwindcss.md +112 -0
- package/framework/skills/laravel-best-practices/references/testing.md +43 -0
- package/framework/skills/laravel-best-practices/references/validation.md +75 -0
- package/framework/skills/lavish/SKILL.md +67 -0
- package/framework/skills/lavish/examples.md +31 -0
- package/framework/skills/notion-mcp/SKILL.md +57 -0
- package/framework/skills/notion-mcp/examples.md +31 -0
- package/framework/skills/notion-mcp/references/comments.md +112 -0
- package/framework/skills/notion-mcp/references/databases.md +193 -0
- package/framework/skills/notion-mcp/references/pages.md +235 -0
- package/framework/skills/skill-creator/LICENSE.txt +202 -0
- package/framework/skills/skill-creator/SKILL.md +485 -0
- package/framework/skills/skill-creator/agents/analyzer.md +274 -0
- package/framework/skills/skill-creator/agents/comparator.md +202 -0
- package/framework/skills/skill-creator/agents/grader.md +223 -0
- package/framework/skills/skill-creator/assets/eval_review.html +146 -0
- package/framework/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/framework/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/framework/skills/skill-creator/examples.md +31 -0
- package/framework/skills/skill-creator/references/schemas.md +430 -0
- package/framework/skills/skill-creator/scripts/__init__.py +0 -0
- package/framework/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/framework/skills/skill-creator/scripts/generate_report.py +326 -0
- package/framework/skills/skill-creator/scripts/improve_description.py +247 -0
- package/framework/skills/skill-creator/scripts/package_skill.py +136 -0
- package/framework/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/framework/skills/skill-creator/scripts/run_eval.py +310 -0
- package/framework/skills/skill-creator/scripts/run_loop.py +328 -0
- package/framework/skills/skill-creator/scripts/utils.py +47 -0
- package/framework/styles/README.md +35 -0
- package/framework/styles/linear/DESIGN.md +478 -0
- package/framework/styles/linear/README.md +36 -0
- package/framework/styles/linear/assets/preview.jpg +0 -0
- package/framework/styles/raycast/DESIGN.md +495 -0
- package/framework/styles/raycast/README.md +35 -0
- package/framework/styles/raycast/assets/preview.jpg +0 -0
- package/package.json +33 -0
- package/src/agent-configs.js +96 -0
- package/src/catalog.js +145 -0
- package/src/cli.js +254 -0
- package/src/installer.js +303 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# GitHub MCP Capabilities
|
|
2
|
+
|
|
3
|
+
## What It Can Do
|
|
4
|
+
|
|
5
|
+
The server provides toolsets across the following categories:
|
|
6
|
+
|
|
7
|
+
### Context
|
|
8
|
+
|
|
9
|
+
Tools that provide information about the authenticated user and organization membership.
|
|
10
|
+
|
|
11
|
+
### Repositories
|
|
12
|
+
|
|
13
|
+
Browse repository code, files, directory trees, commits, and branches. Search code across repositories.
|
|
14
|
+
|
|
15
|
+
### Issues
|
|
16
|
+
|
|
17
|
+
Create, read, update issues. Add comments, manage labels, assignees, and milestones.
|
|
18
|
+
|
|
19
|
+
### Pull Requests
|
|
20
|
+
|
|
21
|
+
Create, review, update, and merge pull requests. Add review comments, request changes, approve. List changed files and review diffs.
|
|
22
|
+
|
|
23
|
+
### Actions
|
|
24
|
+
|
|
25
|
+
List workflows, trigger workflow runs. Get workflow run details, job logs, and artifacts.
|
|
26
|
+
|
|
27
|
+
### Code Security
|
|
28
|
+
|
|
29
|
+
List and read code scanning alerts, Dependabot alerts.
|
|
30
|
+
|
|
31
|
+
### Discussions
|
|
32
|
+
|
|
33
|
+
Read and create discussions, manage comments.
|
|
34
|
+
|
|
35
|
+
### Gists
|
|
36
|
+
|
|
37
|
+
Create, read, update gists.
|
|
38
|
+
|
|
39
|
+
### Users & Organizations
|
|
40
|
+
|
|
41
|
+
Read user profiles, list teams, list organization members.
|
|
42
|
+
|
|
43
|
+
### Additional Toolsets (remote server)
|
|
44
|
+
|
|
45
|
+
- Copilot — assign Copilot to issues, request Copilot review.
|
|
46
|
+
- Copilot Spaces — manage Copilot spaces.
|
|
47
|
+
- GitHub Support Docs Search — answer GitHub product and support questions.
|
|
48
|
+
|
|
49
|
+
## What It Cannot Do
|
|
50
|
+
|
|
51
|
+
- It cannot operate without a valid GitHub token or OAuth session.
|
|
52
|
+
- It cannot access repositories the token does not have permissions for.
|
|
53
|
+
- It cannot directly execute code or deploy to production.
|
|
54
|
+
- It does not provide real-time notifications or webhook management.
|
|
55
|
+
- Some toolsets are only available on the remote server (Copilot, Support Docs Search).
|
|
56
|
+
|
|
57
|
+
## Best Practices
|
|
58
|
+
|
|
59
|
+
- Use a fine-grained PAT scoped to the minimum repositories and permissions needed.
|
|
60
|
+
- Store the PAT in `.env` (under `.opencode/`) and never commit it to version control.
|
|
61
|
+
- Use `GITHUB_TOOLSETS` environment variable (when running locally) to enable only the tool groups needed.
|
|
62
|
+
- For read-only workflows, limit the PAT to read-only scopes.
|
|
63
|
+
- Prefer the remote HTTP server for simplicity; use the local Docker server only when remote HTTP is not supported.
|
|
64
|
+
|
|
65
|
+
## Common Workflows
|
|
66
|
+
|
|
67
|
+
### Review a pull request
|
|
68
|
+
|
|
69
|
+
1. Let the agent browse the PR diff and changed files.
|
|
70
|
+
2. The agent can post review comments, approve, or request changes.
|
|
71
|
+
3. Merge when ready.
|
|
72
|
+
|
|
73
|
+
### Investigate a CI failure
|
|
74
|
+
|
|
75
|
+
1. Ask the agent to list recent Actions workflow runs.
|
|
76
|
+
2. The agent can read job logs to find the failure.
|
|
77
|
+
3. Use the findings to propose a fix.
|
|
78
|
+
|
|
79
|
+
### Manage issues
|
|
80
|
+
|
|
81
|
+
1. List open issues with filtering by label, assignee, or state.
|
|
82
|
+
2. Read issue details and comments.
|
|
83
|
+
3. Create or update issues with labels, assignees, and milestones.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
GITHUB_TOKEN=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# GitHub MCP Installation
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- A GitHub account with API access.
|
|
6
|
+
- A GitHub Personal Access Token (classic or fine-grained) with the following scopes:
|
|
7
|
+
- `repo` — full control of private repositories.
|
|
8
|
+
- `read:org` — read organization membership.
|
|
9
|
+
- An MCP-compatible AI client that supports remote HTTP MCP servers.
|
|
10
|
+
|
|
11
|
+
## Authentication
|
|
12
|
+
|
|
13
|
+
This MCP uses the **remote GitHub MCP Server** hosted by GitHub at `https://api.githubcopilot.com/mcp/`. Authentication is handled via a `Bearer` token in the `Authorization` header.
|
|
14
|
+
|
|
15
|
+
| Method | Best for |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Personal Access Token (PAT) | Simplest local setup |
|
|
18
|
+
| OAuth (via host support) | Better security when host supports it |
|
|
19
|
+
|
|
20
|
+
## Configuration
|
|
21
|
+
|
|
22
|
+
| Field | Value |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| Server name | `github` |
|
|
25
|
+
| Type | `http` |
|
|
26
|
+
| URL | `https://api.githubcopilot.com/mcp/` |
|
|
27
|
+
| Auth header | `Authorization: Bearer {env:GITHUB_PERSONAL_ACCESS_TOKEN}` |
|
|
28
|
+
|
|
29
|
+
### Config file examples
|
|
30
|
+
|
|
31
|
+
Use the examples in [`configs/`](./configs/) as client-specific starting points:
|
|
32
|
+
|
|
33
|
+
| Client | Example | Typical location |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| OpenCode | [`configs/opencode.json`](./configs/opencode.json) | OpenCode MCP configuration. |
|
|
36
|
+
|
|
37
|
+
### OpenCode
|
|
38
|
+
|
|
39
|
+
Copy [`configs/opencode.json`](./configs/opencode.json) into your OpenCode project root or user config directory, ensure `GITHUB_PERSONAL_ACCESS_TOKEN` is set in your `.env` file, and restart the OpenCode agent.
|
|
40
|
+
|
|
41
|
+
## Verification
|
|
42
|
+
|
|
43
|
+
From your AI client:
|
|
44
|
+
|
|
45
|
+
- The `github` MCP server is listed.
|
|
46
|
+
- The server starts without errors.
|
|
47
|
+
- Tools are visible to the agent.
|
|
48
|
+
|
|
49
|
+
Recommended first prompt:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
List my GitHub repositories and show me recent pull requests.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Common Issues
|
|
56
|
+
|
|
57
|
+
- **Server does not start**: confirm your client supports remote HTTP MCP servers.
|
|
58
|
+
- **Authentication errors**: confirm the PAT has the required scopes and `GITHUB_PERSONAL_ACCESS_TOKEN` is set in your `.env` or environment.
|
|
59
|
+
- **401 Unauthorized**: regenerate the token in GitHub **Settings → Developer settings → Personal access tokens**.
|
|
60
|
+
- **Rate limiting**: GitHub API has rate limits; reduce the frequency of tool calls if you encounter 429 errors.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# GitHub MCP Troubleshooting
|
|
2
|
+
|
|
3
|
+
## Server won't start
|
|
4
|
+
|
|
5
|
+
**Problem**
|
|
6
|
+
|
|
7
|
+
The AI client reports that `github` failed to start.
|
|
8
|
+
|
|
9
|
+
**Cause**
|
|
10
|
+
|
|
11
|
+
The client does not support remote HTTP MCP servers, or the URL is misconfigured.
|
|
12
|
+
|
|
13
|
+
**Solution**
|
|
14
|
+
|
|
15
|
+
- Verify the `type` is `http` and `url` is `https://api.githubcopilot.com/mcp/`.
|
|
16
|
+
- Check that your client supports remote MCP servers (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, OpenCode).
|
|
17
|
+
- If remote HTTP is not supported, use the local Docker version instead (see upstream docs).
|
|
18
|
+
|
|
19
|
+
## Authentication errors
|
|
20
|
+
|
|
21
|
+
**Problem**
|
|
22
|
+
|
|
23
|
+
The server starts but returns 401 Unauthorized on tool calls.
|
|
24
|
+
|
|
25
|
+
**Cause**
|
|
26
|
+
|
|
27
|
+
The `GITHUB_PERSONAL_ACCESS_TOKEN` is missing, expired, or invalid.
|
|
28
|
+
|
|
29
|
+
**Solution**
|
|
30
|
+
|
|
31
|
+
- Verify `GITHUB_PERSONAL_ACCESS_TOKEN` is set: check your `.env` file or environment variables.
|
|
32
|
+
- Confirm the token is a valid GitHub Personal Access Token with the required scopes.
|
|
33
|
+
- Generate a new token in GitHub: **Settings → Developer settings → Personal access tokens → Fine-grained tokens**.
|
|
34
|
+
- Ensure the token is not expired.
|
|
35
|
+
|
|
36
|
+
## Rate limiting
|
|
37
|
+
|
|
38
|
+
**Problem**
|
|
39
|
+
|
|
40
|
+
Tools return 429 Too Many Requests errors.
|
|
41
|
+
|
|
42
|
+
**Cause**
|
|
43
|
+
|
|
44
|
+
GitHub API rate limits have been exceeded.
|
|
45
|
+
|
|
46
|
+
**Solution**
|
|
47
|
+
|
|
48
|
+
- Reduce the frequency of tool calls.
|
|
49
|
+
- Wait for the rate limit window (typically 1 hour) to reset before retrying.
|
|
50
|
+
- For higher limits, authenticate with a PAT that has the necessary scopes.
|
|
51
|
+
|
|
52
|
+
## Token in version control
|
|
53
|
+
|
|
54
|
+
**Problem**
|
|
55
|
+
|
|
56
|
+
Risk of leaking the GitHub token to version control.
|
|
57
|
+
|
|
58
|
+
**Solution**
|
|
59
|
+
|
|
60
|
+
- Never hardcode the token in `opencode.json` or any config file.
|
|
61
|
+
- Use `{env:GITHUB_PERSONAL_ACCESS_TOKEN}` in config files and store the actual value in `.env`.
|
|
62
|
+
- Add `.env` to `.gitignore`.
|
|
63
|
+
- Restrict `.env` file permissions: `chmod 600 .opencode/.env`.
|
|
64
|
+
|
|
65
|
+
## Permission errors
|
|
66
|
+
|
|
67
|
+
**Problem**
|
|
68
|
+
|
|
69
|
+
Tools return 403 Forbidden or insufficient permissions.
|
|
70
|
+
|
|
71
|
+
**Cause**
|
|
72
|
+
|
|
73
|
+
The authenticated token does not have the required scopes or repository access.
|
|
74
|
+
|
|
75
|
+
**Solution**
|
|
76
|
+
|
|
77
|
+
- Verify the token has `repo` scope for private repositories.
|
|
78
|
+
- For organization access, ensure `read:org` scope is included.
|
|
79
|
+
- For fine-grained tokens, ensure the token has access to the target repository.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# GitLab MCP
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GitLab MCP is a comprehensive GitLab MCP server for AI clients. Manage projects, merge requests, issues, pipelines, wiki, releases, tags, milestones, and more through stdio, SSE, and Streamable HTTP transports. Supports PAT, OAuth, read-only mode, dynamic API URLs, and remote authorization.
|
|
6
|
+
|
|
7
|
+
Official source:
|
|
8
|
+
|
|
9
|
+
- [GitHub: zereight/gitlab-mcp](https://github.com/zereight/gitlab-mcp)
|
|
10
|
+
- [Documentation](https://zereight.github.io/gitlab-mcp/)
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- Broad GitLab coverage — 117+ tools for projects, repository browsing, merge requests, issues, pipelines, wiki, releases, tags, labels, milestones, and more.
|
|
15
|
+
- Flexible auth — Personal Access Token, local OAuth2 browser flow, MCP OAuth proxy, and per-request remote authorization.
|
|
16
|
+
- Multiple transports — stdio for local clients, SSE for legacy clients, and Streamable HTTP for modern remote deployments.
|
|
17
|
+
- Client-friendly setup — examples for Claude Code, Codex, OpenCode, Copilot, Cline, Roo Code, Cursor, and more.
|
|
18
|
+
- Self-hosted ready — works with custom GitLab instances, proxy settings, and dynamic API URL routing.
|
|
19
|
+
- Permission modes — `readonly`, `modify` (no delete), or `full`; tool filtering by toolset groups, allow-list, and deny-list.
|
|
20
|
+
|
|
21
|
+
## Supported AI Clients
|
|
22
|
+
|
|
23
|
+
GitLab MCP officially documents setup for Claude Code, VS Code, GitHub Copilot, Codex, Cursor, and JSON-based MCP clients.
|
|
24
|
+
|
|
25
|
+
- OpenCode
|
|
26
|
+
|
|
27
|
+
## When to Use
|
|
28
|
+
|
|
29
|
+
Use GitLab MCP when an AI coding agent needs to interact with a GitLab instance.
|
|
30
|
+
|
|
31
|
+
Good fits:
|
|
32
|
+
|
|
33
|
+
- Reviewing, approving, and merging merge requests.
|
|
34
|
+
- Browsing repositories, files, and commit history.
|
|
35
|
+
- Creating and managing issues and to-do items.
|
|
36
|
+
- Inspecting CI/CD pipelines and job logs.
|
|
37
|
+
- Managing wiki pages, milestones, labels, and releases.
|
|
38
|
+
- Automating GitLab workflows from an AI agent.
|
|
39
|
+
|
|
40
|
+
Avoid using it outside of GitLab-related workflows.
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
|
|
44
|
+
- Node.js >= 18 and npm (for `npx` or global install), or Homebrew (for `brew install`).
|
|
45
|
+
- A GitLab account with API access.
|
|
46
|
+
- A Personal Access Token with appropriate scopes, or OAuth2 credentials.
|
|
47
|
+
|
|
48
|
+
## Related Skills
|
|
49
|
+
|
|
50
|
+
Relevant skills in this repository:
|
|
51
|
+
|
|
52
|
+
- [`backend-engineer`](../../skills/backend-engineer/SKILL.md): feature work in projects hosted on GitLab.
|
|
53
|
+
- [`backend-best-practices`](../../skills/backend-best-practices/SKILL.md): backend best practices for API design, testing, debugging, performance, and security.
|
|
54
|
+
- [`code-review`](../../skills/code-review/SKILL.md): reviewing merge request diffs.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# GitLab MCP Capabilities
|
|
2
|
+
|
|
3
|
+
## What It Can Do
|
|
4
|
+
|
|
5
|
+
117+ tools across projects, merge requests, issues, pipelines, wiki, milestones, labels, and more.
|
|
6
|
+
|
|
7
|
+
### Merge Requests
|
|
8
|
+
|
|
9
|
+
| Tool | Description |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `list_merge_requests` | List merge requests with filtering |
|
|
12
|
+
| `get_merge_request` | Get merge request details |
|
|
13
|
+
| `create_merge_request` | Create a new merge request |
|
|
14
|
+
| `update_merge_request` | Update a merge request |
|
|
15
|
+
| `merge_merge_request` | Merge a merge request |
|
|
16
|
+
| `approve_merge_request` | Approve a merge request |
|
|
17
|
+
| `unapprove_merge_request` | Unapprove a merge request |
|
|
18
|
+
| `get_merge_request_approval_state` | Get approval details including approvers |
|
|
19
|
+
| `get_merge_request_diffs` | Get the changes/diffs of a merge request |
|
|
20
|
+
| `list_merge_request_diffs` | List diffs with pagination |
|
|
21
|
+
| `get_merge_request_conflicts` | Get merge request conflicts |
|
|
22
|
+
| `list_merge_request_changed_files` | List changed file paths (without diff) |
|
|
23
|
+
| `get_merge_request_file_diff` | Get diffs for specific files |
|
|
24
|
+
| `list_merge_request_versions` | List all versions of a merge request |
|
|
25
|
+
| `get_merge_request_version` | Get a specific version |
|
|
26
|
+
| `get_branch_diffs` | Get diffs between two branches or commits |
|
|
27
|
+
| `mr_discussions` | List discussion items for a merge request |
|
|
28
|
+
| `resolve_merge_request_thread` | Resolve a thread |
|
|
29
|
+
| `create_merge_request_thread` | Create a new thread |
|
|
30
|
+
| `create_merge_request_note` | Add a note to an existing thread |
|
|
31
|
+
| `create_merge_request_discussion_note` | Add a discussion note |
|
|
32
|
+
| `update_merge_request_note` | Modify a merge request note |
|
|
33
|
+
| `update_merge_request_discussion_note` | Update a discussion note |
|
|
34
|
+
| `delete_merge_request_note` | Delete a merge request note |
|
|
35
|
+
| `delete_merge_request_discussion_note` | Delete a discussion note |
|
|
36
|
+
| `get_merge_request_note` | Get a specific note |
|
|
37
|
+
| `get_merge_request_notes` | List notes for a merge request |
|
|
38
|
+
| `create_note` | Create a comment on an issue or MR |
|
|
39
|
+
| `get_draft_note` | Get a single draft note |
|
|
40
|
+
| `list_draft_notes` | List draft notes |
|
|
41
|
+
| `create_draft_note` | Create a draft note |
|
|
42
|
+
| `update_draft_note` | Update a draft note |
|
|
43
|
+
| `delete_draft_note` | Delete a draft note |
|
|
44
|
+
| `publish_draft_note` | Publish a single draft note |
|
|
45
|
+
| `bulk_publish_draft_notes` | Publish all draft notes |
|
|
46
|
+
|
|
47
|
+
### Issues
|
|
48
|
+
|
|
49
|
+
| Tool | Description |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| `list_issues` | List issues with filtering |
|
|
52
|
+
| `my_issues` | List issues assigned to the current user |
|
|
53
|
+
| `get_issue` | Get issue details |
|
|
54
|
+
| `create_issue` | Create a new issue |
|
|
55
|
+
| `update_issue` | Update an issue |
|
|
56
|
+
| `update_issue_description_patch` | Apply a patch to an issue description |
|
|
57
|
+
| `delete_issue` | Delete an issue |
|
|
58
|
+
| `create_issue_note` | Add a note to an issue thread |
|
|
59
|
+
| `update_issue_note` | Modify an issue thread note |
|
|
60
|
+
| `list_issue_discussions` | List discussions for an issue |
|
|
61
|
+
| `list_issue_links` | List issue links |
|
|
62
|
+
| `get_issue_link` | Get a specific issue link |
|
|
63
|
+
| `create_issue_link` | Link two issues |
|
|
64
|
+
| `delete_issue_link` | Delete an issue link |
|
|
65
|
+
|
|
66
|
+
### Projects & Repositories
|
|
67
|
+
|
|
68
|
+
| Tool | Description |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| `search_repositories` | Search for GitLab projects |
|
|
71
|
+
| `create_repository` | Create a new GitLab project |
|
|
72
|
+
| `get_project` | Get project details |
|
|
73
|
+
| `list_projects` | List accessible projects |
|
|
74
|
+
| `list_project_members` | List project members |
|
|
75
|
+
| `fork_repository` | Fork a project |
|
|
76
|
+
| `list_group_projects` | List projects in a group |
|
|
77
|
+
| `list_namespaces` | List available namespaces |
|
|
78
|
+
| `get_namespace` | Get namespace details |
|
|
79
|
+
| `verify_namespace` | Verify a namespace path exists |
|
|
80
|
+
| `create_group` | Create a new group or subgroup |
|
|
81
|
+
| `list_group_iterations` | List group iterations |
|
|
82
|
+
|
|
83
|
+
### Files & Commits
|
|
84
|
+
|
|
85
|
+
| Tool | Description |
|
|
86
|
+
| --- | --- |
|
|
87
|
+
| `get_file_contents` | Get file or directory contents |
|
|
88
|
+
| `create_or_update_file` | Create or update a single file |
|
|
89
|
+
| `push_files` | Push multiple files in a single commit |
|
|
90
|
+
| `create_branch` | Create a new branch |
|
|
91
|
+
| `get_repository_tree` | List repository files and directories |
|
|
92
|
+
| `list_commits` | List commits with filtering |
|
|
93
|
+
| `get_commit` | Get commit details |
|
|
94
|
+
| `get_commit_diff` | Get commit changes/diffs |
|
|
95
|
+
|
|
96
|
+
### CI/CD Pipelines
|
|
97
|
+
|
|
98
|
+
| Tool | Description |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `list_pipelines` | List pipelines with filtering |
|
|
101
|
+
| `get_pipeline` | Get pipeline details |
|
|
102
|
+
| `create_pipeline` | Create a pipeline for a branch or tag |
|
|
103
|
+
| `retry_pipeline` | Retry a failed or canceled pipeline |
|
|
104
|
+
| `cancel_pipeline` | Cancel a running pipeline |
|
|
105
|
+
| `list_pipeline_jobs` | List all jobs in a pipeline |
|
|
106
|
+
| `list_pipeline_trigger_jobs` | List trigger jobs (bridges) |
|
|
107
|
+
| `get_pipeline_job` | Get job details |
|
|
108
|
+
| `get_pipeline_job_output` | Get job output/trace with pagination |
|
|
109
|
+
| `play_pipeline_job` | Run a manual pipeline job |
|
|
110
|
+
| `retry_pipeline_job` | Retry a failed job |
|
|
111
|
+
| `cancel_pipeline_job` | Cancel a running job |
|
|
112
|
+
| `validate_ci_lint` | Validate CI/CD YAML content |
|
|
113
|
+
| `validate_project_ci_lint` | Validate existing `.gitlab-ci.yml` |
|
|
114
|
+
| `list_job_artifacts` | List artifact files in a job |
|
|
115
|
+
| `download_job_artifacts` | Download artifact archive (zip) |
|
|
116
|
+
| `get_job_artifact_file` | Get content of a single artifact file |
|
|
117
|
+
| `list_deployments` | List deployments |
|
|
118
|
+
| `get_deployment` | Get deployment details |
|
|
119
|
+
| `list_environments` | List environments |
|
|
120
|
+
| `get_environment` | Get environment details |
|
|
121
|
+
|
|
122
|
+
### Wiki
|
|
123
|
+
|
|
124
|
+
| Tool | Description |
|
|
125
|
+
| --- | --- |
|
|
126
|
+
| `list_wiki_pages` | List project wiki pages |
|
|
127
|
+
| `get_wiki_page` | Get wiki page details |
|
|
128
|
+
| `create_wiki_page` | Create a new wiki page |
|
|
129
|
+
| `update_wiki_page` | Update a wiki page |
|
|
130
|
+
| `delete_wiki_page` | Delete a wiki page |
|
|
131
|
+
| `list_group_wiki_pages` | List group wiki pages |
|
|
132
|
+
| `get_group_wiki_page` | Get group wiki page details |
|
|
133
|
+
| `create_group_wiki_page` | Create a group wiki page |
|
|
134
|
+
| `update_group_wiki_page` | Update a group wiki page |
|
|
135
|
+
| `delete_group_wiki_page` | Delete a group wiki page |
|
|
136
|
+
|
|
137
|
+
### Milestones
|
|
138
|
+
|
|
139
|
+
| Tool | Description |
|
|
140
|
+
| --- | --- |
|
|
141
|
+
| `list_milestones` | List milestones with filtering |
|
|
142
|
+
| `get_milestone` | Get milestone details |
|
|
143
|
+
| `create_milestone` | Create a new milestone |
|
|
144
|
+
| `edit_milestone` | Edit an existing milestone |
|
|
145
|
+
| `delete_milestone` | Delete a milestone |
|
|
146
|
+
| `get_milestone_issue` | Get issues for a milestone |
|
|
147
|
+
| `get_milestone_merge_requests` | Get MRs for a milestone |
|
|
148
|
+
| `get_milestone_burndown_events` | Get burndown events |
|
|
149
|
+
| `promote_milestone` | Promote a milestone |
|
|
150
|
+
|
|
151
|
+
### Labels & To-Dos
|
|
152
|
+
|
|
153
|
+
| Tool | Description |
|
|
154
|
+
| --- | --- |
|
|
155
|
+
| `list_labels` | List project labels |
|
|
156
|
+
| `get_label` | Get a single label |
|
|
157
|
+
| `create_label` | Create a new label |
|
|
158
|
+
| `update_label` | Update an existing label |
|
|
159
|
+
| `delete_label` | Delete a label |
|
|
160
|
+
| `list_todos` | List to-do items |
|
|
161
|
+
| `mark_todo_done` | Mark a to-do item as done |
|
|
162
|
+
| `mark_all_todos_done` | Mark all to-do items as done |
|
|
163
|
+
|
|
164
|
+
### Releases (not listed in README tools, but mentioned in features)
|
|
165
|
+
|
|
166
|
+
The server may expose additional release and tag management tools depending on the installed version. Refer to the official [documentation](https://zereight.github.io/gitlab-mcp/) for the full tool list.
|
|
167
|
+
|
|
168
|
+
## What It Cannot Do
|
|
169
|
+
|
|
170
|
+
- It cannot operate without a GitLab account and API token or OAuth credentials.
|
|
171
|
+
- It cannot access GitLab features outside the authenticated user's permissions.
|
|
172
|
+
- It does not support SSE transport when using `REMOTE_AUTHORIZATION` mode (Streamable HTTP required).
|
|
173
|
+
- It cannot safely infer production intent; agents still need explicit instructions before destructive operations.
|
|
174
|
+
- Read-only mode (`GITLAB_PERMISSION_MODE=readonly`) blocks all write, update, and delete tools but does not prevent the agent from reading sensitive project data that the token has access to.
|
|
175
|
+
|
|
176
|
+
## Best Practices
|
|
177
|
+
|
|
178
|
+
- Use a Personal Access Token with the minimum required scopes (`read_api` for read-only workflows, `api` for write workflows).
|
|
179
|
+
- Use `GITLAB_PERMISSION_MODE=readonly` or `modify` to restrict agent capabilities.
|
|
180
|
+
- Use `GITLAB_TOOLSETS` to enable only the tool groups needed (e.g., `wiki,milestones,pipelines`).
|
|
181
|
+
- Use `GITLAB_TOOLS` allow-list to enable individual tools, and `GITLAB_DENIED_TOOLS_REGEX` to block by pattern.
|
|
182
|
+
- Prefer OAuth2 over PAT for better security in desktop workflows.
|
|
183
|
+
- For multi-user deployments, use `REMOTE_AUTHORIZATION` so each caller provides their own token.
|
|
184
|
+
- Use `list_merge_request_changed_files` first, then `get_merge_request_file_diff` on selected files, to reduce token usage during code review.
|
|
185
|
+
- Validate CI/CD changes with `validate_ci_lint` before committing.
|
|
186
|
+
|
|
187
|
+
## Common Workflows
|
|
188
|
+
|
|
189
|
+
### Review a merge request
|
|
190
|
+
|
|
191
|
+
1. Call `list_merge_request_changed_files` to see which files changed.
|
|
192
|
+
2. Call `get_merge_request_file_diff` on 3-5 files at a time to review diffs.
|
|
193
|
+
3. Call `get_merge_request_approval_state` to check approvers.
|
|
194
|
+
4. Use `create_merge_request_thread` or `create_note` to leave feedback.
|
|
195
|
+
5. Call `approve_merge_request` and `merge_merge_request` when ready.
|
|
196
|
+
|
|
197
|
+
### Investigate a pipeline failure
|
|
198
|
+
|
|
199
|
+
1. Call `list_pipelines` to find the failed pipeline.
|
|
200
|
+
2. Call `list_pipeline_jobs` to see which jobs failed.
|
|
201
|
+
3. Call `get_pipeline_job_output` to read the failing job's logs.
|
|
202
|
+
4. Use the logs to diagnose the issue and propose a fix.
|
|
203
|
+
|
|
204
|
+
### Manage issues
|
|
205
|
+
|
|
206
|
+
1. Call `list_issues` or `my_issues` to see open issues.
|
|
207
|
+
2. Call `get_issue` to read details of a specific issue.
|
|
208
|
+
3. Call `create_issue_note` to comment or request clarification.
|
|
209
|
+
4. Call `update_issue` to change status, assignee, or labels.
|
|
210
|
+
|
|
211
|
+
### Browse and edit repository files
|
|
212
|
+
|
|
213
|
+
1. Call `get_repository_tree` to list files in a directory.
|
|
214
|
+
2. Call `get_file_contents` to read specific files.
|
|
215
|
+
3. Call `create_or_update_file` or `push_files` to make changes.
|
|
216
|
+
4. Call `create_branch` and `create_merge_request` to propose changes.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcp": {
|
|
3
|
+
"gitlab": {
|
|
4
|
+
"type": "local",
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"command": ["bun", "x", "@zereight/mcp-gitlab"],
|
|
7
|
+
"environment": {
|
|
8
|
+
"GITLAB_PERSONAL_ACCESS_TOKEN": "{env:GITLAB_PERSONAL_ACCESS_TOKEN}",
|
|
9
|
+
"GITLAB_API_URL": "{env:GITLAB_API_URL}"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# GitLab MCP Installation
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- Node.js >= 18 and npm available on `PATH`, or Homebrew.
|
|
6
|
+
- A GitLab account with API access.
|
|
7
|
+
- A GitLab Personal Access Token with `api` scope (or `read_api` for read-only mode).
|
|
8
|
+
- An MCP-compatible AI client.
|
|
9
|
+
|
|
10
|
+
## Authentication
|
|
11
|
+
|
|
12
|
+
The server supports four authentication methods:
|
|
13
|
+
|
|
14
|
+
| Method | Best for |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| Personal Access Token (PAT) | Simplest local setup |
|
|
17
|
+
| OAuth2 — Local Browser | Better security for desktop use |
|
|
18
|
+
| OAuth2 — MCP Proxy | Remote deployments (Claude.ai, etc.) |
|
|
19
|
+
| Remote Authorization | Multi-user deployments with per-request tokens |
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
Install globally via npm or Homebrew:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g @zereight/mcp-gitlab
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or with Homebrew:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
brew install zereight/gitlab-mcp/zereight-mcp-gitlab
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
No global install? Use `npx` pinned to a specific version:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx -y @zereight/mcp-gitlab@latest
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Configuration
|
|
42
|
+
|
|
43
|
+
| Field | Value |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| Server name | `gitlab` |
|
|
46
|
+
| Command | `zereight-mcp-gitlab` |
|
|
47
|
+
| Env | `GITLAB_PERSONAL_ACCESS_TOKEN`, `GITLAB_API_URL` |
|
|
48
|
+
| Alt command (no global install) | `npx` with args `-y`, `@zereight/mcp-gitlab@latest` |
|
|
49
|
+
| CLI args | `--token`, `--api-url`, `--permission-mode` |
|
|
50
|
+
|
|
51
|
+
### Config file examples
|
|
52
|
+
|
|
53
|
+
Use the examples in [`configs/`](./configs/) as client-specific starting points:
|
|
54
|
+
|
|
55
|
+
| Client | Example | Typical location |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| OpenCode | [`configs/opencode.json`](./configs/opencode.json) | OpenCode MCP configuration. |
|
|
58
|
+
|
|
59
|
+
### OpenCode
|
|
60
|
+
|
|
61
|
+
Copy [`configs/opencode.json`](./configs/opencode.json) into your OpenCode project root or user config directory, replace the placeholder token and API URL, and restart the OpenCode agent.
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
Run the MCP server command directly:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
zereight-mcp-gitlab
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Then verify from your AI client:
|
|
72
|
+
|
|
73
|
+
- The `gitlab` MCP server is listed.
|
|
74
|
+
- The server starts without errors.
|
|
75
|
+
- Tools are visible to the agent.
|
|
76
|
+
|
|
77
|
+
Recommended first prompt:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
List my GitLab projects and show me recent merge requests.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Updating
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npm update -g @zereight/mcp-gitlab
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Uninstalling
|
|
90
|
+
|
|
91
|
+
1. Remove the MCP entry from AI client configuration files.
|
|
92
|
+
2. Uninstall the package: `npm uninstall -g @zereight/mcp-gitlab`.
|
|
93
|
+
|
|
94
|
+
## Common Issues
|
|
95
|
+
|
|
96
|
+
- **Server does not start**: run `zereight-mcp-gitlab` manually and fix the first error shown. Ensure Node.js >= 18 is installed.
|
|
97
|
+
- **Authentication errors**: confirm the PAT has the correct scopes and the API URL is `https://gitlab.com/api/v4` (not the web URL).
|
|
98
|
+
- **Client cannot find the server**: use the absolute path from `which zereight-mcp-gitlab`, or use `npx` as the command instead.
|
|
99
|
+
- **Wrong API URL**: use `https://gitlab.com/api/v4` for GitLab SaaS, or `https://your-instance/api/v4` for self-hosted.
|