agentleFS
fusebase-devfusebase-dev/fusebase-flow/.agents/skills/fusebase-gate/SKILL.md

fusebase-gate

Skill9 starsChanged 27 days agoMITView on GitHub

How to use MCP for Fusebase Gate. Use when: working with gate contracts, tokens, org user listing, health, or generated MCP tools and prompts.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 11 are distinctive, and 11 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Do not use this skill for dashboard schema, rows, or files cell payload guidance.

    line 63
  2. Very specific:

    Do not use this skill as the canonical low-level upload lifecycle reference.

    line 64
  3. Distinctive:

    Do not copy shared upload endpoint or payload blocks into Gate references.

    line 65
  4. Distinctive:

    Before any work with gate MCP, verify that the fusebase-gate MCP server is connected.

    line 78
  5. Very specific:

    Check that MCP tools from the gate server are present (e.g.

    line 80
  6. Distinctive:

    If the gate server is not available, inform the user and suggest checking MCP server settings.

    line 81
  7. Very specific:

    Read the resource resource://connection/context (if the client supports MCP Resources).

    line 96
  8. Very specific:

    After connection is established: discover operations via tools_list / tools_search, get schemas via tools_describe, execute via tool_call.

    line 104
  9. Very specific:

    When runtime code uses @fusebase/fusebase-gate-sdk, fusebase feature update --sync-gate-permissions relies on static analysis of SDK method …

    line 111
  10. Distinctive:

    Keep direct method calls on API instances:

    line 113
  11. Very specific:

    Prefer strongly typed API factories (WorkspacesApi, NotesApi, etc.), avoid any return types for Gate API objects.

    line 116
  12. Distinctive:

    Avoid dynamic call patterns for Gate operations:

    line 117
  13. Very specific:

    avoid destructuring methods (const { listWorkspaces } = api)

    line 118
  14. Very specific:

    avoid computed operation names (api[opName] call style) unless the key is a string literal

    line 119
  15. Distinctive:

    Keep a pre-publish check in your workflow:

    line 120
  16. Very specific:

    if runtime imports Gate SDK and usedOps is empty, treat it as a blocker and fix before publish.

    line 122
  17. Distinctive:

    If a request contains permissions the caller cannot grant, Gate degrades token permissions to the allowed subset.

    line 129
  18. Distinctive:

    If a request contains unknown or service-disallowed permissions, Gate ignores those permissions in soft mode.

    line 130
  19. Distinctive:

    Prefer the default soft mode for runtime integrations.

    line 131
  20. Very specific:

    Treat 401/403 as expected authz outcomes (missing permission, scope mismatch, membership state) and return actionable guidance.

    line 139
  21. Distinctive:

    Avoid implicit privileged fallback when user-context calls fail.

    line 140
  22. Distinctive:

    If a feature truly needs service-token operations, keep them in explicit system/admin-only endpoints with audit logging and clear …

    line 150

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Fusebase Gate MCP Skill

This document describes how to use MCP (Model Context Protocol) with Fusebase Gate during LLM development. Fusebase Gate is a service consumer built on top of the shared Fusebase platform runtime.

For rules and checklists, see AGENTS.md.

For FuseBase PostgreSQL Database (sql / postgres via the Gate isolated-stores contract), use references/isolated-sql.md for the MCP-oriented sequence and references/isolated-sql-migration-discipline.md whenever you edit or apply migration bundles (anti-drift). For runtime errors and support handoff, use references/isolated-sql-integrator-troubleshooting.md. Do not load operator runbooks (isolated-sql-stores, isolated-sql-rls-plan) — they are platform-internal. See TOC below.

Critical isolated-store runtime rule: a Gate isolated store is a platform-bound resource, not app environment configuration. Do not ask users to create app secrets or env vars for storeId, database IDs, physical database names, or provider connection details. Runtime code must resolve the store through Gate using the app token/source scope and stable alias (or use the store already bound by the platform). storeId may appear in MCP/operator handoff logs or CLI migration commands, but it must not be persisted as an app secret or hardcoded runtime config.


References

Each reference is in a separate file under references/. Load the file when you need that topic.

meta

  • Authorization and Scopes
  • Bootstrap
  • Fusebase Gate SDK
  • Tooling

specialized

  • Fusebase Auth For AI Apps
  • Fusebase Gate — Isolated SQL migration discipline
  • Fusebase Gate App Magic Link Operations
  • Fusebase Gate Billing And Stripe Flows
  • Fusebase Gate Email Operations
  • Fusebase Gate Files Flows
  • Fusebase Gate Membership And Portal Flows
  • Fusebase Gate Notes Operations
  • Fusebase Gate Org Group Operations
  • Fusebase Gate Organization URLs
  • Fusebase Gate Portals — Create Operations
  • Fusebase Gate Portals Operations
  • Fusebase Gate Stripe App And Agent Integration
  • Fusebase Gate Users Operations
  • FuseBase PostgreSQL Database
  • FuseBase PostgreSQL Database
  • FuseBase PostgreSQL Database — integrator troubleshooting
  • Isolated stores hierarchy: Gate vs Neon
  • Isolated stores release checklist
  • Portal iframe embed context (Gate SQL RLS)
  • Portal theme styling (custom CSS override contract)
  • Stripe for apps and agents (Gate)

When NOT To Use This Skill

  • Do not use this skill for dashboard schema, rows, or files cell payload guidance. Load fusebase-dashboards for dashboard writes.
  • Do not use this skill as the canonical low-level upload lifecycle reference. Load file-upload/references/upload-lifecycle.md for tempStoredFileName -> storedFileUUID -> readUrl / relative url -> file descriptor.
  • Do not copy shared upload endpoint or payload blocks into Gate references. Gate guidance only owns Gate operations, auth, and scope.

Anti-Overlap Checklist

  • Unique scope: Gate operations and their auth/scope behavior.
  • Neighbor links: use file-upload for upload lifecycle; use fusebase-dashboards for dashboard files columns.
  • No duplicated dashboard batchPutDashboardData payload details here.
  • Only hand off storedFileUUID, readUrl, or file descriptor outputs to neighboring skills.

Verify gate MCP connection

Before any work with gate MCP, verify that the fusebase-gate MCP server is connected.

  1. Check that MCP tools from the gate server are present (e.g. tools_list, tools_search, tool_call, bootstrap, prompts_list, prompts_search).
  2. If the gate server is not available, inform the user and suggest checking MCP server settings.

MCP vs SDK

  • MCP tools — for performing actions inside the LLM session: discovery, token management, org user listing, health checks.
  • SDK — for runtime code (e.g. service/browser/worker). Use @fusebase/fusebase-gate-sdk from npm in application code.

Bootstrap and connection context

  1. Read the resource resource://connection/context (if the client supports MCP Resources).
  2. Or call the bootstrap tool (no arguments) and use the response for defaults.toolArgs, usage, capabilities.

Tooling flow

After connection is established: discover operations via tools_list / tools_search, get schemas via tools_describe, execute via tool_call. For prompts, use prompts_search with appropriate groups (e.g. authz, bootstrap, tooling).


Gate SDK runtime patterns for reliable permission sync

When runtime code uses @fusebase/fusebase-gate-sdk, fusebase feature update --sync-gate-permissions relies on static analysis of SDK method calls. Prefer these patterns so operations are detected reliably:

  1. Keep direct method calls on API instances:
    • const api = createWorkspacesApi(token)
    • await api.listWorkspaces(...)
  2. Prefer strongly typed API factories (WorkspacesApi, NotesApi, etc.), avoid any return types for Gate API objects.
  3. Avoid dynamic call patterns for Gate operations:
    • avoid destructuring methods (const { listWorkspaces } = api)
    • avoid computed operation names (api[opName] call style) unless the key is a string literal
  4. Keep a pre-publish check in your workflow:
    • fusebase analyze gate --operations --json --feature <featureId>
    • if runtime imports Gate SDK and usedOps is empty, treat it as a blocker and fix before publish.

Token permission mode (default soft)

Token permission validation is soft by default (strictPermissionValidation = false).

  • If a request contains permissions the caller cannot grant, Gate degrades token permissions to the allowed subset.
  • If a request contains unknown or service-disallowed permissions, Gate ignores those permissions in soft mode.
  • Prefer the default soft mode for runtime integrations; enable strict mode only for explicit fail-fast requirements.

SDK operation error handling

For runtime code with @fusebase/fusebase-gate-sdk, enforce explicit operation-level error handling:

  • Wrap each Gate operation in try/catch and branch behavior by status code and operation intent.
  • Treat 401/403 as expected authz outcomes (missing permission, scope mismatch, membership state) and return actionable guidance.
  • Avoid implicit privileged fallback when user-context calls fail.
  • For token operations, message that permission reduction can be expected in soft mode; only expect hard failure when strict mode is explicitly enabled.

Security rule: no implicit service-token fallback

For user-facing Gate flows (membership status, current user/org access, workspace visibility), do not silently switch from feature-token auth to service-token auth when Gate returns auth errors.

  • Required behavior: fail closed (401/403) and surface a clear runtime error.
  • Forbidden behavior: "best-effort" fallback that returns data from owner/service context.
  • If a feature truly needs service-token operations, keep them in explicit system/admin-only endpoints with audit logging and clear auth-source labeling.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.