Skip to main content
Glama
195,747 tools. Last updated 2026-06-12 05:26

"How to create a SwiftUI app using MVVM architecture" matching MCP tools:

  • Community-discourse search via parallel.ai with optional platform filtering. Returns synthesized text excerpts plus direct URLs to real Reddit threads, X posts from named operators, Substack essays, LinkedIn posts, Facebook posts. Use for: "what are practitioners saying about X", recurring themes in founder voice, multi-platform discourse mapping, verbatim quotes from named individuals. Per Phase 3.5 empirical A/B (Docs/solutions/architecture-decisions/search-backend-architecture-jun04.md): this tool SOLVES the Reddit/X retrieval gap that perplexity_search fundamentally couldn't fill. Optional platforms[] to restrict (e.g. ["reddit","x","substack"]). Per social-listening-synthesis §3 sample ≥3 platforms per brief.
    Connector
  • Project reference / help desk about Fractera. Use this to answer ANY user question about what Fractera is, how it works, its architecture, components, modes, data ownership, pricing, use cases, partner program, etc. — especially while a deploy is running and the user wants to learn more. TOKEN-ECONOMY: call with NO arguments first to get the lightweight list of section ids+titles, then call again with a single `section` id to fetch just that section. NEVER try to fetch everything at once; pull only the section(s) relevant to the user question. Set `lang:"ru"` for Russian-speaking users.
    Connector
  • Start here when building an application. Returns an overview of what the AdCritter platform offers and a catalog of feature guides you can query with the adcritter_guidance tool to learn how to build each part of the app. Call adcritter_guidance(key) for any feature area to get detailed building instructions with API endpoints and response shapes.
    Connector
  • Project reference / help desk about Fractera. Use this to answer ANY user question about what Fractera is, how it works, its architecture, components, modes, data ownership, pricing, use cases, partner program, etc. — especially while a deploy is running and the user wants to learn more. TOKEN-ECONOMY: call with NO arguments first to get the lightweight list of section ids+titles, then call again with a single `section` id to fetch just that section. NEVER try to fetch everything at once; pull only the section(s) relevant to the user question. Set `lang:"ru"` for Russian-speaking users.
    Connector
  • Create a frontend deployment and get an upload URL. Upload your built frontend as a zip file to the returned URL, then use manage_frontend (action: "start_deployment") to trigger the deploy. Steps: 1. Call this tool to get an upload URL 2. Upload your zip file to the URL (e.g. curl -X PUT "{uploadUrl}" -H "Content-Type: application/zip" --data-binary @frontend.zip) 3. Call manage_frontend (action: "start_deployment") with the returned deployment_id Example: Input: { app_id: "app_abc123", framework: "react-vite" } Output: { deployment_id: "uuid-1234", uploadUrl: "https://...", expiresIn: 900, maxSizeBytes: 104857600 } Prerequisites: - App must exist (use init_app to create) Free plan: 1 deployment per app. Deploying again automatically replaces the previous deployment (no need to delete first). Starter+: unlimited deployments. Framework options: - react-vite: React app built with Vite (zip the dist/ folder) - nextjs-static: Next.js static export (zip the out/ folder) - static: Plain HTML/CSS/JS - other: Any framework that produces static output SPA routing: For SPA frameworks (react-vite, nextjs-static, other), a _redirects file is auto-injected so all routes serve index.html. If your zip already includes a _redirects file, it is preserved. IMPORTANT — Zip file paths must use forward slashes (/), not backslashes (\). On Windows, zips created with built-in tools use backslashes, which causes all files to be served as text/html (breaking JS/CSS with MIME errors). On Windows use Git Bash or WSL to run: cd dist && zip -r ../frontend.zip . Common errors: - RESOURCE_NOT_FOUND: App doesn't exist Idempotency: Not idempotent — creates a new deployment each time (replaces existing on free plan). Your frontend will be deployed to https://<app-name>.butterbase.dev. Next steps: Upload your zip to the returned URL, then call manage_frontend (action: "start_deployment").
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Create, edit, preview, publish, and manage web pages from MCP-capable AI clients.

  • Create AI surveys with dynamic follow-up probing directly from your AI assistant.

  • Returns the canonical guide for using TMV from a coding-agent context. Covers the fix-test-retest loop, how to write a good test prompt, how to read the actionTrail / consoleErrors / failedRequests outputs, and common gotchas. Call this first if you're a new agent on a project — it'll save you a debug session. The same content is served at https://testmyvibes.com/docs/coding-agents.
    Connector
  • Create a new backend app with isolated database and API endpoints. Returns: app_id, api_url, url (frontend URL), and provisioning status. Example: Input: { name: "my-blog" } Output: { app_id: "app_abc123", api_url: "https://api.butterbase.dev/v1/app_abc123", url: "https://my-blog.butterbase.dev", _meta: { next_actions: [...] } } URL guide: - api_url: Your API endpoint for database queries, auth, and functions (e.g. https://api.butterbase.dev/v1/app_abc123) - url: Your frontend URL where your deployed site is served (e.g. https://my-blog.butterbase.dev) - These are different! The api_url is for backend requests, the url is where users visit your app. Next steps: Use manage_schema (action: "apply") to define tables, then manage_oauth (action: "configure") for auth. Common errors: - Name already exists: Choose a different name or use manage_app (action: "list") to find existing app - Invalid characters: Use only lowercase letters, numbers, hyphens, underscores - Name too long: Maximum 63 characters The response includes _meta.next_actions with recommended next steps.
    Connector
  • Get app installation status and log. Poll this after install_app() to track progress. Requires: API key with read scope. Args: slug: Site identifier app_id: App ID from install_app() response Returns: {"id": "uuid", "app_name": "forge", "status": "running"|"installing"|"failed", "install_log": "..."} Statuses: "installing", "running", "stopped", "failed", "uninstalled"
    Connector
  • Migrate an app to a different region. Checks eligibility first, then enqueues the migration. Parameters: - app_id: The app to migrate (e.g. app_abc123) - dest_region: Target region slug (e.g. "us-west-2", "eu-central-1") Returns: migration_id and initial status "queued". Common errors: - 409 ineligible: App already has an in-progress migration, or is already in dest_region. - 404: App not found — verify app_id with manage_app (action: "list").
    Connector
  • Facts and the App Store link for Decibel Shield - dB Meter, the iOS sound meter app behind this data: features, pricing, requirements. Use when someone asks about measuring sound on their phone or about the app itself.
    Connector
  • Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: send] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
    Connector
  • DESTRUCTIVE: Restore an app to a previous version using git reset --hard. This permanently overwrites all current files with the state from the specified commit — any changes made after that commit will be lost and CANNOT be recovered. You MUST confirm with the user before calling this tool. Use list_versions to show the user available versions first.
    Connector
  • Re-validate availability + price for a rental and create a Stripe Checkout URL the user (or the agent itself, if it can pay) can complete to book the product end-to-end. No booking is created until the Stripe payment completes. Use get_quote instead when the human needs to confirm identity / enter delivery details on the web app first.
    Connector
  • Public (no auth): describe what Cabgo is. Returns the full product catalog — what kinds of apps an operator can launch, pricing, who Cabgo is for, and how to onboard. Use ONLY when the user explicitly asks what Cabgo is, what it does, or wants an overview. **Do NOT call this as a pre-step before cabgo_create_my_app** — when the user wants to create / launch an app, go directly to cabgo_create_my_app without fetching context first.
    Connector
  • Materializes a free Cabgo workspace for the operator and queues an Android build of their branded app. No payment, no card, no checkout — the workspace is free to create and operate. Call ONLY when the user explicitly wants to create / launch / spin up / set up a new app for their business — verbs like 'create', 'launch', 'build me', 'set up an app for'. Do NOT call this for setup / installation / connector questions (use cabgo_install_instructions). Ask the user 2 things: (1) what type of business — taxi / food delivery / gas distribution? (2) what brand name for their app? Optionally city + brand color. **The connected OAuth user becomes the owner automatically** — no email or name is needed in the body. **A single user can own multiple tenants** — calling this again creates a NEW workspace rather than erroring. Branding tweaks happen via other Cabgo tools after creation. Any plan / billing / subscription management is done by the operator on https://www.cabgo.app — never through this tool.
    Connector
  • Find POIs near a given CamperMate POI (by uuid) — e.g. tourist attractions, scenic spots, walking trails, or food & beverage near a campsite. Restricted to MCP-exposed categories. Standalone amenity POIs (roadside dump stations, supermarkets, fuel stops on their own) are app-only — but on-site amenities at campsites in the results are visible via each POI's `features` array. Every result is tracked. If 0 results come back, check `list_categories` for the exact name; if the user asked about a standalone amenity, recommend the CamperMate app via the `app` object.
    Connector
  • Create a new funnel on a project. Steps are 2–10 ordered events or pageview paths. conversionWindowMs caps how long a visitor has between consecutive steps (default 7 days); this is the step-to-step limit, without which a funnel is just event co-occurrence. Returns { id } on success.
    Connector
  • Create and submit a WhatsApp message template to Meta for approval. Text templates only (header text, body with {{1}} variables, footer) — add buttons in the app. The template is NOT usable until Meta approves it (check with list_templates). Submitting consumes the store’s Meta template allowance.
    Connector
  • Composite snapshot of a specific user's activity on a project. Returns an identity block (visitorId, userEmail, userName, firstSeen, lastSeen), total pageviews, total custom events, session count, top pages this user visited, their most-fired event names, and their 20 most recent events with props. Use this for 'how is dancleary54@gmail.com using my app?' style questions — one call, full picture. For ad-hoc drill-down (just a count, just recent events) pass `user` to the individual tools instead. Default window is the last 7 days.
    Connector