Fiber AI vs MCP SearXNG

A side-by-side look at the Fiber AI and MCP SearXNG MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Fiber AI logoFiber AISearch & Data Extraction · Remote HTTP/SSESearch companies, enrich contacts, and reveal emails and phones from your AI agent.59GoodAuth: api key requiredMCP SearXNG logoMCP SearXNGSearch & Data Extraction · Local subprocess (stdio)/☁️ - A Model Context Protocol Server for SearXNG67GreatAuth: no auth required

Verdict: choose Fiber AI for search & data extraction work over a hosted endpoint; choose MCP SearXNG 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?

Fiber AI logoChoose 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.
Explore Fiber AI

MCP SearXNG logoChoose MCP SearXNG 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 have the keys it needs: SEARXNG_URL.
  • You want tools like searxng_web_search, searxng_search_suggestions, searxng_instance_info.
Explore MCP SearXNG

Feature & specification comparison

Rows where the two servers differ are marked.

SpecFiber AI logoFiber AIMCP SearXNG logoMCP SearXNG
CategorySearch & Data ExtractionSearch & Data Extraction
Quality signal59/100 · Good67/100 · Great
Install commandConfirmedConfirmed
TransportRemote HTTP/SSELocal subprocess (stdio)
AuthAPI key requiredNo auth required
PricingBYOK (pay the provider)Free
Required env varsFIBER_API_KEYSEARXNG_URL
Verified ownerCommunity listingCommunity listing
GitHub stars01,322
Directory activity 1 views 0 installs 0 upvotes 4 views 0 installs 0 upvotes
Tools104

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, advice
  • getQuickstartScript_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, advice
  • getRateLimits_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, advice
  • getAutoTopupSettings_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, advice
  • cardsAttach_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, advice
  • getAllApiKeys_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

MCP SearXNG tools 4

  • searxng_web_searchSearches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly `query` (not `prompt`, `q`, or any other name). Calls an external SearXNG instance; availability depends on the `SEARXNG_URL` configuration. Use `pageno` to paginate results; combine `time_range` and `language` to narrow scope. When `engines` and `time_range` are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with `web_url_read`.
  • searxng_search_suggestionsReturns autocomplete suggestions from the configured SearXNG instance. Use this to refine vague or partial queries before searching.
  • searxng_instance_infoDiscovers capabilities from all reachable configured SearXNG instances via /config, including categories.common/available, engines.common/available, defaults, locales, and plugins.
  • web_url_readFetches a URL and returns readable content as markdown. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.

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 (Claude Desktop / Cursor)
{
  "mcpServers": {
    "fiber-ai": {
      "url": "https://mcp.fiber.ai/mcp/v2"
    }
  }
}

MCP SearXNG

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "ihor-sokoliuk-mcp-searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_URL_HERE"
      }
    }
  }
}

Frequently asked questions

Fiber AI is categorized under Search & Data Extraction and uses a remote HTTP/SSE transport. MCP SearXNG belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Fiber AI for search & data extraction work and MCP SearXNG 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. MCP SearXNG 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 ihor-sokoliuk-mcp-searxng 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. MCP SearXNG has 67/100 (Great) with 4 views, 0 installs and 1,322 GitHub stars.