Search1API文档

CrewAI

连接托管的 Search1API MCP 服务器,为 CrewAI 智能体提供实时网页搜索、新闻、智能搜索和页面读取。

CrewAI 智能体可以通过托管的 MCP 服务器(https://mcp.search1api.com/mcp)使用 Search1API,无需额外安装包:CrewAI 的 mcps 字段会连接服务器、发现工具并交给智能体。一个连接即可获得网页搜索、新闻、智能搜索和页面读取。

安装

pip install crewai mcp

在仪表盘创建密钥,然后导出:

export SEARCH1API_API_KEY="your-api-key"

为智能体接入 Search1API

传入一个 MCPServerHTTP 配置,把密钥放在 Authorization 请求头里。工具过滤器让智能体只拿到研究任务需要的工具。

import os

from crewai import Agent, Crew, Task
from crewai.mcp import MCPServerHTTP
from crewai.mcp.filters import create_static_tool_filter

search1api = MCPServerHTTP(
    url="https://mcp.search1api.com/mcp",
    headers={"Authorization": f"Bearer {os.environ['SEARCH1API_API_KEY']}"},
    tool_filter=create_static_tool_filter(
        allowed_tool_names=["search", "news", "ask", "crawl"]
    ),
    cache_tools_list=True,
)

researcher = Agent(
    role="Research Analyst",
    goal="Answer questions with current, cited sources from the web",
    backstory="You search first, read the most relevant pages, and cite every claim.",
    mcps=[search1api],
)

task = Task(
    description="What changed in CrewAI this month? Read the release notes before answering.",
    expected_output="A short summary with a source URL for each change",
    agent=researcher,
)

result = Crew(agents=[researcher], tasks=[task]).kickoff()
print(result)

智能体使用的模型按 CrewAI 的常规方式选择:通过 llm= 或环境变量。

工具

服务器向 CrewAI 提供的工具与其他 MCP 客户端相同。对智能体最有用的几个:

工具作用积分
search网页搜索,覆盖 Google、Bing、Reddit、GitHub、YouTube 等引擎1
news近期新闻1
ask描述你的需求,由 Search1API 选择来源和时间范围5
crawl把已知 URL 读成干净的正文1
sitemap列出网站上的链接1
deepcrawl读取同一网站的多个页面,例如一整节文档每个任务 20

另外还有 maps 和 trending。全部工具及其参数见 MCP 服务器,当前计费见积分与限制。

有两个工具是为聊天应用设计的,不适合智能体:render_results 在客户端界面里绘制来源卡片,send_feedback 向 Search1API 团队反馈问题。给 crew 配置时,不要把它们放进 allowed_tool_names。

CrewAI 会给每个工具加上服务器名前缀,所以智能体看到的名字类似 mcp_search1api_com_mcp_search。工具过滤器使用上表中的原始名称。

用 URL 快速接入

快速测试时,CrewAI 也接受字符串形式的服务器地址。末尾加 #search 表示只加载这一个工具:

researcher = Agent(
    role="Research Analyst",
    goal="Answer questions with current sources",
    backstory="You search before you answer.",
    mcps=[f"https://mcp.search1api.com/mcp?apiKey={os.environ['SEARCH1API_API_KEY']}#search"],
)

这种写法会把密钥放进 URL,可能被记录到日志里。正式部署请使用上面的请求头配置。

CrewBase 项目

在用 crewai create crew 创建的项目里,在智能体的 @agent 方法中设置 mcps:

@agent
def researcher(self) -> Agent:
    return Agent(config=self.agents_config["researcher"], mcps=[search1api])

请使用 mcps,不要用 mcp_server_params 和 MCPServerAdapter。在 crewai-tools 1.15 中,适配器会把未设置的可选参数作为 null 发送,search 和 news 调用会因 time_range 校验失败而被拒绝。mcps 字段没有这个问题。

本页内容