Search1API
官方一个用于搜索、抓取和站点地图的API
你可以用 Search1API MCP 做什么?
- 网页搜索 — 让你的助手在 Google、Bing、GitHub、arXiv 或 Reddit 等搜索引擎中执行
search,并设置网站筛选条件和时间范围。 - 新闻查询 — 使用
news查找来自 Google、Bing、DuckDuckGo、Yahoo 或 Hacker News 的近期文章,还可选择抓取热门结果。 - 网页和站点地图检索 — 提取 URL 中的完整内容,或列出网站上的所有相关链接。
- 热门话题 — 获取 GitHub 或 Hacker News 上的热门内容。
- 智能代理搜索 — 用自然语言描述需求,让
ask选择搜索引擎并返回按相关性排序、可引用的结果。 - 本地地点搜索 — 在 Google 地图上查找商家和地点,并获取地址、评分、营业时间和联系方式。
文档
Search1API MCP Server
Search1API 的官方 MCP 服务器——通过一个 API 提供网页搜索、新闻、页面抓取、站点地图发现和热门话题功能。
身份验证
- 支持 OAuth 的客户端可以直接连接 Remote MCP URL,然后在浏览器中登录并批准访问。
- 现有集成可以继续使用 Search1API 控制面板中的 API 密钥。
- 每个 MCP 请求——包括工具发现(
initialize、tools/list)——都需要凭据。未通过身份验证的请求会收到 OAuth 挑战,客户端据此触发登录;连接前的检查则由静态服务器卡片提供。
快速开始(Remote MCP)
无需安装。使用远程 URL 配置 MCP 客户端。客户端支持 OAuth 时使用 OAuth,否则提供 API 密钥。
身份验证
支持以下三种方式——选择客户端支持的方式:
| 方式 | 格式 |
|---|---|
| OAuth 2.1 | 无需密钥即可连接到 https://mcp.search1api.com/mcp,并按照客户端的登录流程操作 |
| Authorization Header | Authorization: Bearer YOUR_SEARCH1API_KEY |
| URL Query Parameter(旧版) | https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEY |
优先使用 OAuth 或 Authorization header。查询参数中的凭据可能会暴露在 URL、日志和 shell 历史记录中。
可选的搜索和新闻 UI
Remote MCP 在上述标准端点提供 render_results。诸如 search、news 和 ask 之类的数据工具会返回结果,但不会自动显示卡片。如果来源列表有帮助,模型可以选择或组合已有结果,并将其传递给 render_results。该工具会在 MCP Apps 客户端中返回来源卡片,在其他客户端中返回完整的可读文本列表。渲染不会重复搜索或消耗搜索额度;无需设置 UI URL 参数。
HTTP 和 stdio 都会通过标准 serverInfo.icons 元数据提供 Search1API 的方形徽标。512×512 PNG 图片公开托管于 https://mcp.search1api.com/assets/icon-square.png,无需身份验证,也不会重定向。服务器卡片和注册表清单使用相同图标。客户端自行决定是否显示该图标;它不会替代插件目录单独存储的图标。
参数、限制和回退行为请参阅渲染约定。npm 包从 0.8.0 版本起包含此渲染器。更新现有安装并重启 MCP 连接;npx -y search1api-mcp@latest 会启动最新发布的包。
更改 URL 后,请重新连接或刷新连接器的工具定义;客户端可能会缓存这些定义。此 URL 设置仅适用于 Remote MCP;本地 stdio 行为不变。详情和发布状态请参阅 MCP Apps UI。
Claude Desktop
{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}
Claude.ai(Web)
从 Claude 目录安装 Search1API,点击 Connect,然后使用 Search1API 账户登录。
请勿通过 Add custom connector 添加 https://mcp.search1api.com/mcp:这会创建一个单独的自定义连接器。除非你输入名称,否则 Claude 会使用 URL 的主机名为其命名(mcp.search1api.com)。
Cursor
建议安装为 Cursor 插件:此仓库包含用于通过 OAuth 连接 Remote MCP 的 Agent Plugins plugin.json + mcp.json(可移植)和 .cursor-plugin/plugin.json(Cursor Marketplace 元数据/徽标)。从 cursor.directory / Cursor Marketplace 提交或安装,然后按提示登录。
如需本地测试,请将插件文件复制到 ~/.cursor/plugins/local/search1api(plugin.json、.cursor-plugin/、mcp.json、assets/)。请勿从该目录之外创建符号链接——Cursor 会拒绝外部符号链接目标。
或者手动配置:
{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}
Antigravity
安装为 Antigravity 插件:antigravity-plugin/ 包含清单、mcp_config.json(通过 OAuth 连接 Remote MCP)、Search1API 技能和 Marketplace README。直接从 GitHub 安装,然后在浏览器打开时登录:
agy plugin install https://github.com/superagents-lab/search1api-mcp/tree/main/antigravity-plugin
如需本地测试,请在检出目录中运行 agy plugin validate --strict ./antigravity-plugin 和 agy plugin install ./antigravity-plugin。
VS Code
{
"servers": {
"search1api": {
"type": "http",
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}
Claude Code
claude mcp add --transport http search1api https://mcp.search1api.com/mcp \
--header "Authorization: Bearer YOUR_SEARCH1API_KEY"
Windsurf
{
"mcpServers": {
"search1api": {
"serverUrl": "https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEY"
}
}
}
Agent Skill
Agent Skill 已迁移至 search1api-cli。使用以下命令安装:
npm install -g search1api-cli
npx skills add superagents-lab/search1api-cli
本地模式(stdio)
如果你希望在本地运行服务器,请使用 Node.js 20 或更高版本和 npx——无需克隆:
{
"mcpServers": {
"search1api": {
"command": "npx",
"args": ["-y", "search1api-mcp"],
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}
对于代理后面的自托管 HTTP 部署,请将所有可访问 Node.js 进程的内部主机名添加到逗号分隔的 MCP_ALLOWED_HOSTS 环境变量中。默认允许 mcp.search1api.com 和 localhost 地址。发送 Origin header 的基于浏览器的客户端还必须将其受信任的来源主机名添加到逗号分隔的 MCP_ALLOWED_ORIGINS 变量中。服务器端 MCP 客户端通常不会发送 Origin,因此无需添加条目。
工具
search
使用 Search1API 搜索网页。结果包含可引用的 id/title/url 结构。需要完整页面时,将结果 URL 传递给 crawl。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
query | 是 | - | 搜索查询 |
max_results | 否 | 10 | 结果数量 |
search_service | 否 | google、bing、bingcn、duckduckgo、yahoo、yandex、x、reddit、github、youtube、arxiv、wechat、bilibili、imdb、wikipedia、grokipedia | |
page | 否 | 1 | 结果页码(1-100);仅 bing、bingcn、baidu 和 grokipedia 支持分页 |
crawl_results | 否 | 0 | 抓取完整内容的顶部结果数量;每次成功抓取都会在基础的 1 点搜索请求费用上增加 1 点额度 |
include_sites | 否 | [] | 要包含的网站 |
exclude_sites | 否 | [] | 要排除的网站 |
time_range | 否 | - | day、week、month、year |
当搜索引擎提供 published_date 时,结果会在 metadata 中包含该字段;github 结果还会添加 kind、stars、language 和 num_comments。
news
搜索新闻文章。hackernews 结果会链接到讨论串,并在 metadata 中添加 story_url、points 和 num_comments。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
query | 是 | - | 搜索查询 |
max_results | 否 | 10 | 结果数量 |
search_service | 否 | bing | google、bing、duckduckgo、yahoo、hackernews |
crawl_results | 否 | 0 | 抓取完整内容的顶部结果数量;每次成功抓取都会在基础的 1 点新闻请求费用上增加 1 点额度 |
include_sites | 否 | [] | 要包含的网站 |
exclude_sites | 否 | [] | 要排除的网站 |
time_range | 否 | - | day、week、month、year |
crawl
从 URL 提取内容。
| 参数 | 必填 | 说明 |
|---|---|---|
url | 是 | 要抓取的 URL |
sitemap
获取与 URL 相关的所有链接。
| 参数 | 必填 | 说明 |
|---|---|---|
url | 是 | 要获取站点地图的 URL |
trending
获取热门平台上的热门话题。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
search_service | 是 | - | github、hackernews |
max_results | 否 | 10 | 条目数量 |
ask
智能搜索:用自然语言描述需求,Search1API 会选择最多五个搜索引擎和一个时间范围,剔除无关结果,并返回最多 10 条按相关性排序的可引用结果。结果还包含 intent(使用的关键词、搜索引擎和时间范围)以及 errors(其他搜索引擎已完成时发生故障的搜索引擎)。每个已完成的请求消耗 5 点额度;如果已知要使用的搜索引擎,请使用 search。
| 参数 | 必填 | 说明 |
|---|---|---|
query | 是 | 用自然语言描述的请求,最多 500 个字符 |
maps
在 Google Maps 上查找本地商家和地点。返回一页最多 20 个地点,作为可引用结果:title 是地点名称,url 是其 Google Maps 链接,metadata 在信息可用时包含地址、电话、网站、类别、评分、评论数、坐标、营业时间、营业状态和价格范围。每页消耗 3 点额度,无论该页包含多少地点。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
query | 是 | - | 要查找的内容,例如“咖啡店”或“奥斯汀的牙医” |
country | 否 | us | 两位字母的国家/地区代码 |
language | 否 | en | 结果语言,例如 en、de 或 zh-CN |
location | 否 | - | { latitude, longitude, zoom? },用于搜索某个点周围的地点;第 2 页及之后的页面必填 |
page | 否 | 1 | Google Maps 页码,1-6;每页都是单独的调用 |
max_results | 否 | 20 | 从该页返回的地点数量(1-20);减少地点数量不会降低价格 |
deepcrawl
在单个任务中读取同一网站的多个页面,例如某个文档章节。通过站点地图查找网站 URL,保留符合路径规则的 URL,并返回最多 max_pages 个页面作为可引用结果:title、url 和 text 中的页面 Markdown。结果还包含 stats(已发现、匹配、跳过、已抓取、失败)、failed(无法读取的 URL 及原因)、API message,以及 result_url(包含每个页面完整内容的 JSON 文件)。每个已启动的任务消耗 20 点额度,无论读取多少页面。
该工具最多等待约 45 秒。如果抓取仍在运行,它会返回带有 task_id 的 status: "running";再次使用该 task_id 调用 deepcrawl 以获取页面。此操作免费,也不会启动新的抓取任务。每页文本上限为 8,000 个字符,总计上限为 80,000 个字符;被截短的页面会包含 metadata.truncated: true,完整文本则位于 result_url。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
url | 是,除非提供 task_id | - | 要抓取的网站或章节,例如 https://example.com/docs/ |
max_pages | 否 | 10 | 要读取的最多页面数(1-50),按应用路径规则后的发现顺序排列;无论页面数量多少,价格相同 |
include_paths | 否 | - | 最多 20 条要保留的 URL 路径规则。未提供 * 时,规则是按路径段边界匹配的路径前缀(/docs 匹配 /docs/api,但不匹配 /docsearch);提供 * 时,必须匹配整个路径,且 * 也会匹配 / |
exclude_paths | 否 | - | 最多 20 条要跳过的路径规则,语法相同;排除规则优先 |
type | 否 | sitemap | sitemap 使用网站的站点地图;如果没有站点地图,则使用起始页面上的链接。all 使用从起始 URL 发现的所有链接 |
task_id | 否 | - | 仍在运行的抓取任务的 task_id;仅检查其状态,其他参数会被忽略 |
send_feedback
向 Search1API 团队报告错误、空白或不完整的结果、无法解决的错误、与实际行为不符的文档,或缺失的功能。免费,不消耗额度。如果服务器配置了 Search1API 凭据,报告会关联到该账户,以便团队跟进。请勿包含凭据或私人数据。
| 参数 | 必填 | 描述 |
|---|---|---|
message | 是 | 出现的问题或缺失的内容,最多 4000 个字符 |
intent | 否 | 你尝试完成的目标 |
category | 否 | bug、feature_request、docs、other |
request_id | 否 | 出现问题的调用的请求 ID |
model | 否 | 你的模型名称 |
版本历史
-
v0.11.0:新增
deepcrawl工具,可在单个任务中读取同一网站最多 50 个页面(每个任务 20 个积分;检查正在运行的任务免费) -
v0.10.0:新增
maps工具,用于 Google Maps 地点搜索(每页最多 20 个地点,每页 3 个积分) -
v0.7.0:新增用于智能体搜索的
ask工具。search新增了bingcn、yandex和grokipedia引擎,以及一个page参数;search和news接受time_range: "week",并在结果metadata中传递published_date、GitHub 和 Hacker News 字段 -
v0.6.1:错误修复 — MCP 发现(
initialize、tools/list、resources/*、prompts/list、server/discover)再次需要凭据。匿名提供发现信息会导致将“已列出工具”等同于“已登录”的客户端显示已连接状态,却无法触发 OAuth 流程;现在,401 挑战会响应每个未经身份验证的请求,从而在连接时恢复 OAuth 登录。通过静态服务器卡片和注册表元数据保持目录可见性不变 -
v0.6.0:MCP 发现(
initialize、tools/list、resources/*、prompts/list、server/discover)无需凭据即可提供,以便客户端和目录在登录前枚举工具;调用工具仍需 OAuth 或 API 密钥。Stdio 模式在没有SEARCH1API_KEY的情况下启动并提供工具元数据,仅在调用时拒绝请求。格式错误的请求会以 JSON-RPC 格式响应,而不是返回 HTML 错误页面 -
v0.5.4:OAuth issuer 已迁移至
clerk.s1.dev,并可通过OAUTH_AUTHORIZATION_SERVER配置;MCP 服务器卡片已发布至/.well-known/mcp/server-card.json;OAuth 发现文档现在会发送缓存标头 -
v0.5.3:OAuth 资源和工具元数据不再需要 OIDC 会话范围;新增 Smithery 和 Glama 注册表徽章
-
v0.5.2:MCP
Origin验证现在会在请求解析和身份验证之前运行;自托管 HTTP 部署可通过MCP_ALLOWED_ORIGINS配置信任的浏览器来源 -
v0.5.1:文档、LobeHub 清单和 MCP Registry 元数据已同步;
robots.txt在传输主机上提供 -
v0.5.0:支持 MCP 2026-07-28,并自动协商协议;兼容 2025 年 HTTP 客户端的无状态模式;请求级身份验证
-
v0.4.0:结构化输出架构、OAuth 安全方案、安全注释和 Official MCP Registry 元数据
-
v0.3.1:支持 Remote MCP 的 OAuth 2.1;已移除弃用的推理工具
-
v0.3.0:通过 Streamable HTTP 支持 Remote MCP;按会话进行 API 密钥身份验证
-
v0.2.0:新增备用
.env支持,用于 LibreChat 集成 -
v0.1.8:X (Twitter) 和 Reddit 搜索服务
-
v0.1.7:新增 GitHub 和 Hacker News 趋势工具
-
v0.1.6:Wikipedia 搜索服务
-
v0.1.5:新增搜索参数和服务(arxiv、wechat、bilibili、imdb)
-
v0.1.3:新闻搜索
-
v0.1.2:站点地图
-
v0.1.1:网页抓取
-
v0.1.0:首次发布
许可证
MIT
UI 和第三方鸣谢
render_results MCP Apps 视图会将现有来源显示为带有标题和域名的卡片。每个客户端也会收到完整文本和结构化结果列表。该组件改编自 Swami Malode 创作的 Rare UI。其 MIT + Commons Clause + Attribution 条款转载于 THIRD_PARTY_NOTICES.md。
UI 设置、沙盒来源和发布检查:MCP Apps UI。