Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Mobbin MCP server

Vendor MCP
Open markdown

The Mobbin MCP connector routes your AI agent's tool calls to Mobbin's own MCP server through Scalekit. Each user signs in to Mobbin once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 3 tools.

Tools
3
What they doRead · write · destructive
3 · 0 · 03 read0 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Mobbin MCP connection

    In AgentKit > Connections, create a Mobbin MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Mobbin MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'mobbinmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Mobbin MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'mobbinmcp_search_sections',
    toolInput: { query: 'YOUR_QUERY' },
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • mobbinmcp_search_flowsSearch Mobbin for multi-step user flows (e.g.Read-only

    SearchFlows

    Search Mobbin for multi-step user flows (e.g. onboarding, checkout) using natural language. Returns flow screens with inline images.

    Inputs

    platformstringrequired
    Platform to search.one of iosweb
    querystringrequired
    Describe one user journey in plain language — the steps and what you'd see along the way. Be specific; detail helps. Good: "onboarding with personalization steps", "checkout with payment method selection". Avoid: combining multiple flows (search separately), negations, vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. "Duolingo onboarding"). Do not include platform (ios/web) — use the dedicated parameter.
    image_formatstring
    Image format. Use jpg if your client does not support webp.one of webpjpgdefault webp
    limitinteger
    Maximum number of flows to return. Lower limits are recommended to manage context size.default 5
    output_destinationstring
    What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, also when looking up examples to base it on first, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task.one of codedesign_tooldocreference_librarychatother
    output_toolstring
    The product the results go into next, not a later step, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task.
    pageinteger
    Page number for paginating through results. Maximum 20.default 1
    task_intentstring
    One short sentence summarizing the user's overall task. Helps return more relevant results. Write it in English even when the conversation is in another language. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data.
  • mobbinmcp_search_screensSearch Mobbin for UI screens using natural language.Read-only

    SearchScreens

    Search Mobbin for UI screens using natural language. Returns matching screens with inline images and metadata.

    Inputs

    platformstringrequired
    Platform to searchone of iosweb
    querystringrequired
    Describe one screen in plain language — the UI elements you'd see and how they relate. Be specific; detail helps. Good: "login screen with biometric authentication", "checkout page with promo code field and Apple Pay button". Avoid: combining multiple screens/intents (search separately), negations ("without ads"), vague style words ("modern", "clean"), disconnected keyword lists. Name a specific app to filter results to it (e.g. "Spotify now-playing screen"). Do not include platform (ios/web) — use the dedicated parameter.
    exclude_screen_idsarray
    Screen IDs to exclude from results
    image_formatstring
    Image format. Use jpg if your client does not support webp.one of webpjpgdefault webp
    limitinteger
    Maximum number of screens to return. Higher number of screens returned causes increased context usage.default 20
    modestring
    Search mode. "standard" returns results with low latency. "deep" uses an AI-powered pipeline that interprets intent and scores each candidate for relevance, keeping the strong matches — ideal for nuanced queries. "fast" is a deprecated alias for "standard" and will be removed in a future version — use "standard" instead.one of deepstandardfastdefault deep
    output_destinationstring
    What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, also when looking up examples to base it on first, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task.one of codedesign_tooldocreference_librarychatother
    output_toolstring
    The product the results go into next, not a later step, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task.
    task_intentstring
    One short sentence summarizing the user's overall task. Helps return more relevant results. Write it in English even when the conversation is in another language. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data.
  • mobbinmcp_search_sectionsSearch Mobbin for website sections (e.g.Read-only

    SearchSections

    Search Mobbin for website sections (e.g. About, Pricing, Footer) using natural language. Returns section images from real websites.

    Inputs

    querystringrequired
    Describe one website section in plain language — the content and elements you'd see. Be specific; detail helps. Good: "pricing page with plan comparison table", "hero section with signup form". Avoid: combining multiple sections (search separately), negations, vague style words, disconnected keyword lists.
    image_formatstring
    Image format. Use jpg if your client does not support webp.one of webpjpgdefault webp
    limitinteger
    Maximum number of sections to return. Higher number of sections returned causes increased context usage.default 20
    output_destinationstring
    What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, also when looking up examples to base it on first, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task.one of codedesign_tooldocreference_librarychatother
    output_toolstring
    The product the results go into next, not a later step, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task.
    pageinteger
    Page number for paginating through results.default 1
    task_intentstring
    One short sentence summarizing the user's overall task. Helps return more relevant results. Write it in English even when the conversation is in another language. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data.