@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,149 @@
|
|
|
1
|
+
# Playwright MCP Capabilities
|
|
2
|
+
|
|
3
|
+
## What It Can Do
|
|
4
|
+
|
|
5
|
+
Tools are organized by capability category. Core tools are always available; others require opt-in via `--caps`.
|
|
6
|
+
|
|
7
|
+
### Core Automation
|
|
8
|
+
|
|
9
|
+
| Tool | Description | Read-only |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| `browser_navigate` | Navigate to a URL | No |
|
|
12
|
+
| `browser_navigate_back` | Go back to previous page in history | No |
|
|
13
|
+
| `browser_click` | Perform click on a web page | No |
|
|
14
|
+
| `browser_hover` | Hover over element on page | No |
|
|
15
|
+
| `browser_type` | Type text into editable element | No |
|
|
16
|
+
| `browser_fill_form` | Fill multiple form fields | No |
|
|
17
|
+
| `browser_select_option` | Select an option in a dropdown | No |
|
|
18
|
+
| `browser_drag` | Perform drag and drop between two elements | No |
|
|
19
|
+
| `browser_drop` | Drop files or data onto an element | No |
|
|
20
|
+
| `browser_press_key` | Press a key on the keyboard | No |
|
|
21
|
+
| `browser_snapshot` | Capture accessibility snapshot of the current page | Yes |
|
|
22
|
+
| `browser_take_screenshot` | Take a screenshot of the page or element | Yes |
|
|
23
|
+
| `browser_evaluate` | Evaluate JavaScript expression on page or element | No |
|
|
24
|
+
| `browser_console_messages` | Returns all console messages | Yes |
|
|
25
|
+
| `browser_network_requests` | List network requests since page load | Yes |
|
|
26
|
+
| `browser_network_request` | Get full details of a specific network request | Yes |
|
|
27
|
+
| `browser_file_upload` | Upload one or multiple files | No |
|
|
28
|
+
| `browser_handle_dialog` | Accept or dismiss a browser dialog | No |
|
|
29
|
+
| `browser_wait_for` | Wait for text to appear/disappear or a set time | No |
|
|
30
|
+
| `browser_close` | Close the current page | No |
|
|
31
|
+
| `browser_resize` | Resize the browser window | No |
|
|
32
|
+
| `browser_run_code_unsafe` | Run arbitrary Playwright code (RCE-equivalent) | No |
|
|
33
|
+
|
|
34
|
+
### Tab Management
|
|
35
|
+
|
|
36
|
+
| Tool | Description | Read-only |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
| `browser_tabs` | List, create, close, or select a browser tab | No |
|
|
39
|
+
|
|
40
|
+
### Network (opt-in via `--caps=network`)
|
|
41
|
+
|
|
42
|
+
| Tool | Description | Read-only |
|
|
43
|
+
| --- | --- | --- |
|
|
44
|
+
| `browser_route` | Set up route to mock network requests | No |
|
|
45
|
+
| `browser_route_list` | List all active network routes | Yes |
|
|
46
|
+
| `browser_unroute` | Remove network routes | No |
|
|
47
|
+
| `browser_network_state_set` | Set browser online/offline | No |
|
|
48
|
+
|
|
49
|
+
### Storage (opt-in via `--caps=storage`)
|
|
50
|
+
|
|
51
|
+
| Tool | Description | Read-only |
|
|
52
|
+
| --- | --- | --- |
|
|
53
|
+
| `browser_cookie_list` | List all cookies | Yes |
|
|
54
|
+
| `browser_cookie_get` | Get a specific cookie by name | Yes |
|
|
55
|
+
| `browser_cookie_set` | Set a cookie with optional flags | No |
|
|
56
|
+
| `browser_cookie_delete` | Delete a specific cookie | No |
|
|
57
|
+
| `browser_cookie_clear` | Clear all cookies | No |
|
|
58
|
+
| `browser_localstorage_list` | List all localStorage key-value pairs | Yes |
|
|
59
|
+
| `browser_localstorage_get` | Get a localStorage item by key | Yes |
|
|
60
|
+
| `browser_localstorage_set` | Set a localStorage item | No |
|
|
61
|
+
| `browser_localstorage_delete` | Delete a localStorage item | No |
|
|
62
|
+
| `browser_localstorage_clear` | Clear all localStorage | No |
|
|
63
|
+
| `browser_sessionstorage_list` | List all sessionStorage key-value pairs | Yes |
|
|
64
|
+
| `browser_sessionstorage_get` | Get a sessionStorage item by key | Yes |
|
|
65
|
+
| `browser_sessionstorage_set` | Set a sessionStorage item | No |
|
|
66
|
+
| `browser_sessionstorage_delete` | Delete a sessionStorage item | No |
|
|
67
|
+
| `browser_sessionstorage_clear` | Clear all sessionStorage | No |
|
|
68
|
+
| `browser_storage_state` | Save storage state (cookies, localStorage) to file | Yes |
|
|
69
|
+
| `browser_set_storage_state` | Restore storage state from a file | No |
|
|
70
|
+
|
|
71
|
+
### DevTools (opt-in via `--caps=devtools`)
|
|
72
|
+
|
|
73
|
+
| Tool | Description | Read-only |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| `browser_annotate` | Open Playwright Dashboard in annotation mode | Yes |
|
|
76
|
+
| `browser_hide_highlight` | Remove highlight overlay from an element | No |
|
|
77
|
+
| `browser_highlight` | Highlight an element on the page | No |
|
|
78
|
+
| `browser_inspect` | Inspect element's computed styles and attributes | Yes |
|
|
79
|
+
| `browser_measure` | Perform pixel measurement between elements | Yes |
|
|
80
|
+
|
|
81
|
+
### Vision (opt-in via `--caps=vision`)
|
|
82
|
+
|
|
83
|
+
| Tool | Description | Read-only |
|
|
84
|
+
| --- | --- | --- |
|
|
85
|
+
| `browser_click_position` | Click at specific x/y coordinates | No |
|
|
86
|
+
| `browser_drag_position` | Drag from one position to another | No |
|
|
87
|
+
| `browser_hover_position` | Hover at specific x/y coordinates | No |
|
|
88
|
+
|
|
89
|
+
### PDF (opt-in via `--caps=pdf`)
|
|
90
|
+
|
|
91
|
+
| Tool | Description | Read-only |
|
|
92
|
+
| --- | --- | --- |
|
|
93
|
+
| `browser_pdf` | Print current page to PDF | Yes |
|
|
94
|
+
|
|
95
|
+
### Configuration (opt-in via `--caps=config`)
|
|
96
|
+
|
|
97
|
+
| Tool | Description | Read-only |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| `browser_get_config` | Get the final resolved config after merging CLI, env, and config file | Yes |
|
|
100
|
+
|
|
101
|
+
## What It Cannot Do
|
|
102
|
+
|
|
103
|
+
- It cannot work without Node.js 18+ and a supported browser engine.
|
|
104
|
+
- It does **not** provide a security boundary — the `browser_run_code_unsafe` tool is RCE-equivalent. Rely on client-level permissions for security.
|
|
105
|
+
- It cannot access local files outside the workspace unless `--allow-unrestricted-file-access` is set.
|
|
106
|
+
- Vision features require the `--caps=vision` flag.
|
|
107
|
+
- The Docker image only supports headless Chromium at this time.
|
|
108
|
+
- It cannot persist data across isolated sessions when `--isolated` is used.
|
|
109
|
+
|
|
110
|
+
## Best Practices
|
|
111
|
+
|
|
112
|
+
- Use `--headless` for CI and automated workflows.
|
|
113
|
+
- Use `--isolated` for concurrent agent sessions to avoid profile conflicts.
|
|
114
|
+
- Use `--caps` to enable only the tool categories you need — keeps the tool surface small.
|
|
115
|
+
- Use `--viewport-size` to set a consistent browser window size for reproducible snapshots.
|
|
116
|
+
- Use `--device` to emulate specific mobile devices.
|
|
117
|
+
- Use `--user-data-dir` with a persistent profile for logged-in sessions across restarts.
|
|
118
|
+
- Use the `--config` file for complex setups instead of long CLI arg lists.
|
|
119
|
+
- Do **not** use `browser_run_code_unsafe` unless the client has restricted tool permissions; it is equivalent to arbitrary code execution.
|
|
120
|
+
|
|
121
|
+
## Common Workflows
|
|
122
|
+
|
|
123
|
+
### Navigate and inspect a page
|
|
124
|
+
|
|
125
|
+
1. Call `browser_navigate` to open a URL.
|
|
126
|
+
2. Call `browser_snapshot` to capture the accessibility tree.
|
|
127
|
+
3. Call `browser_console_messages` to check for errors.
|
|
128
|
+
4. Call `browser_network_requests` to inspect network activity.
|
|
129
|
+
|
|
130
|
+
### Fill and submit a form
|
|
131
|
+
|
|
132
|
+
1. Call `browser_navigate` to open the page.
|
|
133
|
+
2. Call `browser_snapshot` to see the form structure.
|
|
134
|
+
3. Call `browser_fill_form` or `browser_type` to enter values.
|
|
135
|
+
4. Call `browser_click` to press the submit button.
|
|
136
|
+
|
|
137
|
+
### Debug a failing test
|
|
138
|
+
|
|
139
|
+
1. Call `browser_navigate` to the test URL.
|
|
140
|
+
2. Call `browser_snapshot` to verify page state.
|
|
141
|
+
3. Call `browser_evaluate` to run custom inspection scripts.
|
|
142
|
+
4. Call `browser_take_screenshot` to capture visual state.
|
|
143
|
+
|
|
144
|
+
### Mock API responses
|
|
145
|
+
|
|
146
|
+
1. Enable `--caps=network` in server args.
|
|
147
|
+
2. Call `browser_route` to intercept a URL pattern and return mock data.
|
|
148
|
+
3. Call `browser_navigate` to the page that uses the API.
|
|
149
|
+
4. Call `browser_network_requests` to verify the mock was used.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Playwright MCP Installation
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- Node.js 18 or newer available on `PATH`.
|
|
6
|
+
- An MCP-compatible AI client.
|
|
7
|
+
- Browser binaries are downloaded automatically on first run (Chromium by default).
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
The server is used directly with `npx` — no build step required.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @playwright/mcp@latest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Configuration
|
|
18
|
+
|
|
19
|
+
| Field | Value |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| Server name | `playwright` |
|
|
22
|
+
| Command | `npx` |
|
|
23
|
+
| Args | `@playwright/mcp@latest` |
|
|
24
|
+
|
|
25
|
+
### Config file examples
|
|
26
|
+
|
|
27
|
+
Use the examples in [`configs/`](./configs/) as client-specific starting points:
|
|
28
|
+
|
|
29
|
+
| Client | Example | Typical location |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| OpenCode | [`configs/opencode.json`](./configs/opencode.json) | OpenCode MCP configuration. |
|
|
32
|
+
|
|
33
|
+
### OpenCode
|
|
34
|
+
|
|
35
|
+
Copy [`configs/opencode.json`](./configs/opencode.json) into your OpenCode project root or user config directory and restart the OpenCode agent.
|
|
36
|
+
|
|
37
|
+
### Common flags
|
|
38
|
+
|
|
39
|
+
Pass these via the `args` array:
|
|
40
|
+
|
|
41
|
+
| Flag | Description |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `--headless` | Run browser in headless (no UI) mode |
|
|
44
|
+
| `--browser=firefox` | Use Firefox instead of Chromium (also: `webkit`, `chrome`, `msedge`) |
|
|
45
|
+
| `--caps=vision` | Enable vision capability for coordinate-based interactions |
|
|
46
|
+
| `--caps=pdf` | Enable PDF generation capability |
|
|
47
|
+
| `--caps=devtools` | Enable DevTools capability |
|
|
48
|
+
| `--caps=network` | Enable network mocking/routing capability |
|
|
49
|
+
| `--caps=storage` | Enable cookie/localStorage management capability |
|
|
50
|
+
| `--isolated` | Keep browser profile in memory, do not save to disk |
|
|
51
|
+
| `--port=8931` | Listen on a port for SSE transport (standalone server) |
|
|
52
|
+
| `--user-data-dir=/path` | Custom user data directory for persistent profile |
|
|
53
|
+
| `--device="iPhone 15"` | Emulate a mobile device |
|
|
54
|
+
| `--no-sandbox` | Disable sandbox (needed in some Docker/CI environments) |
|
|
55
|
+
| `--viewport-size=1280x720` | Set browser viewport size |
|
|
56
|
+
|
|
57
|
+
Headless Chromium config example:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"mcp": {
|
|
62
|
+
"playwright": {
|
|
63
|
+
"type": "local",
|
|
64
|
+
"enabled": true,
|
|
65
|
+
"command": ["npx", "@playwright/mcp@latest", "--headless"]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Docker
|
|
72
|
+
|
|
73
|
+
Playwright MCP supports Docker for headless Chromium:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"mcp": {
|
|
78
|
+
"playwright": {
|
|
79
|
+
"type": "local",
|
|
80
|
+
"enabled": true,
|
|
81
|
+
"command": ["docker", "run", "-i", "--rm", "--init", "--pull=always", "mcr.microsoft.com/playwright/mcp"]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Or as a long-lived service:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
docker run -d -i --rm --init --pull=always \
|
|
91
|
+
--entrypoint node \
|
|
92
|
+
--name playwright \
|
|
93
|
+
-p 8931:8931 \
|
|
94
|
+
mcr.microsoft.com/playwright/mcp \
|
|
95
|
+
/app/cli.js --headless --browser chromium --no-sandbox --port 8931 --host 0.0.0.0
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Verification
|
|
99
|
+
|
|
100
|
+
Run the MCP server command directly:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npx @playwright/mcp@latest
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Then verify from your AI client:
|
|
107
|
+
|
|
108
|
+
- The `playwright` MCP server is listed.
|
|
109
|
+
- The server starts without errors.
|
|
110
|
+
- Tools are visible to the agent.
|
|
111
|
+
|
|
112
|
+
Recommended first prompt:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
Navigate to https://playwright.dev and take a snapshot of the page
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Updating
|
|
119
|
+
|
|
120
|
+
The `@latest` tag ensures your client always uses the newest version. To force an update:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npx @playwright/mcp@latest
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Uninstalling
|
|
127
|
+
|
|
128
|
+
Remove the `playwright` MCP entry from AI client configuration files.
|
|
129
|
+
|
|
130
|
+
## Common Issues
|
|
131
|
+
|
|
132
|
+
- **Browser does not start**: ensure browser binaries are available or use `--browser` to specify an installed browser.
|
|
133
|
+
- **Sandbox errors on Linux**: add `--no-sandbox` to the args when running in Docker or CI.
|
|
134
|
+
- **Server not found**: confirm the config file is in the correct location and the JSON is valid.
|
|
135
|
+
- **Concurrent session conflicts**: persistent profiles cannot be shared. Use `--isolated` or a distinct `--user-data-dir` for parallel clients.
|
|
136
|
+
- **Port already in use**: specify a different port with `--port`.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Playwright MCP Troubleshooting
|
|
2
|
+
|
|
3
|
+
## Server won't start
|
|
4
|
+
|
|
5
|
+
**Problem**
|
|
6
|
+
|
|
7
|
+
The AI client reports that `playwright` failed to start.
|
|
8
|
+
|
|
9
|
+
**Cause**
|
|
10
|
+
|
|
11
|
+
The client cannot run `npx`, Node.js is not installed, or browser binaries are missing.
|
|
12
|
+
|
|
13
|
+
**Solution**
|
|
14
|
+
|
|
15
|
+
- Run `npx @playwright/mcp@latest` manually to verify the server starts.
|
|
16
|
+
- Check Node.js is installed: `node --version` (requires 18+).
|
|
17
|
+
- On first run, Playwright downloads browser binaries automatically. Ensure a working internet connection.
|
|
18
|
+
- Check network access if the npm package has not been cached locally.
|
|
19
|
+
|
|
20
|
+
## Browser does not launch
|
|
21
|
+
|
|
22
|
+
**Problem**
|
|
23
|
+
|
|
24
|
+
The server starts but no browser window appears.
|
|
25
|
+
|
|
26
|
+
**Cause**
|
|
27
|
+
|
|
28
|
+
Headless mode is enabled, or the browser binary is not found.
|
|
29
|
+
|
|
30
|
+
**Solution**
|
|
31
|
+
|
|
32
|
+
- If using `--headless`, the browser runs without a UI — this is expected.
|
|
33
|
+
- Use `--browser` to specify an installed browser engine (chromium, firefox, webkit).
|
|
34
|
+
- Set `PLAYWRIGHT_MCP_EXECUTABLE_PATH` or pass `--executable-path` to point to a custom browser binary.
|
|
35
|
+
|
|
36
|
+
## Sandbox errors on Linux
|
|
37
|
+
|
|
38
|
+
**Problem**
|
|
39
|
+
|
|
40
|
+
The browser fails to start with sandbox-related errors on Linux.
|
|
41
|
+
|
|
42
|
+
**Cause**
|
|
43
|
+
|
|
44
|
+
Chrome/Chromium sandbox requires specific kernel settings not available in Docker or containerized environments.
|
|
45
|
+
|
|
46
|
+
**Solution**
|
|
47
|
+
|
|
48
|
+
- Pass `--no-sandbox` in the server args.
|
|
49
|
+
- Or set the `PLAYWRIGHT_MCP_NO_SANDBOX` environment variable.
|
|
50
|
+
- Note: disabling sandbox reduces security. Use only in trusted environments.
|
|
51
|
+
|
|
52
|
+
## "Cannot find module" errors
|
|
53
|
+
|
|
54
|
+
**Problem**
|
|
55
|
+
|
|
56
|
+
The server fails with module resolution errors.
|
|
57
|
+
|
|
58
|
+
**Cause**
|
|
59
|
+
|
|
60
|
+
The npm package is corrupted or incompletely cached.
|
|
61
|
+
|
|
62
|
+
**Solution**
|
|
63
|
+
|
|
64
|
+
- Clear npm cache: `npm cache clean --force`.
|
|
65
|
+
- Retry with `npx @playwright/mcp@latest`.
|
|
66
|
+
|
|
67
|
+
## Configuration errors
|
|
68
|
+
|
|
69
|
+
**Problem**
|
|
70
|
+
|
|
71
|
+
The MCP server is not listed, or the client ignores the config file.
|
|
72
|
+
|
|
73
|
+
**Cause**
|
|
74
|
+
|
|
75
|
+
The config file is in the wrong location, the JSON is invalid, or the client expects a different key name.
|
|
76
|
+
|
|
77
|
+
**Solution**
|
|
78
|
+
|
|
79
|
+
- Validate the JSON with `python -m json.tool <file>` or another JSON parser.
|
|
80
|
+
- Confirm the client-specific config location in the client's documentation.
|
|
81
|
+
- Keep the server name as `playwright`.
|
|
82
|
+
|
|
83
|
+
## Concurrent session conflicts
|
|
84
|
+
|
|
85
|
+
**Problem**
|
|
86
|
+
|
|
87
|
+
A second MCP client fails to start or shows stale data from another session.
|
|
88
|
+
|
|
89
|
+
**Cause**
|
|
90
|
+
|
|
91
|
+
The persistent profile (at `~/Library/Caches/ms-playwright/mcp-...` on macOS) can only be used by one browser instance at a time.
|
|
92
|
+
|
|
93
|
+
**Solution**
|
|
94
|
+
|
|
95
|
+
- Start additional clients with `--isolated` to keep profiles in memory only.
|
|
96
|
+
- Or set a distinct `--user-data-dir` for each concurrent client.
|
|
97
|
+
- Or change the workspace root so a different `workspace-hash` is derived.
|
|
98
|
+
|
|
99
|
+
## Port already in use
|
|
100
|
+
|
|
101
|
+
**Problem**
|
|
102
|
+
|
|
103
|
+
The standalone MCP server (with `--port`) fails to bind.
|
|
104
|
+
|
|
105
|
+
**Solution**
|
|
106
|
+
|
|
107
|
+
- Specify a different port: `--port 8932`.
|
|
108
|
+
- Or kill the process using the port: `lsof -ti:8931 | xargs kill`.
|
|
109
|
+
|
|
110
|
+
## Docker issues
|
|
111
|
+
|
|
112
|
+
**Problem**
|
|
113
|
+
|
|
114
|
+
The Docker container fails to run or the browser does not work.
|
|
115
|
+
|
|
116
|
+
**Cause**
|
|
117
|
+
|
|
118
|
+
Docker image only supports headless Chromium. Missing kernel capabilities for browser execution.
|
|
119
|
+
|
|
120
|
+
**Solution**
|
|
121
|
+
|
|
122
|
+
- Ensure `--headless` and `--no-sandbox` are passed as args.
|
|
123
|
+
- Use `--pull=always` to get the latest image.
|
|
124
|
+
- Verify the container has the `--init` flag for proper signal handling.
|
|
125
|
+
- For full control, build the Docker image locally with `docker build -t mcr.microsoft.com/playwright/mcp .`.
|
|
126
|
+
|
|
127
|
+
## Performance issues
|
|
128
|
+
|
|
129
|
+
**Problem**
|
|
130
|
+
|
|
131
|
+
The MCP server is slow or times out frequently.
|
|
132
|
+
|
|
133
|
+
**Solution**
|
|
134
|
+
|
|
135
|
+
- Adjust action timeout: `--timeout-action 10000` (default 5000ms).
|
|
136
|
+
- Adjust navigation timeout: `--timeout-navigation 120000` (default 60000ms).
|
|
137
|
+
- Reduce snapshot depth with `--snapshot-mode=none` if you don't need the full accessibility tree.
|
|
138
|
+
- Limit console output level: `--console-level=error`.
|
|
139
|
+
|
|
140
|
+
## Extension mode not working
|
|
141
|
+
|
|
142
|
+
**Problem**
|
|
143
|
+
|
|
144
|
+
`--extension` flag does not connect to the running browser.
|
|
145
|
+
|
|
146
|
+
**Cause**
|
|
147
|
+
|
|
148
|
+
The Playwright browser extension is not installed, or Chrome is not running with the extension enabled.
|
|
149
|
+
|
|
150
|
+
**Solution**
|
|
151
|
+
|
|
152
|
+
- Install the Playwright Extension from [microsoft/playwright/packages/extension](https://github.com/microsoft/playwright/tree/main/packages/extension).
|
|
153
|
+
- Ensure Chrome/Edge is running with the extension enabled before starting the MCP server.
|
|
154
|
+
- This mode requires Chrome or Edge only; Firefox and WebKit are not supported.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Supabase MCP
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Supabase MCP is a hosted, officially maintained MCP server that lets AI agents manage Supabase projects — query databases, design schema, run migrations, deploy Edge Functions, manage Auth users and Storage, and more. It uses OAuth authentication and communicates over Streamable HTTP.
|
|
6
|
+
|
|
7
|
+
Official source:
|
|
8
|
+
|
|
9
|
+
- [Supabase MCP Server docs](https://supabase.com/docs/guides/ai-tools/mcp)
|
|
10
|
+
- [Tool reference](https://supabase.com/docs/guides/ai-tools/mcp#available-tools)
|
|
11
|
+
- [Configuration options](https://supabase.com/docs/guides/ai-tools/mcp#configuration-options)
|
|
12
|
+
- [GitHub: supabase/mcp](https://github.com/supabase/mcp)
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- Execute SQL queries against your database.
|
|
17
|
+
- List tables, extensions, and migrations.
|
|
18
|
+
- Apply database migrations.
|
|
19
|
+
- Retrieve service logs (API, Postgres, Edge Functions, Auth, Storage, Realtime).
|
|
20
|
+
- Get security and performance advisors.
|
|
21
|
+
- Get project API URLs and publishable keys.
|
|
22
|
+
- Generate TypeScript types from database schema.
|
|
23
|
+
- List, get, and deploy Edge Functions.
|
|
24
|
+
- Manage Supabase projects and organizations.
|
|
25
|
+
- Get cost information and confirm costs.
|
|
26
|
+
- Search Supabase documentation.
|
|
27
|
+
- Create, merge, list, delete, reset, and rebase database branches (paid plans, experimental).
|
|
28
|
+
- List storage buckets and get/update storage configuration.
|
|
29
|
+
- OAuth authentication — no manual token management.
|
|
30
|
+
- Feature groups to restrict which tools are exposed.
|
|
31
|
+
- Read-only mode and project-scoped mode for security.
|
|
32
|
+
|
|
33
|
+
## Supported AI Clients
|
|
34
|
+
|
|
35
|
+
Supabase MCP officially documents setup for Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, ChatGPT, Claude.ai, Goose, Factory, Codex, Gemini CLI, Kiro, Kimi Code, Antigravity, and OpenCode.
|
|
36
|
+
|
|
37
|
+
- OpenCode
|
|
38
|
+
|
|
39
|
+
## When to Use
|
|
40
|
+
|
|
41
|
+
Use Supabase MCP when an AI coding agent needs to interact with Supabase projects — managing schema, querying data, deploying functions, or inspecting configuration.
|
|
42
|
+
|
|
43
|
+
Good fits:
|
|
44
|
+
|
|
45
|
+
- Designing tables and generating migrations from scratch.
|
|
46
|
+
- Querying data for reports or debugging.
|
|
47
|
+
- Deploying and listing Edge Functions.
|
|
48
|
+
- Generating TypeScript types from an existing schema.
|
|
49
|
+
- Managing Supabase projects (create, pause, restore).
|
|
50
|
+
- Searching Supabase documentation for API guidance.
|
|
51
|
+
- Creating and managing development branches.
|
|
52
|
+
|
|
53
|
+
Avoid using it with production data. Supabase MCP is designed for development and testing. Use read-only mode, project scoping, and feature groups to limit blast radius.
|
|
54
|
+
|
|
55
|
+
## Requirements
|
|
56
|
+
|
|
57
|
+
- A Supabase account with a project.
|
|
58
|
+
- An MCP-compatible AI client that supports remote HTTP (Streamable HTTP) MCP servers.
|
|
59
|
+
- For branching features: a paid Supabase plan.
|
|
60
|
+
|
|
61
|
+
## Related Skills
|
|
62
|
+
|
|
63
|
+
Relevant skills in this repository:
|
|
64
|
+
|
|
65
|
+
- [`backend-engineer`](../../skills/backend-engineer/SKILL.md): designing and managing database schemas.
|
|
66
|
+
- [`backend-best-practices`](../../skills/backend-best-practices/SKILL.md): backend best practices for API design, testing, and debugging.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Supabase MCP Capabilities
|
|
2
|
+
|
|
3
|
+
## What It Can Do
|
|
4
|
+
|
|
5
|
+
25+ tools organized into 8 feature groups. All groups except Storage are enabled by default.
|
|
6
|
+
|
|
7
|
+
### Database
|
|
8
|
+
|
|
9
|
+
| Tool | Description |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `list_tables` | List all tables in the database |
|
|
12
|
+
| `list_extensions` | List available/installed Postgres extensions |
|
|
13
|
+
| `list_migrations` | List database migrations |
|
|
14
|
+
| `apply_migration` | Apply a database migration |
|
|
15
|
+
| `execute_sql` | Execute SQL queries |
|
|
16
|
+
|
|
17
|
+
### Debugging
|
|
18
|
+
|
|
19
|
+
| Tool | Description |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| `get_logs` | Retrieve service logs (API, Postgres, Edge Functions, Auth, Storage, Realtime) |
|
|
22
|
+
| `get_advisors` | Get security and performance advisors |
|
|
23
|
+
|
|
24
|
+
### Development
|
|
25
|
+
|
|
26
|
+
| Tool | Description |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| `get_project_url` | Get the API URL for a project |
|
|
29
|
+
| `get_publishable_keys` | Get publishable and legacy anon API keys for a project |
|
|
30
|
+
| `generate_typescript_types` | Generate TypeScript types from database schema |
|
|
31
|
+
|
|
32
|
+
### Edge Functions
|
|
33
|
+
|
|
34
|
+
| Tool | Description |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| `list_edge_functions` | List all Edge Functions |
|
|
37
|
+
| `get_edge_function` | Get a specific Edge Function |
|
|
38
|
+
| `deploy_edge_function` | Deploy an Edge Function |
|
|
39
|
+
|
|
40
|
+
### Account Management
|
|
41
|
+
|
|
42
|
+
Disabled when using `project_ref` scoping.
|
|
43
|
+
|
|
44
|
+
| Tool | Description |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `list_projects` | List all Supabase projects |
|
|
47
|
+
| `get_project` | Get project details |
|
|
48
|
+
| `create_project` | Create a new Supabase project |
|
|
49
|
+
| `pause_project` | Pause a project |
|
|
50
|
+
| `restore_project` | Restore a paused project |
|
|
51
|
+
| `list_organizations` | List organizations |
|
|
52
|
+
| `get_organization` | Get organization details |
|
|
53
|
+
| `get_cost` | Get cost information for a project |
|
|
54
|
+
| `confirm_cost` | Confirm cost for a project |
|
|
55
|
+
|
|
56
|
+
### Docs
|
|
57
|
+
|
|
58
|
+
| Tool | Description |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| `search_docs` | Search Supabase documentation via the Content API (hybrid semantic + keyword search) |
|
|
61
|
+
|
|
62
|
+
### Branching (experimental, paid plans)
|
|
63
|
+
|
|
64
|
+
| Tool | Description |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| `create_branch` | Create a database branch |
|
|
67
|
+
| `list_branches` | List all branches |
|
|
68
|
+
| `delete_branch` | Delete a branch |
|
|
69
|
+
| `merge_branch` | Merge a branch into parent |
|
|
70
|
+
| `reset_branch` | Reset a branch to a previous state |
|
|
71
|
+
| `rebase_branch` | Rebase a branch onto parent |
|
|
72
|
+
|
|
73
|
+
### Storage (disabled by default)
|
|
74
|
+
|
|
75
|
+
| Tool | Description |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| `list_storage_buckets` | List storage buckets |
|
|
78
|
+
| `get_storage_config` | Get storage configuration |
|
|
79
|
+
| `update_storage_config` | Update storage configuration |
|
|
80
|
+
|
|
81
|
+
## What It Cannot Do
|
|
82
|
+
|
|
83
|
+
- It cannot work without OAuth authentication — no PAT required by default, but PAT is an option for CI.
|
|
84
|
+
- It cannot access Supabase resources outside the authenticated user's permissions.
|
|
85
|
+
- It cannot read/write files inside storage buckets (listing and config only).
|
|
86
|
+
- It cannot create or manage Auth users directly (only view logs).
|
|
87
|
+
- Branching requires a paid Supabase plan.
|
|
88
|
+
- Storage tools are disabled by default — must be explicitly enabled via `features` parameter.
|
|
89
|
+
- It cannot operate fully headless in its default OAuth mode — PAT auth required for CI.
|
|
90
|
+
|
|
91
|
+
## Configuration Options
|
|
92
|
+
|
|
93
|
+
URL query parameters to restrict scope and reduce blast radius:
|
|
94
|
+
|
|
95
|
+
- `read_only=true` — executes all queries as a read-only Postgres user (no inserts/updates/deletes).
|
|
96
|
+
- `project_ref=<id>` — scopes to a single project, disables account-level tools.
|
|
97
|
+
- `features=<groups>` — comma-separated list of feature groups to enable (e.g. `database,docs`).
|
|
98
|
+
|
|
99
|
+
## Security Best Practices
|
|
100
|
+
|
|
101
|
+
- **Never connect to production.** Use a development project with non-production data.
|
|
102
|
+
- **Use read-only mode** when connecting to any real data.
|
|
103
|
+
- **Scope to one project** with `project_ref` to limit blast radius.
|
|
104
|
+
- **Trim feature groups** to only what the task needs (e.g. `features=database,docs`).
|
|
105
|
+
- **Keep manual tool approval on** in the MCP client — review each tool call before executing.
|
|
106
|
+
|
|
107
|
+
## Common Workflows
|
|
108
|
+
|
|
109
|
+
### Explore database schema
|
|
110
|
+
|
|
111
|
+
1. Call `list_tables` to see available tables.
|
|
112
|
+
2. Call `execute_sql` with a `SELECT` query to inspect table structure or data.
|
|
113
|
+
|
|
114
|
+
### Generate TypeScript types
|
|
115
|
+
|
|
116
|
+
1. Call `list_tables` to see the schema.
|
|
117
|
+
2. Call `generate_typescript_types` to get typed definitions.
|
|
118
|
+
|
|
119
|
+
### Deploy an Edge Function
|
|
120
|
+
|
|
121
|
+
1. Call `list_edge_functions` to see existing functions.
|
|
122
|
+
2. Call `deploy_edge_function` with the function name and code.
|
|
123
|
+
|
|
124
|
+
### Search and apply from docs
|
|
125
|
+
|
|
126
|
+
1. Call `search_docs` to find Supabase documentation on a topic.
|
|
127
|
+
2. Call `execute_sql` to apply the documented approach.
|