Fiber AI vs Mobile MCP
A side-by-side look at the Fiber AI and Mobile MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Fiber AI for search & data extraction work over a hosted endpoint; choose Mobile MCP for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Fiber AI when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a remote HTTP/SSE transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
FIBER_API_KEY. - You want tools like
companySearch_tool, peopleSearch_tool, profileLiveEnrich_tool.
Choose Mobile MCP when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
mobile_list_available_devices, mobile_login_to_cloud_provider, mobile_list_remote_devices.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 59/100 · Good | 69/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | API key required | No auth required |
| Pricing | BYOK (pay the provider) | Free |
| Required env vars | FIBER_API_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 9,896 |
| Directory activity | 1 views 0 installs 0 upvotes | 7 views 0 installs 0 upvotes |
| Tools | 10 | 33 |
| Full listing | View Fiber AI | View Mobile MCP |
Tools & capabilities
Fiber AI tools 10
companySearch_toolOperationId: companySearch. Company search. USE THIS WHEN: - Company search. - Search for companies using filters. - Find matching entities with structured filters and pagination. DO NOT USE FOR: - Finding individual people (use peopleSearch) - Getting contact info like email (use syncContactEnrichment after finding profile) EXAMPLE: Input: companySearch_tool(searchParams={}, pageSize=123) INPUT SCHEMA: Required parameters: - searchParams (object): Search parameters for company search API. Properties: ['exactCompanyV2', 'domains', 'headquartersCountryCode', 'headquartersStateName', 'employeeCountV2', 'employeeCountRanges', 'keywords', 'industriesV2', 'stage', 'totalFundingUSD', 'lastFundingUSD', 'lastFundedOn', 'foundedOn', 'nameLike', 'exactCompany', 'acceleratorsV2', 'headquartersLocation', 'linkedinSlugs', 'specialFlags', 'employees', 'naicsCodes', 'fortuneRankings', 'jobPostingsV2', 'jobPostingStats', 'officeLocationsV2', 'tlds', 'numWordsInName', 'status', 'technologies', 'crunchbaseCategories', 'crunchbaseCategoryGroups', 'crunchbaseSlugs', 'investorsV2', 'technologiesV2', 'revenueRangeUSD', 'revenueRan...peopleSearch_toolOperationId: peopleSearch. People search. USE THIS WHEN: - People search. - Search for people using filters. - Find matching entities with structured filters and pagination. DO NOT USE FOR: - Getting email/phone directly (use syncContactEnrichment after finding profile) - Company searches (use companySearch) EXAMPLE: Input: peopleSearch_tool(searchParams={}, pageSize=123) INPUT SCHEMA: Required parameters: Optional parameters: - searchParams (object): Search parameters for people search. - country3LetterCode (['object', 'null']) - numConnections (['object', 'null']) - numFollowers (['object', 'null']) - approxAge (['object', 'null']) - keywords (['object', 'null']) - keywordsV2 (['object', 'null']) - keywordSearchOptions (['object', 'null']) - jobTitleV2 (['object', 'null']) - jobFunction (['object', 'null']) - exactProfile (['object', 'null']) - exactProfileV2 (['object', 'null']) - startedInRole (any) - startedAtCompany (any) - location (['object', 'null']) - lang...profileLiveEnrich_toolOperationId: profileLiveEnrich. Live fetch LinkedIn profile. USE THIS WHEN: - Live fetch LinkedIn profile. - Returns an enriched profile with details (work experience, education, skills, location, etc.) for a given LinkedIn profile identifier. **Note:** This endpoint does NOT return emails or phone numbers. To retrieve a person's contact details (emails and phone numbers), use the `POST /contact-details/single` endpoint (synchronous, recommended) or the `POST /individual-reveal/start` + `POST /individual-reveal/poll` pair (asynchronous). These can be found under the **Contact details** section. - Fetch fresh upstream profile/company/activity data. DO NOT USE FOR: - Batch operations (use search or batch APIs instead) EXAMPLE: Input: profileLiveEnrich_tool(identifier="example_string", getDetailedEducation="example") INPUT SCHEMA: Required parameters: - identifier (string): The profile's LinkedIn slug (e.g. 'williamhgates'), full LinkedIn URL (e.g. 'https://www.linkedin.com/in/williamhgates/'), Sales Navigator URN, or LinkedIn user ID (e.g. '443105112'). Optional parameters: - getDetailedEducation (['boolean', 'nu...companyLiveEnrich_toolOperationId: companyLiveEnrich. Live fetch LinkedIn company. USE THIS WHEN: - Live fetch LinkedIn company. - Returns an enriched company with details for a given LinkedIn company identifier. - Fetch fresh upstream profile/company/activity data. DO NOT USE FOR: - Batch operations (use search or batch APIs instead) EXAMPLE: Input: companyLiveEnrich_tool(type="example_string", value="example_string") INPUT SCHEMA: Required parameters: - type (string): - value (string): The company's LinkedIn slug (e.g. 'microsoft'), LinkedIn URL (e.g. 'https://www.linkedin.com/company/microsoft'), LinkedIn organization ID (e.g. '1441'), or Fiber company ID (e.g. 'comp_1441'). Optional parameters: - getHistoricalHeadcount (boolean): Whether to compute the company's overall employee count over time and recent growth trends. This returns total headcount through time, not a per-department breakdown — for per-department headcount, use the Depth Chart endpoints. No additional cost, but may take longer. RETURNS: Response object with keys: output, chargeInfo, warnings, advicegetQuickstartScript_toolOperationId: getQuickstartScript. Get quickstart install script. USE THIS WHEN: - Get quickstart install script. - Returns a bash script that signs up for a Fiber API trial and prints your API key. - Start an asynchronous workflow, then call the related poll/status endpoint. EXAMPLE: Input: getQuickstartScript_tool() INPUT SCHEMA: Required parameters: Optional parameters:getOrgCredits_toolOperationId: getOrgCredits. Get organization credits. USE THIS WHEN: - Get organization credits. - Get credits for an organization. - Inspect or manage account-level billing and usage settings. EXAMPLE: Input: getOrgCredits_tool() INPUT SCHEMA: Required parameters: Optional parameters: RETURNS: Response object with keys: output, chargeInfo, warnings, advicegetRateLimits_toolOperationId: getRateLimits. Get organization rate limits. USE THIS WHEN: - Get organization rate limits. - Returns the effective rate limits for all API endpoints for your organization. If your organization has custom rate limits on any endpoint, those are reflected here. - Inspect or manage account-level billing and usage settings. EXAMPLE: Input: getRateLimits_tool() INPUT SCHEMA: Required parameters: Optional parameters: RETURNS: Response object with keys: output, chargeInfo, warnings, advicegetAutoTopupSettings_toolOperationId: getAutoTopupSettings. Get auto top-up settings. USE THIS WHEN: - Get auto top-up settings. - Get the organization's auto top-up configuration. When configured is false, no auto top-up settings exist yet. - Inspect or manage account-level billing and usage settings. EXAMPLE: Input: getAutoTopupSettings_tool() INPUT SCHEMA: Required parameters: Optional parameters: RETURNS: Response object with keys: output, chargeInfo, warnings, advicecardsAttach_toolOperationId: cardsAttach. Attach card to trial account. USE THIS WHEN: - Attach card to trial account. - Attach a payment card to a cardless trial organization using a single-use Stripe shared payment token. The card is verified with a temporary $1 authorization that is refunded immediately (net cost $0), and the organization's free-credit ceiling is raised. The verified card is not saved for future charges — every future paid top-up requires a freshly-minted shared payment token. - Inspect or manage account-level billing and usage settings. EXAMPLE: Input: cardsAttach_tool(sharedPaymentGrantedToken="example_string") INPUT SCHEMA: Required parameters: - sharedPaymentGrantedToken (string): Single-use Stripe shared payment token (`spt_...`) authorizing exactly one card handoff. Mint it on the buyer side (see https://docs.stripe.com/agentic-commerce/concepts/shared-payment-tokens); each request must submit a freshly-minted token. Optional parameters: RETURNS: Response object with keys: output, chargeInfo, warnings, advicegetAllApiKeys_toolOperationId: getAllApiKeys. List API keys. USE THIS WHEN: - List API keys. - List all API keys for your organization, including each key's name, prefix, expiration, and per-key credit usage. The secret value of a key is only shown once at creation and is never returned here. First-time users: create your initial API key at https://app.fiber.ai or via POST /v1/account/send-otp + verify-otp. This endpoint manages keys once you have one. EXAMPLE: Input: getAllApiKeys_tool(includeRevoked=True) INPUT SCHEMA: Required parameters: Optional parameters: - includeRevoked (boolean): Include revoked keys in the results. Defaults to false, returning only active keys. RETURNS: Response object with keys: output, chargeInfo, warnings, advice
Mobile MCP tools 33
mobile_list_available_devicesList all available devices. This includes both physical mobile devices and mobile simulators and emulators. It returns both Android and iOS devices. These are local devices already connected to this machine, ready to use immediately at no cost - for devices from the shared remote cloud fleet, use mobile_list_remote_devices instead.mobile_login_to_cloud_providerStart authenticating this machine with the remote device cloud provider. This is required once before mobile_list_remote_devices or mobile_allocate_remote_device will work; if either of those fails with an authentication error, call this tool and then retry. This starts a browser-based device-code login and returns quickly with a URL and a one-time code - it does NOT wait for the login to complete. Show the URL and code to the user verbatim and ask them to open the URL and enter the code in their own browser. The login keeps running in the background after this tool returns; once the user confirms they've completed it, retry the remote devices tool that originally failed. Only call this after the user has explicitly asked to connect to, log into, or use remote/cloud devices - never call it speculatively, since it interrupts the user to act in their browser.mobile_list_remote_devicesList the catalog of device models (make, platform, OS version) available to reserve from the remote cloud device fleet. This is different from mobile_list_available_devices, which lists real devices and simulators/emulators already connected to this local machine and ready to use immediately at no cost. Remote devices live in a shared cloud fleet: they are not usable until reserved with mobile_allocate_remote_device, and reserving one may be a limited/billed resource. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry.mobile_allocate_remote_deviceReserve a physical device from the remote cloud fleet for exclusive use, returning a device identifier usable with the other mobile_* tools. Unlike local devices, a remote device is a shared and billed resource borrowed for the session - only call this after the user has explicitly asked to use a remote/cloud device, never speculatively or as a fallback when a local device isn't found. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry. Use mobile_list_remote_devices first to see which names and versions actually exist in the fleet before filtering by them. Release the device with mobile_release_remote_device once the whole task is finished - releasing wipes the device's state, so do not release and reallocate between steps of the same task just to be tidy.mobile_release_remote_deviceRelease a device previously reserved with mobile_allocate_remote_device back to the remote cloud fleet so it becomes available to others. Releasing is destructive to the device's state: apps installed, files pushed, and any other changes made during this session are lost, and a later mobile_allocate_remote_device call may take time and could return a different physical unit. Only release once the whole task is finished - if there is more work to do on the same device shortly, keep holding it rather than releasing and reallocating.mobile_list_appsList all the installed apps on the devicemobile_get_foreground_appGet the app currently in the foreground on the device. Use this to verify which app or screen you are on before interacting with it.mobile_launch_appLaunch an app on mobile device. Use this to open a specific app. You can find the package name of the app by calling list_apps_on_device.mobile_terminate_appStop and terminate an app on mobile devicemobile_install_appInstall an app on mobile devicemobile_uninstall_appUninstall an app from mobile devicemobile_get_screen_sizeGet the screen size of the mobile device in pixels- +21 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Fiber AI
{
"mcpServers": {
"fiber-ai": {
"url": "https://mcp.fiber.ai/mcp/v2"
}
}
}
Mobile MCP
{
"mcpServers": {
"mobile-next-mobile-mcp": {
"command": "npx",
"args": [
"-y",
"@mobilenext/mobile-mcp@latest"
]
}
}
}
Frequently asked questions
Fiber AI is categorized under Search & Data Extraction and uses a remote HTTP/SSE transport. Mobile MCP belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Fiber AI for search & data extraction work and Mobile MCP for search & data extraction.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Fiber AI is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. Mobile MCP is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add fiber-ai and mobile-next-mobile-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Fiber AI has a quality signal of 59/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Mobile MCP has 69/100 (Great) with 7 views, 0 installs and 9,896 GitHub stars.