Skip to main content
Glama
730,744 tools. Updated 2026-10-31 22:58

"Servers for MCP in macOS or iOS ecosystems" matching MCP tools:

  • Use this when the user asks to inspect listening ports on a paired computer to diagnose local services, unexpected exposure or port conflicts. Reads the OS TCP listener inventory on Windows and macOS, and TCP/UDP listeners on Linux; process details depend on OS permissions. It does not connect to ports, scan remote hosts or change firewall rules.
    ConnectorOAuth
  • Search stored daily top-chart snapshot records from the iOS App Store and Google Play; omitting `date` selects the latest snapshot. Costs 1 credit per record returned (minimum 2), so keep `page_size` to what you need. Filter by app, store, platform, chart, country, or category; use datasets_apps_search for app records or datasets_apps_reviews_search for stored reviews.
    ConnectorNo auth
  • Search stored daily top-chart snapshot records from the iOS App Store and Google Play; omitting `date` selects the latest snapshot. Costs 1 credit per record returned (minimum 2), so keep `page_size` to what you need. Filter by app, store, platform, chart, country, or category; use datasets_apps_search for app records or datasets_apps_reviews_search for stored reviews.
    ConnectorNo auth
  • Create a signed Apple Wallet pass (.pkpass) and return a link to download it. Builds one pass in one of the five Wallet styles -- boardingPass, eventTicket, coupon, storeCard or generic -- from the text fields, colors, barcode and optional PNG images given below, signs it with this service's Apple Pass Type ID certificate, and returns an https download_url valid for 1 hour. Opening the link on an iPhone shows "Add to Apple Wallet". Passes install on any iOS version; the iOS 26/27 layouts fall back to the classic style on older iPhones. Barcodes: QR, PDF417, Aztec and Code128 on every iOS version; Code39, Codabar, EAN13 and ITF on iOS 27+. The barcode encodes exactly barcode_message. Gate and till scanners read that data, so a copy of an existing boarding pass, ticket or loyalty card only scans if barcode_message is the original barcode's content (airline boarding passes are usually PDF417 or Aztec, holding an IATA BCBP string such as "M1DOE/JANE ..."). This tool does not issue tickets, check anyone in, or contact airlines or venues. The link must be opened in Safari on the iPhone: Wallet adds a pass from Safari, but not from a .pkpass file handed over by another app. Google Wallet on Android also imports these files. Not supported: NFC passes. With updatable=True the pass can be changed later with update_wallet_pass, and copies already in Wallet refresh themselves. Its contents are then stored on this server for updatable_hours (1 hour by default, at most 30 days), then deleted. Returns {download_url, expires_in_seconds, serial_number, pass_type_identifier}, plus edit_token and updatable_until when updatable=True. Pricing: a call is one create or one update. Free for 30 calls a day per caller IP, while a shared pool of 500 free calls a day lasts; failed calls count too, and counts reset at 00:00 UTC. Past either limit, a call costs $0.01 in USDC on Base, paid with x402; the refusal carries the payment requirements, and a paid result includes the payment receipt. Payment is settled only after the pass is built, so a failed build is never charged. Args: style: one of "boardingPass", "eventTicket", "coupon", "generic", "storeCard". organization_name: shown as the pass issuer. description: accessibility description (required by Wallet, not usually shown). logo_text: text shown next to the logo image. transit_type: only for style="boardingPass" -- "Air", "Boat", "Bus", "Generic", or "Train" (default "Air"). barcode_message: raw text/data encoded into the barcode. Omit for no barcode. barcode_format: a format name or an ordered list of them; each becomes a barcode with the same message, and Wallet shows the first one the device supports. Nothing is added that you don't list. Formats: "QR" (default), "PDF417", "Aztec", "Code128" (all iOS versions), and iOS 27+ only: "Code39", "Codabar", "EAN13", "ITF" -- older iPhones skip these, so e.g. ["EAN13", "Code128"] shows EAN13 on iOS 27 and Code128 before it. EAN13 needs 12-13 digits, ITF an even number of digits, Code39 uppercase letters/digits. barcode_alt_text: human-readable text shown under the barcode (e.g. the card number). background_color / foreground_color / label_color: hex colors, e.g. "#1a1a19". relevant_date / expiration_date: ISO 8601 timestamps. locations: up to 10 places where the pass appears on the lock screen when the iPhone is nearby, each {"latitude": float, "longitude": float, "altitude": optional float, "relevantText": optional str shown on the lock screen, e.g. "Your gym card"}. Look up the coordinates of the actual branch, not just the brand. For boardingPass and eventTicket the pass is relevant near a location around relevant_date if one is set; the other styles use location alone. Wallet only shows a pass within its own default radius of a location, which is small for store cards and coupons. max_distance: meters; shrinks the default radius around every location (Wallet uses the smaller of the two, so it cannot enlarge it). Requires locations. voided: mark the pass voided/used (shows a "VOID" stamp). primary_fields / secondary_fields / auxiliary_fields / header_fields / back_fields: lists of {"key": optional str, "label": optional str, "value": str, "changeMessage": optional str} shown on the pass. changeMessage only matters on updatable passes: when an update changes that field's value, the iPhone shows it as a lock-screen notification, with %@ replaced by the new value (e.g. "You now have %@ points"); without %@ Wallet shows a generic message. Updates match fields by key, so give fields that will change an explicit key (auto keys are by position). serial_number: unique id for this pass; auto-generated if omitted. icon_color / icon_text: control the auto-generated icon (a colored square with initials) when icon_png_b64 is not supplied. logo_color: color of the auto-generated logo image, a wordmark of logo_text (or organization_name) drawn on a transparent background over background_color. Defaults to icon_color. Wallet also renders logo_text as text beside the logo image, so the generated wordmark repeats it -- set generate_logo=False to show only the text. icon_png_b64 / logo_png_b64: PNG to use instead of auto-generated art. Every *_png_b64 parameter takes either base64 PNG data or an https:// URL of an image (PNG, JPEG, WebP or GIF, up to 5 MB; non-PNG is converted to PNG). The URL is fetched once, when the pass is built. generate_logo: set False to include no auto-generated logo or primary logo at all (both are optional in Wallet; a supplied logo_png_b64/primary_logo_png_b64 is still used). poster: (iOS 27+) render as Apple's new full-bleed "Poster Generic" layout -- large background image, header field, up to 4 primary fields, up to 2 footer_fields, and a square QR code. Only for style "generic", "storeCard" or "coupon"; that style is kept as the fallback older iPhones display (secondary/auxiliary fields only show on the fallback). Good for memberships, loyalty cards and gift cards. footer_fields: up to 2 fields along the bottom of a poster pass (requires poster=True). background_png_b64: base64 PNG poster background, ideally 1035x1515 px (345x505pt @3x); a gradient in background_color is generated if omitted. Only used when poster=True. featured_actions: (iOS 27+) up to 2 tappable shortcut cards shown under the pass, each {"type": ..., "url": "https://..."}. type is one of: viewSchedule, watchTrailer, listenToMusic, call (url must be "tel:+..."), addToBalance, order, shop, membershipBenefits, bookAppointment, bookCar, bookFlight, bookStay, viewOffersRewards. Works on every style; ignored by older iPhones. semantics: machine-readable tags (Apple's SemanticTags) that Wallet uses for Siri/Maps/ Calendar suggestions on every style, and to lay out the semantic designs below. Values are emitted as given; unknown keys and wrong types are rejected. Dates are ISO 8601 with an offset. Common shapes: passengerName {"givenName", "familyName"}; flightNumber is a number (123, not "AI123"); seats [{"seatNumber", "seatRow", "seatSection", ...}]; venueLocation {"latitude", "longitude"}; totalPrice {"amount": "12.50", "currencyCode": "INR"}; eventType one of generic, livePerformance, movie, sports, conference, convention, workshop, socialGathering. semantic_layout: use Wallet's semantic design, with the classic style kept for older iPhones -- which only show primary/secondary/auxiliary fields, so still fill those. - boardingPass (iOS 26+, airline only, transit_type "Air"): live flight status, gate changes, badges. Requires semantics airlineCode, flightNumber, departureAirportCode, departureCityName, destinationAirportCode, destinationCityName, originalBoardingDate, originalDepartureDate, originalArrivalDate, passengerName, plus departure and destination time zones (IANA, e.g. "Asia/Kolkata"). Apple's docs call these departureLocationTimeZone/destinationLocationTimeZone but Apple's pass-builder code uses departureAirportTimeZone/destinationAirportTimeZone; either is accepted, and giving both is safest. - eventTicket (iOS 26+ "poster event ticket"): requires eventName, venueName, venueRegionName, venueRoom; sports also needs awayTeamAbbreviation and homeTeamAbbreviation, livePerformance needs performerNames. Apple says this design is meant for NFC entry, not barcodes, and NFC passes need an Apple entitlement this server doesn't have -- Wallet may show the classic event ticket instead. info_links: top-level links that fill the event guide (event tickets) or the airline and services page (boarding passes). URL keys (http/https): accessibilityURL, addOnURL, bagPolicyURL, merchandiseURL, orderFoodURL, parkingInformationURL, purchaseParkingURL, sellURL, transferURL, transitInformationURL, contactVenueWebsite, directionsInformationURL, changeSeatURL, entertainmentURL, purchaseAdditionalBaggageURL, purchaseLoungeAccessURL, purchaseWifiURL, upgradeURL, managementURL, registerServiceAnimalURL, reportLostBagURL, requestWheelchairURL, transitProviderWebsiteURL. Text keys: contactVenueEmail, contactVenuePhoneNumber, transitProviderEmail, transitProviderPhoneNumber. Extra images (base64 PNG or https URL). Which image shows where depends on style and iOS version (from Apple's Pass Designer docs); Wallet ignores an image a layout has no slot for: primary_logo_png_b64: max 126x30pt. Boarding pass and coupon on iOS 27+, event ticket on iOS 18+, poster. On those, the plain logo is only shown by older iOS. A wordmark is auto-generated for poster and semantic_layout passes unless generate_logo=False. secondary_logo_png_b64: max 135x12pt. Event tickets, iOS 18+. strip_png_b64: 375x144pt banner behind the primary fields. Coupon, store card and event ticket; not shown on iOS 26+ coupon/store card. thumbnail_png_b64: 90x90pt. Generic and event ticket. artwork_png_b64: 358x448pt poster event ticket artwork (eventTicket with semantic_layout, iOS 27+); if neither this nor background_png_b64 is given, a gradient in background_color is generated, since Wallet needs one of them. background_png_b64 is also used on eventTicket (blurred behind the classic ticket). updatable: keep this pass on the server so update_wallet_pass can change it later. The response then includes an edit_token: the only way to update the pass, and it can't be recovered, so give it to the user. Wallet registers each iPhone that adds the pass, and an update reaches them within seconds. The pass contents are stored (other passes only log the style and organization_name). Use for passes that change: loyalty points, gate or seat changes, memberships that can be cancelled. updatable_hours: how long an updatable pass can be updated, 1 (default) to 720 (30 days), counted from creation; updates don't extend it. Afterwards the stored pass is deleted and can't be changed again, while copies in Wallet stay as they last were. Pick it to cover the pass's useful life, e.g. until a flight lands or an event ends. Only with updatable=True.
    ConnectorNo auth
  • Create a signed Apple Wallet pass (.pkpass) and return a link to download it. Builds one pass in one of the five Wallet styles -- boardingPass, eventTicket, coupon, storeCard or generic -- from the text fields, colors, barcode and optional PNG images given below, signs it with this service's Apple Pass Type ID certificate, and returns an https download_url valid for 1 hour. Opening the link on an iPhone shows "Add to Apple Wallet". Passes install on any iOS version; the iOS 26/27 layouts fall back to the classic style on older iPhones. Barcodes: QR, PDF417, Aztec and Code128 on every iOS version; Code39, Codabar, EAN13 and ITF on iOS 27+. The barcode encodes exactly barcode_message. Gate and till scanners read that data, so a copy of an existing boarding pass, ticket or loyalty card only scans if barcode_message is the original barcode's content (airline boarding passes are usually PDF417 or Aztec, holding an IATA BCBP string such as "M1DOE/JANE ..."). This tool does not issue tickets, check anyone in, or contact airlines or venues. The link must be opened in Safari on the iPhone: Wallet adds a pass from Safari, but not from a .pkpass file handed over by another app. Google Wallet on Android also imports these files. Not supported: NFC passes. With updatable=True the pass can be changed later with update_wallet_pass, and copies already in Wallet refresh themselves. Its contents are then stored on this server for updatable_hours (1 hour by default, at most 30 days), then deleted. Returns {download_url, expires_in_seconds, serial_number, pass_type_identifier}, plus edit_token and updatable_until when updatable=True. Pricing: a call is one create or one update. Free for 30 calls a day per caller IP, while a shared pool of 500 free calls a day lasts; failed calls count too, and counts reset at 00:00 UTC. Past either limit, a call costs $0.01 in USDC on Base, paid with x402; the refusal carries the payment requirements, and a paid result includes the payment receipt. Payment is settled only after the pass is built, so a failed build is never charged. Args: style: one of "boardingPass", "eventTicket", "coupon", "generic", "storeCard". organization_name: shown as the pass issuer. description: accessibility description (required by Wallet, not usually shown). logo_text: text shown next to the logo image. transit_type: only for style="boardingPass" -- "Air", "Boat", "Bus", "Generic", or "Train" (default "Air"). barcode_message: raw text/data encoded into the barcode. Omit for no barcode. barcode_format: a format name or an ordered list of them; each becomes a barcode with the same message, and Wallet shows the first one the device supports. Nothing is added that you don't list. Formats: "QR" (default), "PDF417", "Aztec", "Code128" (all iOS versions), and iOS 27+ only: "Code39", "Codabar", "EAN13", "ITF" -- older iPhones skip these, so e.g. ["EAN13", "Code128"] shows EAN13 on iOS 27 and Code128 before it. EAN13 needs 12-13 digits, ITF an even number of digits, Code39 uppercase letters/digits. barcode_alt_text: human-readable text shown under the barcode (e.g. the card number). background_color / foreground_color / label_color: hex colors, e.g. "#1a1a19". relevant_date / expiration_date: ISO 8601 timestamps. locations: up to 10 places where the pass appears on the lock screen when the iPhone is nearby, each {"latitude": float, "longitude": float, "altitude": optional float, "relevantText": optional str shown on the lock screen, e.g. "Your gym card"}. Look up the coordinates of the actual branch, not just the brand. For boardingPass and eventTicket the pass is relevant near a location around relevant_date if one is set; the other styles use location alone. Wallet only shows a pass within its own default radius of a location, which is small for store cards and coupons. max_distance: meters; shrinks the default radius around every location (Wallet uses the smaller of the two, so it cannot enlarge it). Requires locations. voided: mark the pass voided/used (shows a "VOID" stamp). primary_fields / secondary_fields / auxiliary_fields / header_fields / back_fields: lists of {"key": optional str, "label": optional str, "value": str, "changeMessage": optional str} shown on the pass. changeMessage only matters on updatable passes: when an update changes that field's value, the iPhone shows it as a lock-screen notification, with %@ replaced by the new value (e.g. "You now have %@ points"); without %@ Wallet shows a generic message. Updates match fields by key, so give fields that will change an explicit key (auto keys are by position). serial_number: unique id for this pass; auto-generated if omitted. icon_color / icon_text: control the auto-generated icon (a colored square with initials) when icon_png_b64 is not supplied. logo_color: color of the auto-generated logo image, a wordmark of logo_text (or organization_name) drawn on a transparent background over background_color. Defaults to icon_color. Wallet also renders logo_text as text beside the logo image, so the generated wordmark repeats it -- set generate_logo=False to show only the text. icon_png_b64 / logo_png_b64: PNG to use instead of auto-generated art. Every *_png_b64 parameter takes either base64 PNG data or an https:// URL of an image (PNG, JPEG, WebP or GIF, up to 5 MB; non-PNG is converted to PNG). The URL is fetched once, when the pass is built. generate_logo: set False to include no auto-generated logo or primary logo at all (both are optional in Wallet; a supplied logo_png_b64/primary_logo_png_b64 is still used). poster: (iOS 27+) render as Apple's new full-bleed "Poster Generic" layout -- large background image, header field, up to 4 primary fields, up to 2 footer_fields, and a square QR code. Only for style "generic", "storeCard" or "coupon"; that style is kept as the fallback older iPhones display (secondary/auxiliary fields only show on the fallback). Good for memberships, loyalty cards and gift cards. footer_fields: up to 2 fields along the bottom of a poster pass (requires poster=True). background_png_b64: base64 PNG poster background, ideally 1035x1515 px (345x505pt @3x); a gradient in background_color is generated if omitted. Only used when poster=True. featured_actions: (iOS 27+) up to 2 tappable shortcut cards shown under the pass, each {"type": ..., "url": "https://..."}. type is one of: viewSchedule, watchTrailer, listenToMusic, call (url must be "tel:+..."), addToBalance, order, shop, membershipBenefits, bookAppointment, bookCar, bookFlight, bookStay, viewOffersRewards. Works on every style; ignored by older iPhones. semantics: machine-readable tags (Apple's SemanticTags) that Wallet uses for Siri/Maps/ Calendar suggestions on every style, and to lay out the semantic designs below. Values are emitted as given; unknown keys and wrong types are rejected. Dates are ISO 8601 with an offset. Common shapes: passengerName {"givenName", "familyName"}; flightNumber is a number (123, not "AI123"); seats [{"seatNumber", "seatRow", "seatSection", ...}]; venueLocation {"latitude", "longitude"}; totalPrice {"amount": "12.50", "currencyCode": "INR"}; eventType one of generic, livePerformance, movie, sports, conference, convention, workshop, socialGathering. semantic_layout: use Wallet's semantic design, with the classic style kept for older iPhones -- which only show primary/secondary/auxiliary fields, so still fill those. - boardingPass (iOS 26+, airline only, transit_type "Air"): live flight status, gate changes, badges. Requires semantics airlineCode, flightNumber, departureAirportCode, departureCityName, destinationAirportCode, destinationCityName, originalBoardingDate, originalDepartureDate, originalArrivalDate, passengerName, plus departure and destination time zones (IANA, e.g. "Asia/Kolkata"). Apple's docs call these departureLocationTimeZone/destinationLocationTimeZone but Apple's pass-builder code uses departureAirportTimeZone/destinationAirportTimeZone; either is accepted, and giving both is safest. - eventTicket (iOS 26+ "poster event ticket"): requires eventName, venueName, venueRegionName, venueRoom; sports also needs awayTeamAbbreviation and homeTeamAbbreviation, livePerformance needs performerNames. Apple says this design is meant for NFC entry, not barcodes, and NFC passes need an Apple entitlement this server doesn't have -- Wallet may show the classic event ticket instead. info_links: top-level links that fill the event guide (event tickets) or the airline and services page (boarding passes). URL keys (http/https): accessibilityURL, addOnURL, bagPolicyURL, merchandiseURL, orderFoodURL, parkingInformationURL, purchaseParkingURL, sellURL, transferURL, transitInformationURL, contactVenueWebsite, directionsInformationURL, changeSeatURL, entertainmentURL, purchaseAdditionalBaggageURL, purchaseLoungeAccessURL, purchaseWifiURL, upgradeURL, managementURL, registerServiceAnimalURL, reportLostBagURL, requestWheelchairURL, transitProviderWebsiteURL. Text keys: contactVenueEmail, contactVenuePhoneNumber, transitProviderEmail, transitProviderPhoneNumber. Extra images (base64 PNG or https URL). Which image shows where depends on style and iOS version (from Apple's Pass Designer docs); Wallet ignores an image a layout has no slot for: primary_logo_png_b64: max 126x30pt. Boarding pass and coupon on iOS 27+, event ticket on iOS 18+, poster. On those, the plain logo is only shown by older iOS. A wordmark is auto-generated for poster and semantic_layout passes unless generate_logo=False. secondary_logo_png_b64: max 135x12pt. Event tickets, iOS 18+. strip_png_b64: 375x144pt banner behind the primary fields. Coupon, store card and event ticket; not shown on iOS 26+ coupon/store card. thumbnail_png_b64: 90x90pt. Generic and event ticket. artwork_png_b64: 358x448pt poster event ticket artwork (eventTicket with semantic_layout, iOS 27+); if neither this nor background_png_b64 is given, a gradient in background_color is generated, since Wallet needs one of them. background_png_b64 is also used on eventTicket (blurred behind the classic ticket). updatable: keep this pass on the server so update_wallet_pass can change it later. The response then includes an edit_token: the only way to update the pass, and it can't be recovered, so give it to the user. Wallet registers each iPhone that adds the pass, and an update reaches them within seconds. The pass contents are stored (other passes only log the style and organization_name). Use for passes that change: loyalty points, gate or seat changes, memberships that can be cancelled. updatable_hours: how long an updatable pass can be updated, 1 (default) to 720 (30 days), counted from creation; updates don't extend it. Afterwards the stored pass is deleted and can't be changed again, while copies in Wallet stay as they last were. Pick it to cover the pass's useful life, e.g. until a flight lands or an event ends. Only with updatable=True.
    ConnectorNo auth
  • Update project settings (current values appear at the top of list_files). Keys: title (2-100 chars), description, iconUrl (the app's icon/logo: favicon, home-screen icon and native app icon — a /_cdn/static/… path from upload_asset, generate_image or request_user_upload, or an absolute https URL; null resets), splashUrl (native splash screen, same value forms), mobileAppId, enableSSR (boolean), flootAiDisallowed (boolean — true opts the project out of @floot/ai), and iOS Info.plist purpose strings (NS…UsageDescription — set to a string, or null to remove) plus boolean Info.plist keys (UIViewControllerBasedStatusBarAppearance — set to a boolean, or null to restore the template default). Invalid keys/values are reported and skipped. NOTE: these take effect on the published app only after the next publish (publish_app, or the user's Publish button). The iosInfoPlist keys only affect builds made before the first iOS publish; after the iOS app is published, edit the project file `static/__dev/native/ios-info.plist` directly with write_file/edit_file (see get_guides('ios-info-plist')). Likewise, after the first Android publish, edit `static/__dev/native/android-manifest.xml` directly for manifest changes (see get_guides('android-manifest')). `shareTarget` makes the native app appear in the iOS and Android share sheets (other apps can share photos/videos/files/text into it): pass { enabled: true, mimeTypes?, allowMultiple? } to register, { enabled: false } to remove; receiving the shared items still needs the handler in app code — read get_guides('share-target') first and ship both together. `nativeSystemBars` controls how the native app treats the status bar / Android navigation bar: mode 'inset' (default) keeps the app below the bars and paints the exposed strips `color` (default black — set it to the app's header color for a seamless look); mode 'edge-to-edge' runs the app under the bars, which REQUIRES the app to pad by var(--safe-area-inset-top/bottom) itself — read get_guides('native-system-bars') first and ship both changes together. Not superseded by the __dev/native files. `serverMemoryMb` sets the memory (MB) of the project's server Lambda, which runs every endpoint, queued task, scheduled job and SSR render (default 1024 MB; 2048 for the published app when SSR is on — the dev backend never bumps). EXPERT SETTING — NEVER change it on your own initiative or as a side effect of another request, only when the user explicitly asks to change the server memory AND understands the trade-off: too low and the backend stops working entirely (killed out-of-memory); Lambda CPU scales with memory, so a lower value also makes every request slower and — because compute is billed per GB-second of billed duration — can cost MORE, not less; a higher value costs more per millisecond. Allowed range 512–4096 MB, whole MB (if a size turns out not to be available for the app's server, the deploy fails and the error names this setting). It applies to the dev backend at the next backend deploy and to the published app at the next publish. Pass null to restore the default. Read get_guides('server-memory') before changing it. `analyticsMode` controls the built-in visitor analytics tracker every published app includes (the project's Analytics tab): 'storage' (default) keeps a 30-minute session id in the visitor's localStorage, which is device storage that needs consent under EU ePrivacy / UK PECR — an app with EU/UK visitors pairs it with a consent banner that calls window.flootAnalytics.setMode(); 'memory' keeps the id in memory only (nothing stored on the device, no consent needed, but a reload or new tab counts as a new session); 'off' sends no analytics at all. Only change it when the user asks about analytics, cookies, consent or privacy for their published app; it takes effect at the next publish. Read get_guides('analytics') for the consent-banner API before changing it. `iosDeviceFamily` picks the devices the native iOS app is built for: 'iphone-and-ipad' (default, universal) or 'iphone' (iPhone only — the app still installs on iPads but runs there in iPhone compatibility mode, and App Store Connect no longer asks for iPad screenshots). This is the ONLY way to make the app iPhone-only: it is an Xcode build setting, so a UIDeviceFamily key in static/__dev/native/ios-info.plist is overwritten at build and does nothing. One-way door: App Store Connect rejects an update that drops iPad once a version supporting iPad has been released on the App Store, and the build then fails at upload. Before setting 'iphone', ask the user whether the app is already live on the App Store; if it is, tell them it cannot be made iPhone-only and do not set it. Takes effect at the next iOS publish. `routePrefetch` controls how the PUBLISHED app downloads other pages' code ahead of navigation: mode 'auto' (default: every page when the app has 15 or fewer, else links entering the screen plus hover/touch), 'all', 'viewport' (links in view + hover/touch), 'intent' (hover/touch only) or 'off'; skipAutomation: true turns warming off in automated browsers (navigator.webdriver: Playwright, Puppeteer, Selenium). A single link opts out with the attribute data-no-prefetch on the <a> or an ancestor (honoured in every mode except the whole-app warm of 'all' / small-app 'auto'). Only change it when the user asks about page prefetching or load performance; it takes effect at the next publish. `dependencyOverrides` forces the version of a package one of the project's dependencies pulls in, in the PUBLISHED app's installs (pnpm overrides), for when a dependency pins a vulnerable package and has no fixed release: { "exceljs>uuid": "11.1.1" } moves the uuid that exceljs uses. Keys are always "parent>package" and the parent must be one of the project's own dependencies (an entry whose parent is not is kept but not applied); a value of null removes that entry, and null for the whole parameter removes them all. Versions are exact or ^/~ on an exact version. Prefer the fixed release on the major the parent asks for (or the nearest one): a newer major can break the parent, and the published backend runs Node 22 without require() of ES modules, so an ESM-only major breaks a CommonJS parent. Packages Floot manages (React, the router, zod, the default UI packages, build tooling, @tiptap/*, Capacitor, sharp, hono…) are refused as parent or package. Adding the fixed version as a direct dependency does NOT change a nested copy; this does. It applies to the published app at the next publish, and to the preview from the next change (reload the preview). Only set it when the user asks to fix a dependency vulnerability or version conflict. `securityHeaders` sets the published app's own page headers: `embedding` (who may show the app in an iframe: 'anyone' (default), 'self', 'none', or a list of https origins), `csp` (directive -> the COMPLETE source list for it, replacing the platform's; other directives keep the platform's), `cspReportOnly` (try `csp` without enforcing it) and `referrerPolicy`. Each field passed replaces the stored one and null removes it (inside `csp`, per directive); `securityHeaders: null` restores the platform defaults. Changes that would break the app are refused with the reason. Change it only when the user asks about embedding / iframes / clickjacking, a security scan finding, a stricter or looser Content-Security-Policy, or referrer privacy; it takes effect at the next publish and never in the preview. Read get_guides('security-headers') before changing it.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A collection of small MCP servers for macOS automation that expose Apple Mail, MoneyMoney, and Spotlight functionality as tools via AppleScript and command-line, enabling AI applications to search mail, manage contacts and transactions, and perform system-wide file searches through natural language.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to drive an iPhone or iOS Simulator through 30 tools and 4 resources, using an observe/act/verify loop with built-in safety approvals.
    31
    36 PyPI
    3
    MIT

Matching MCP Connectors

  • ecosyste.ms Packages MCP.

  • Crypto scam checks (tokens, sites, wallets), chain reads, web page to Markdown, email checks.

  • Search for iOS apps by name, bundle ID, or App Store URL. Supports all languages including Cyrillic, Chinese, etc. If the app is not in our database, it will be fetched from the App Store, persisted as a shared public app record, and queued for enrichment. This does not add the app to your account or competitor watchlist. Auto-detects the likely App Store region from the query language (e.g. Cyrillic → Russia, Chinese → China). To add what you find, add_competitors and add_app take the same name or URL directly — you do not have to look up an app_id first.
    ConnectorNo auth
  • List what's saved for the user's Mobbin MCP connection: All saved, then each collection, most recently changed first. Each entry counts the iOS screens, iOS flows, web screens, web flows and website sections the user can see, and links to it on Mobbin. A count of zero means there is nothing of that kind to fetch: tell the user instead of fetching. Use it when the user refers to their saved screens, flows or sections, or to a collection by name. Collection names are not unique. Before fetching from a collection the user named, check whether more than one entry has that name; if so, stop and ask the user which one they mean, telling them apart by `updated_at` or by what each holds. A private collection's `mobbin_url` opens only for the user and their teammates; say so when you give one out.
    ConnectorOAuth
  • Verifies that a mobile or CTV app bundle ID actually exists in the relevant app store — used to detect bundle spoofing in bid requests. Platform support (v1): - `ios`: verified live via Apple's iTunes Lookup API. - `android`: verified live via the Google Play store listing page. - `ctv_*` / `web`: no public store API — returns verified=null. Inputs: - `bundle_id` (body, required): e.g. `com.nytimes.NYTimes`. - `platform` (body, required): ios | android | ctv_roku | ctv_fire | ctv_samsung | ctv_lg | ctv_vizio | web. - `claimed_developer` (body, optional): checked against the store listing. Returns: - `verified`: true | false | null. null means one of two things: the platform has no store API (confidence `low`, warning `no_store_api_available`), or the store lookup failed (confidence `degraded`, warning `store_api_unavailable`, with `reason`). - `reason`: why the store lookup failed — http_<status> | timeout | network_<error name> | bad_response. Present only on the degraded path. When the relay was also tried and failed it is `<worker reason>+relay_<relay reason>`, e.g. `http_403+relay_timeout`. - `source` (iOS only): `worker` | `relay`. When the Worker's own iTunes lookup ends in http_403, http_429 or network_* and the relay is configured, the lookup is retried once through TunnelMind's relay; `relay` means the relay was consulted (success or failure). - `store_listing`: name, developer, developer_match, store_url.
    ConnectorNo auth
  • Return the supported ecosystem identifier strings for osv_query_package and osv_query_batch: every ecosystem the OSV schema names that OSV.dev accepts at query time, plus GIT, as verified on 2026-09-24. Ecosystem strings are case-sensitive exact matches — passing "pypi" instead of "PyPI" returns an error from the API. Use this tool to discover valid ecosystem strings before querying, or to verify an ecosystem identifier from a lockfile format. The list is static and may lag ecosystems added after that date.
    ConnectorNo auth
  • Public (no auth): returns the REAL operator checklist for publishing (most assets are auto-generated — bundle id, screenshots, descriptions, policies — so the operator only provides API access). For Play: invite console@cabgo.app + decide update-or-new + (if updating) upload keystore. For App Store: upload the API key alone (no invitation needed). Pass platform='android'|'ios'|'both' (default both).
    ConnectorNo auth
  • Answers "is there a decibel meter app", "best decibel meter app for iPhone", "how do I measure sound with my iPhone", "what is Decibel Shield". Facts and the App Store link for Decibel Shield - dB Meter, the iOS sound level meter app behind this data: features, pricing, requirements. Use only when someone wants to measure sound with a phone or asks about the app itself — for noise data, use the other tools.
    ConnectorNo auth
  • Audit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:"ios". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewport:{w,h}} to score 44×44pt touch targets, contrast (with iOS secondaryLabel/tertiaryLabel treated as platform-standard — warn not fail), and visual rhythm (alignment, gap consistency, optical balance) in points. Same return shape as audit_page. Taste-profile bindings are not available on the hosted (remote) endpoint (per-user state is a later phase). Omit 'project'/'profile' to run the stateless iOS screen audit.
    ConnectorNo auth
  • Compare blockchain ecosystem health via DeFiLlama: current TVL, 7/30-day TVL change, and aggregate fee activity. Pass chains such as ['Ethereum', 'Arbitrum', 'Solana'] for a focused comparison, or omit chains to inspect the highest-TVL ecosystems. Use when: Use for ecosystem-level comparisons — which chains are growing, where fee activity concentrates, or how a chain's TVL trended. For a single protocol's economics use get_protocol_tvl instead. Limitations: Third-party DeFiLlama analytics; historical and fee fields fail open (null) for uncovered chains. Not a real-time measure of chain throughput or security. Alternatives: get_protocol_tvl, get_dex_volume
    ConnectorNo auth
  • Find apps in the App Store or Google Play by keyword, e.g. to get an app's store ID before calling other tools. Returns matching apps with metadata (name, developer, icon, rating). This is for finding apps, NOT for checking rankings: never report an app's position in this list as its rank. On iOS the list follows the iTunes Search API's text-match order, which is not the App Store's real ranking — below the top 10 the two can be dozens of places apart. For rank positions, track the keyword (sonar_track_keywords) and read sonar_app_rankings or sonar_keyword_rankings, which follow the App Store's own search order. Works without an API key (free tier, limited daily use per IP). If the store is throttling, the result may be Sonar's stored copy: it then comes back as `{ data, meta }` with `meta.stale: true`, its date in `meta.stale_as_of`, and a `meta.note` to pass on to the user.
    ConnectorNo auth
  • WRITE tool — links the second-store version of an existing Sonar product (e.g. the product already tracks the iOS app and you want to add the Android version, or vice versa). Each product holds at most one iOS + one Android app; to start tracking a brand-new app, use sonar_create_product instead. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
    ConnectorNo auth
  • Turns one source image into a ZIP containing a complete iOS Xcode AppIcon.appiconset (AppIcon.png at 1024x1024, plus a hand-written Contents.json Xcode accepts, and optionally AppIcon-Dark.png and AppIcon-Tinted.png for the appearance variants modern iOS asks for), a full Android mipmap-mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi set of ic_launcher.png files (48/72/96/144/192px), and a flat sizes/ folder with 24 icon-<px>.png files from 16 to 1024px. Any transparency in the source is flattened onto the given background colour first (Apple rejects icons with alpha). A non-square source is centered and letterboxed onto a square canvas rather than stretched. Every output size is produced by repeatedly halving the source (a box-filter-equivalent downscale) before one final resize to the exact target, which keeps small icons sharp instead of muddy. The dark variant is a mechanical darken (source composited at 82% opacity over black) offered as a starting point, not a real design pass -- review it before shipping. The tinted variant is a Rec.709 greyscale luminance map, which is what iOS actually wants for that slot (it applies the colour itself). The JSON result reports the source dimensions, whether it had transparency, the file count, and two non-fatal warnings when the source was not square or not exactly 1024px on its longest side. Always returns as a resource_link (a 30+ file ZIP is never small enough to inline) -- fetch the link to get the archive.
    ConnectorNo auth
  • Lists the user's macOS Shortcuts (Atajos), each with its stable identifier — the id shortcuts_run and shortcuts_view expect. Pass `folder` to filter to one folder (name or identifier; "none" for shortcuts not in any folder), or `folders: true` to list folder names instead of shortcuts. Only lists: it does not run anything (shortcuts_run does).
    ConnectorOAuth
  • Builds a chat mockup in a Mimicly template from a conversation the user wants, for a story, video, lesson, design, presentation or demo. Returns a watermarked preview image URL, an "Open in Mimicly editor" URL where the user can edit, export or record the scene, and the Mimicly iOS App Store link. Scenes are fictional mockups written by the user. The tool is not for posing as a real person, company or institution, for making a chat look like real evidence, or for misleading someone, and the server refuses such scenes. Limits: up to 30 messages and 4000 characters in total. Messages cannot contain links, login or verification codes, passwords, or payment or account details. Nothing is posted or saved to an account. Links stop working after 30 days.
    ConnectorNo auth
  • Compare blockchain ecosystem health via DeFiLlama: current TVL, 7/30-day TVL change, and aggregate fee activity. Pass chains such as ['Ethereum', 'Arbitrum', 'Solana'] for a focused comparison, or omit chains to inspect the highest-TVL ecosystems. Use when: Use for ecosystem-level comparisons — which chains are growing, where fee activity concentrates, or how a chain's TVL trended. For a single protocol's economics use get_protocol_tvl instead. Limitations: Third-party DeFiLlama analytics; historical and fee fields fail open (null) for uncovered chains. Not a real-time measure of chain throughput or security. Alternatives: get_protocol_tvl, get_dex_volume
    ConnectorNo auth
  • Find iOS apps by name or keyword, using Apple's iTunes Search API at call time (a text search over Apple's catalogue, not our own data). Returns app_store_id, name, developer, category id, rating, rating count and price for each match. Call this first to turn an app name into the app_store_id (the 'app_id' argument) that every per-app tool needs.
    ConnectorNo auth