Skip to main content
Glama
765,050 tools. Updated 2026-11-10 22:40

"Building and Deploying a React Application with Docker and a Postgres Backend" matching MCP tools:

  • Return a ready-to-paste snippet that wraps the Next.js root layout with `<UploadKitProvider>` so React components can talk to the upload route handler. When to use: right after scaffold_route_handler, to complete the wiring. The snippet goes in `app/layout.tsx`. Without the provider, UploadKit React components throw at runtime. Returns: a plain-text string containing a short explanatory note followed by a fenced tsx code block. Takes no parameters — the endpoint path is always `/api/uploadkit` since that is what scaffold_route_handler produces. Read-only, deterministic, idempotent.
    ConnectorNo auth
  • Run a read-only SQL query against an app's Postgres database and return up to 200 result rows. SELECT only — writes and DDL (INSERT/UPDATE/DELETE/ALTER/DROP/…) are rejected server-side; use vibekit_chat or vibekit_submit_task to have the agent make data or schema changes. Call vibekit_db_schema first to learn the tables. SQL string, max 5000 chars.
    ConnectorNo auth
  • List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned servers cost money. Filter by status, application, version, tags, request_id, created_at, fleet_name or host_name, e.g. [{field:"application",operator:"eq",value:"my-game"},{field:"status",operator:"eq",value:"ready"}]. Operators: eq and neq on every field except created_at (eq, gte, lte); in and nin with an array value on request_id, tags, application, version, fleet_name, host_name; ilike with % wildcards on fleet_name and host_name. At most one filter per field. Sort by created_at or available_session_sockets. To find every deployment an agent started through this server, pass only_agent_deployments: true (the same as filtering tags in ["edgegap-mcp", "mcp"]).
    ConnectorAPI key
  • Upload a proof-of-address document Attaches a proof-of-address document to the banking application, for the cases where the partner asks for one. The application must already exist and have an individual on it, so complete the application first. **Two things reject uploads that otherwise look fine.** A `.jpg` file must be sent as `fileType: "jpeg"` — `"jpg"` is refused. And the partner caps the *decoded* size at 10MB, even though their own upload page advertises 20MB; oversized files are rejected here before the round-trip. `fileContent` accepts either a bare base64 string or a `data:` URL, so a browser `FileReader.readAsDataURL` result can be passed through unchanged. Free.
    ConnectorOAuth
  • Each result has a public job page at https://offpeak.fyi/jobs/<id> with an Apply link. Read up to 100 job IDs in caller order, with missing_ids and closed_ids. Full details include apply_url (the employer's application page), source_url and untrusted posting content; summary mode returns compact saved-list fields.
    ConnectorNo auth
  • Submit exactly one hosted application after prepare_quick_apply returns ready and the job seeker explicitly confirms the complete preview in a later turn. Pass the private submitArguments unchanged without displaying them, including prepared_snapshot. The packet contains user-facing references and a server-generated snapshot fingerprint, never database IDs. The server rejects changed contact data, resumes, job details, questions or answers and atomically rechecks authoritative versions, ownership and job availability before creating the snapshot. A stale preview requires preparation and new confirmation. This irreversibly shares the application snapshot with the employer and may send employer notification email. It never sends candidate email and never accepts a confirmed boolean. Copy review_consent_version from the current preparation; never reuse an older preview that omitted the consent disclosure. Assistant Quick Apply is limited to three new applications per job seeker per hour. After an uncertain result, check list_my_applications and retry only the exact same arguments if the application is absent.
    Connector
    Destructive
    OAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to call tools through a security gateway that intercepts requests, enforces deterministic policy and risk checks, blocks or escalates high-risk actions for human approval, and keeps tool credentials and audit logs protected.
    1
    MIT

Matching MCP Connectors

  • Prepare an application to one of the caller's matched jobs: a resume and a cover letter are generated from the profile, and the application waits for the user to send it. It costs one credit and sends nothing to the employer. Call it without `confirmation_token` first: that returns the job, the cost and a token. Tell the user the job and the cost, and call again with the token only if they say yes. A token works once, for five minutes.
    ConnectorOAuth
  • Returns instructions for migrating to PropelAuth in a frontend framework such as React, JavaScript, TypeScript, or when using Next.js for just the frontend (e.g. client-side rendered). Guidance includes migrating from several auth providers, such as Clerk or Auth0. Each guidance will include documentation from the auth provider and PropelAuth. It is important to follow the instructions carefully to ensure a successful integration. Make sure to use the 'Installation' guidance first. It is important to call every guidance to ensure a successful integration. Do not update a component/hook/etc from the auth provider until you receive guidance about that component/hook/etc. CRITICAL: If the current implementation uses a traditional OAuth/OIDC flow (e.g., via express-openid-connect, passport-auth0, or similar backend-managed session libraries), you MUST select 'OAuth' as the framework, regardless of the frontend library (React/Vue/etc.). Only select 'React' or 'Javascript' if the current implementation uses a frontend-only SDK (like @auth0/auth0-react) or if using fullstack Next.js.
    ConnectorNo auth
  • Search a registry for packages matching q. registry=all fans out to npm, Docker Hub, and the VS Code Marketplace and merges the results. PyPI has no public search API, so registry=pypi returns 400 not_supported — look a PyPI package up by name via get_package instead. Results are normalized PackageSummary items (npm adds a relevance score; Docker adds isOfficial).
    ConnectorNo auth
  • Run a build again — a failed one as is, or the latest commit afresh. Default (`redeploy=false`): queue the SAME build again. Allowed only for builds in the `failed` or `cancelled` state. On a running build (`queued`, `building`) the platform refuses — that is not an error but protection against a second parallel build; on a `ready` build it refuses too — use `redeploy=true`. `redeploy=true`: start a NEW build of the branch's latest commit without a push. This is how changed project settings (`project_settings`) or environment variables (`env_vars`) get applied. The result goes live the same way a push to that branch would — on the production branch that is production, so make sure the person wants that. Projects without a repository are rebuilt by deploying the folder again (`npx layero@latest deploy` or `publish_site`). ⚠️ A plain retry makes sense when the cause was external (network, registry, timeout). If the build failed on the code, a retry gives the same result: `diagnose_deploy` first, then the fix, and only then a retry.
    ConnectorOAuth
  • Run a build again — a failed one as is, or the latest commit afresh. Default (`redeploy=false`): queue the SAME build again. Allowed only for builds in the `failed` or `cancelled` state. On a running build (`queued`, `building`) the platform refuses — that is not an error but protection against a second parallel build; on a `ready` build it refuses too — use `redeploy=true`. `redeploy=true`: start a NEW build of the branch's latest commit without a push. This is how changed project settings (`project_settings`) or environment variables (`env_vars`) get applied. The result goes live the same way a push to that branch would — on the production branch that is production, so make sure the person wants that. Projects without a repository are rebuilt by deploying the folder again (`npx layero@latest deploy` or `publish_site`). ⚠️ A plain retry makes sense when the cause was external (network, registry, timeout). If the build failed on the code, a retry gives the same result: `diagnose_deploy` first, then the fix, and only then a retry.
    ConnectorAPI key
  • Run a READ-ONLY SQL query against the project's Postgres database (SELECT, EXPLAIN, etc.) — the Floot-managed database, or an external Postgres the user connected to the project. Writes are rejected — use execute_sql for those. Returns JSON: `{rows, rowCount, command, truncated?}` (or `{results: [...]}` for multi-statement queries). Pass `database` only if the project has more than one.
    ConnectorOAuth
  • Build a whole backend in one call from a spec you compose: the project, its boards, their typed columns (including relations between the boards), optional sample rows, and optionally a published REST API with one endpoint per board and a server-side key. Use it whenever the user describes a system ("a backend for my repair shop: customers, orders, payments") instead of calling create_project, create_board, create_column, create_app, publish_app, create_app_endpoint and create_app_api_key one by one. You do the design, pick column types by meaning (phone, date, currency, dropdown/status with options for closed choices), link boards with a relation column (type "relation", relatedBoard: "<board name in this spec>", relationType: many_to_one for an order→customer link), and this tool executes it and returns one compact summary. API field names are derived from column names and never collide with reserved item fields, so there is nothing to retry. Boards are created as plain data tables (kind "data": only the columns you define, no task fields); set kind "tasks" on a board where people track work to do and want status, priority, assignee and due date built in. Every row still has a title. When the API has its own users, api.rowLevelSecurity: true gives every endpoint mode "owner"; a board may carry its own rowLevelSecurity instead (mode shared, phone or relation, with columns named as in this spec), e.g. Coaches { mode: "phone", phoneColumn: "Phone" } and Trainees { mode: "relation", relationColumn: "Coach", identityPhoneColumn: "Phone", allowInvites: true }.
    ConnectorNo auth
  • Files the number on a beneficial owner's passport or US driver's license against a banking application, for an owner who has no SSN or ITIN. Record the document first (kind, issuing country, expiry, and the issuing state for a license) on the owner. The number goes to the secret store; only its last four are recorded, which is all the response returns. Pass it once and do not repeat it back. On an application already submitted it is refused with PERMISSION_DENIED: anything sent to the bank after submission is the applicant's to make. ABORTED means another change to this owner was in progress and nothing was written: call it again.
    Connector
    Destructive
    No auth
  • Write WHOLE files DIRECTLY — YOUR model generates the code, Kleap stores, builds and deploys it as-is. To change something in a file that ALREADY EXISTS, use edit_files instead (read_files → edit_files): it replaces just the lines you name, while write_files makes you retype the entire file and silently drops whatever you leave out — on a 30KB shared layout that is how headers and footers get wiped. No Kleap-AI step, so what ships is byte-for-byte what you wrote — the right choice when a phrase, a URL or a schema must be exact. Publishing still audits the result (see publish_app). Best for scaffolding exact pages/components — e.g. programmatic-SEO routes. Astro paths (src/pages/*.astro, src/data/*.json, src/components/*.astro, public/*). Overwrites by path. NPM PACKAGES: do not write package.json (the build replaces it) — the build installs whatever your code IMPORTS, so `import { jsPDF } from "jspdf";` is all it takes. Supported on import: @tiptap/*, jspdf, pdf-lib, html2canvas, papaparse, file-saver, jszip, @ffmpeg/*, howler, wavesurfer.js, browser-image-compression, react-dropzone, recharts, chart.js, d3, @tanstack/*, react-hook-form, three, @react-three/*, leaflet, maplibre-gl, gsap, framer-motion, zustand, date-fns, react-markdown, axios, socket.io-client, radix-ui/*, next-themes, lucide-react, @tabler/*, openai, @ai-sdk/*; anything else is refused at build with a message naming it. A client-side router is never the answer — a route is a FILE (src/pages/about.astro → /about). IMAGES AND BINARIES: set encoding:"base64" on the file and send the bytes — that is how you put a logo, a photo, an OG image, a favicon or a font on the site (png/jpg/webp/svg/ico/mp4/woff2/pdf, 512KB max each decoded). Without it you can only write text, and a site with no images looks unfinished. To ADD an image from a text prompt WITHOUT sending any bytes (a real photo's base64 is too big to emit reliably), use generate_image — Kleap generates it and stores it for you. To REMOVE a page or asset, use delete_files — overwriting it with empty content leaves a URL that answers 200 with nothing, which is worse than a 404. DATA & ACCOUNTS: write_files only STORES files — it cannot provision the Kleap Database, so DB or auth code pushed here has no backend and silently does nothing. Stand the feature up with modify_app first, then edit those pages here. After writing, call publish_app to build & go live.
    Connector
    Destructive
    OAuth
  • Write WHOLE files DIRECTLY — YOUR model generates the code, Kleap stores, builds and deploys it as-is. To change something in a file that ALREADY EXISTS, use edit_files instead (read_files → edit_files): it replaces just the lines you name, while write_files makes you retype the entire file and silently drops whatever you leave out — on a 30KB shared layout that is how headers and footers get wiped. No Kleap-AI step, so what ships is byte-for-byte what you wrote — the right choice when a phrase, a URL or a schema must be exact. Publishing still audits the result (see publish_app). Best for scaffolding exact pages/components — e.g. programmatic-SEO routes. Astro paths (src/pages/*.astro, src/data/*.json, src/components/*.astro, public/*). Overwrites by path. NPM PACKAGES: do not write package.json (the build replaces it) — the build installs whatever your code IMPORTS, so `import { jsPDF } from "jspdf";` is all it takes. Supported on import: @tiptap/*, jspdf, pdf-lib, html2canvas, papaparse, file-saver, jszip, @ffmpeg/*, howler, wavesurfer.js, browser-image-compression, react-dropzone, recharts, chart.js, d3, @tanstack/*, react-hook-form, three, @react-three/*, leaflet, maplibre-gl, gsap, framer-motion, zustand, date-fns, react-markdown, axios, socket.io-client, radix-ui/*, next-themes, lucide-react, @tabler/*, openai, @ai-sdk/*; anything else is refused at build with a message naming it. A client-side router is never the answer — a route is a FILE (src/pages/about.astro → /about). IMAGES AND BINARIES: set encoding:"base64" on the file and send the bytes — that is how you put a logo, a photo, an OG image, a favicon or a font on the site (png/jpg/webp/svg/ico/mp4/woff2/pdf, 512KB max each decoded). Without it you can only write text, and a site with no images looks unfinished. To ADD an image from a text prompt WITHOUT sending any bytes (a real photo's base64 is too big to emit reliably), use generate_image — Kleap generates it and stores it for you. To REMOVE a page or asset, use delete_files — overwriting it with empty content leaves a URL that answers 200 with nothing, which is worse than a 404. DATA & ACCOUNTS: write_files only STORES files — it cannot provision the Kleap Database, so DB or auth code pushed here has no backend and silently does nothing. Stand the feature up with modify_app first, then edit those pages here. After writing, call publish_app to build & go live.
    Connector
    Destructive
    No auth
  • Lists up to 100 Special Bots on the API key's account with status and counters: candidates seen, matched, vetoed, signals produced, last result and last evaluation time. Use it to monitor your own bots; for saved strategies use get_my_strategies, for published signals get_open_signals. Takes no arguments; an account without bots gets an empty list. Needs an API key. Read only by design: this server has no bot controls, so deploying, starting, stopping and editing a bot are done in the ribqa.com Market Scanner.
    ConnectorNo auth
  • How this Aevia connection works, plus playbooks for results, reports, systems. Returns a skill's playbook as the result; takes no action itself. A playbook is step-by-step guidance for a multi-step job, too long for a description. `connector_guide` covers how this connection works: workspaces, refs, finding data, the library, building, calculating and failures. `assessment_interpretation` covers reading and comparing results: what an indicator result is and is not, a figure's anchors, functional-unit equivalence and comparison discipline. `report_writing` covers writing results up as a document, from a screening note to an ISO 14044 study. `product_system_authoring` covers building a new product system with `lca_compose_assembly` / `lca_compose_linked`: build order, which of the two fits, failure modes, and tagging life-cycle phases. A loaded playbook stays in context; one load per session suffices. Skills are gated on what the token can call; an unavailable request returns the available list.
    ConnectorAPI key
  • Get physical building characteristics for a DVF transaction from the BDNB national building database. Returns: construction year, number of units, number of floors, wall material, roof material, primary usage, and median price/m² from BDNB's pre-2022 DVF aggregate stats. REQUIRED: transaction_id (DVF transaction ID — get this from the "id" field in search_property_transactions results) Match method: spatial proximity (nearest BDNB building within 200m). Returns null + refunds credits if no building found within 200m. Workflow: call search_property_transactions first → use an "id" from the results as transaction_id here. Example: transaction_id: "12345678" → { building: { annee_construction: 1967, nb_logements: 48, mat_mur: "beton", ... } } Cost: 2 credits
    ConnectorAPI key
  • WattCoin: Rate a marketplace skill from 1 to 5 stars. Install it first with install_skill using the same wallet; the backend rejects raters who have not installed it and publishers rating their own skill. Resubmitting updates your earlier rating instead of adding a new one. No agent key needed. Returns the new average and rating count as text.
    ConnectorNo auth
  • Approve or reject one course application from application_list. Approving ENROLLS the applicant right away (prerequisites skipped, the course's access period applied) and emails them an approval with a link into the course; rejecting records the decision and emails them your decisionNote, enrolling no one. Repeating the decision an application already has does nothing (no second enrollment or email), and rejecting an application that was already approved does not remove the enrollment: use enrollment_revoke for that. To enroll someone who never applied, use enrollment_create. Returns {id, status, decisionNote, reviewedAt}.
    Connector
    Destructive
    API key