mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-08 22:22:17 +02:00
MCP consolidation: - Route all MCP-capable connectors (Slack, Jira, Linear, ClickUp, Airtable, Notion, Confluence, interim Gmail/Calendar, custom MCP) through a single `mcp_discovery` subagent. Drive/OneDrive/Dropbox stay native to enrich the KB. - Deprecate Discord/Teams/Luma: no viable official MCP server. Google-only web search: - Remove the main-agent `web_search` tool and the SearXNG platform service; all public web search now flows through the `google_search` subagent via task(). - Deprecate the Tavily/SearXNG/Linkup/Baidu search connectors (HTTP 410 on create, "Deprecated" badge); guide heavy users to the custom MCP connector. - Remove web search from anonymous chat (pure Q&A). - Tear SearXNG out of docker compose + install scripts; drop tavily-python and linkup-sdk deps and their config/env vars. Fix: - metrics._package_version() now swallows any metadata lookup failure. A malformed editable-install distribution with no `Version` field raised KeyError deep in importlib.metadata, and since it runs on every record_subagent_invoke_duration call it was crashing every task() delegation. Verified end-to-end against live GPT-5.4. Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
3.1 KiB
Text
53 lines
3.1 KiB
Text
---
|
|
title: Web Search
|
|
description: How SurfSense web search works and how to add Tavily or Linkup via a Custom MCP connector
|
|
---
|
|
|
|
# Web Search
|
|
|
|
SurfSense performs public web search through the built-in **Google Search** specialist. When the assistant needs real-time or public information (news, prices, weather, exchange rates, current events, or "who ranks for X"), it delegates the query to the Google Search subagent, which returns ranked results the assistant can cite and hand off for crawling.
|
|
|
|
There is nothing to configure — Google web search is available in every workspace out of the box.
|
|
|
|
<Callout type="info" title="Google-only web search">
|
|
SurfSense previously bundled a multi-engine web-search tool backed by SearXNG, Tavily, Linkup, and Baidu. Those have been consolidated: public web search now runs exclusively through the Google Search specialist. The **Tavily**, **Linkup**, **Baidu Search**, and **SearXNG** connectors are deprecated and can no longer be connected.
|
|
</Callout>
|
|
|
|
## How It Works
|
|
|
|
When the assistant decides a request needs the open web:
|
|
|
|
1. The main agent delegates the query to the `google_search` specialist.
|
|
2. The specialist runs a Google search and returns ranked result items (title, URL, snippet).
|
|
3. The assistant summarizes the findings and can follow up by crawling a specific result page.
|
|
|
|
Google web search is workspace-scoped and is not available in the free / anonymous (no-login) chat, which answers purely from the model's own knowledge.
|
|
|
|
## Still want Tavily or Linkup?
|
|
|
|
If you relied on Tavily or Linkup, you can add them back yourself through the generic **Custom MCP connector** (the **MCPs** card in the Connectors dashboard). Both providers expose a hosted MCP server that authenticates with an API key sent as a request header:
|
|
|
|
| Provider | MCP server URL | Auth header |
|
|
|----------|----------------|-------------|
|
|
| Tavily | `https://mcp.tavily.com/mcp/` | `Authorization: Bearer <your Tavily API key>` |
|
|
| Linkup | `https://mcp.linkup.so/mcp` | `Authorization: Bearer <your Linkup API key>` |
|
|
|
|
Steps:
|
|
|
|
1. Open the Connectors dashboard and choose **MCPs** (Custom MCP connector).
|
|
2. Enter the provider's MCP server URL from the table above.
|
|
3. Add an `Authorization` header with the value `Bearer <your API key>`.
|
|
4. Save. The provider's search tools become available to the assistant through the connected-apps specialist.
|
|
|
|
<Callout type="info" title="No SurfSense API keys needed">
|
|
Tavily/Linkup keys live only in your Custom MCP connector configuration. SurfSense no longer ships first-party Tavily, Linkup, Baidu, or SearXNG integrations.
|
|
</Callout>
|
|
|
|
## Deprecated connectors
|
|
|
|
The following connectors are deprecated. Existing rows remain readable/manageable, but new connections are refused (HTTP 410), and their catalog cards show a **Deprecated** badge:
|
|
|
|
- **Tavily** — add via Custom MCP connector (see above).
|
|
- **Linkup** — add via Custom MCP connector (see above).
|
|
- **Baidu Search** — no longer bundled; use the built-in Google Search or a Custom MCP connector for a provider of your choice.
|
|
- **SearXNG** — the bundled SearXNG container and its `SEARXNG_*` environment variables have been removed from all Docker Compose files.
|