aliyun-k-search-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aliyun-k-search-mcpsearch for recent developments in AI"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aliyun-k-search-mcp
部署在阿里云函数计算(Function Compute,FC)中国大陆地域的远程网页搜索 MCP。手机 AI 通过阿里云公网 HTTPS 触发器访问,不依赖在中国大陆可能无法打开的 workers.dev 域名。
搜索优先级
服务按以下固定顺序搜索:
Exa → Tavily → 豆包搜索 Custom → Bocha Web Search只有配置了 API Key 的供应商才会参与搜索。当前供应商出现网络错误、超时、HTTP 错误、业务错误、响应格式异常或空结果时,会自动切换下一家。供应商不会并行请求,因此优先级严格、额外费用更可控。
Related MCP server: websearch-skill
特性
MCP Streamable HTTP,入口为
/mcpMCP 工具名保持为
web_searchBearer Token 鉴权,手机端不会接触搜索供应商的 API Key
Exa 按官方 Coding Agent 建议使用
type: auto和 highlightsTavily 保留默认 80 RPM 排队限速与 429 重试
豆包搜索优先使用官方推荐给大模型的
SummaryBocha 请求文本摘要并兼容其 Bing 风格响应
进程内 15 分钟缓存
相同并发查询合并,只执行一条完整供应商调用链
单次客户端搜索只计算一次月度软配额,内部 fallback 不重复计数
/health仅显示配置状态,不显示密钥
架构
手机 AI / MCP 客户端
│ HTTPS + Bearer Token
▼
阿里云 FC HTTP 触发器(默认杭州)
│
▼
Node.js MCP 服务
├─ 鉴权、Origin 校验和月度软配额
├─ 缓存与相同查询合并
└─ 搜索供应商链
├─ Exa
├─ Tavily(80 RPM 队列与 429 重试)
├─ 豆包搜索 Custom
└─ Bocha Web Search准备条件
已实名认证的阿里云账号
Node.js 20 或更高版本
至少一个搜索 API Key:Exa、Tavily、豆包搜索或 Bocha
手机 AI 支持 MCP Streamable HTTP 和自定义请求头
1. 安装依赖
cd ~/Desktop/aliyun-k-search-mcp
npm install
cp .env.example .env用文本编辑器打开 .env。至少填写一个搜索供应商的 Key,并设置 MCP Token:
EXA_API_KEY=
TAVILY_API_KEY=你的_Tavily_API_Key
DOUBAO_API_KEY=
BOCHA_API_KEY=
MCP_API_TOKEN=你自己生成的长随机访问令牌空白供应商会被自动跳过。可以生成 MCP 访问令牌:
openssl rand -hex 32.env 已加入 .gitignore,不会被提交。不要把真实密钥发到聊天或粘贴到公开日志中。
豆包使用“豆包搜索 Custom 版”控制台生成的 API Key,不是火山引擎 AccessKey/Secret。调用地址为 https://open.feedcoopapi.com/search_api/web_search。
2. 配置阿里云登录凭据
运行:
npx s config add配置名称填写 default。建议在阿里云 RAM 控制台创建专用 RAM 用户,不要使用主账号 AccessKey,并给该用户添加系统策略 AliyunFCFullAccess。
3. 本地测试
npm run build
npm start另开终端检查:
curl http://127.0.0.1:9000/health正常结果类似:
{
"status": "ok",
"service": "aliyun-k-search-mcp",
"version": "1.2.0",
"exaConfigured": false,
"tavilyConfigured": true,
"doubaoConfigured": false,
"bochaConfigured": false,
"searchConfigured": true,
"authConfigured": true,
"providerPriority": ["exa", "tavily", "doubao", "bocha"]
}4. 部署到阿里云函数计算
npm run deploy部署命令会捕获并过滤 Serverless Devs 输出,对四个搜索 API Key 和 MCP Token 进行打码。成功时只显示部署状态和公网 URL。也可以安全查询公网触发器 URL:
npm run fc:info不要直接运行并公开粘贴未经处理的 s deploy 或 s info 完整输出,因为其中可能包含函数环境变量。
5. 手机 AI 配置
把部署结果的公网 URL 加上 /mcp:
{
"url": "https://你的阿里云HTTP触发器地址/mcp",
"headers": {
"Authorization": "Bearer 你在.env中设置的MCP_API_TOKEN"
}
}手机端无需配置任何搜索供应商 Key。先在手机浏览器打开触发器地址的 /health;能快速显示 JSON,说明中国大陆入口正常。
配置项
名称 | 默认值 | 说明 |
| 空 | 可选;配置后为第一优先级 |
| 空 | 可选;配置后为第二优先级 |
| 空 | 可选;豆包搜索 Custom API Key |
| 空 | 可选;Bocha API Key |
| 无 | 必填,至少 16 字符,推荐 64 位十六进制 |
|
| FC 地域 |
| 空 | 浏览器 Origin 白名单;原生手机客户端通常留空 |
|
| 每次最多结果数,范围 1~10 |
|
| 内存缓存秒数,0 表示禁用 |
|
| 实例内月度软上限,0 表示无限制 |
|
| 单次 Exa 请求超时 |
|
| 单次 Tavily 请求超时 |
|
| 单次豆包搜索请求超时 |
|
| 单次 Bocha 请求超时 |
|
| Tavily 出站请求上限,最大允许配置为 100 |
|
| Tavily 最大预计排队时间 |
四个搜索 API Key 至少配置一个。缓存、月度软上限和相同查询合并状态保存在函数实例内存中,冷启动或重新部署后会清空;各供应商账户仍负责最终额度限制。
并发和限流说明
s.yaml 将函数总并发与单实例并发均设置为 100,使正常允许的并发可由一个实例承载。Tavily 免费 Key 的队列限流保存在 Node 进程内;如果提高函数总并发并触发多个实例,每个实例都会拥有独立队列,可能合计超过 Tavily 的账户 RPM。
Exa、豆包和 Bocha 当前不使用 Tavily 的 80 RPM 队列;它们收到限流或额度错误时会切换下一家。需要对这些供应商做跨实例精确限流时,应使用 Redis、Tablestore 等共享原子存储。
常见问题
/health显示misconfigured:确认MCP_API_TOKEN已设置,并且四个搜索 Key 至少填写一个。MCP 返回 401:手机里的 Bearer Token 与
MCP_API_TOKEN不一致。高优先级供应商 Key 错误:服务会记录安全错误并自动切换下一家;
/health只检查是否配置,不会在线验证 Key。搜索全部失败:检查函数日志、供应商余额和 API Key 权限;客户端只会看到统一安全错误。
Tavily 返回排队已满:服务会继续尝试豆包和 Bocha;如果没有后续供应商,则返回统一失败提示。
旧客户端使用
/sse:需要改用/mcpStreamable HTTP。
开发验证
npm test
npm run typecheck
npm run build项目结构
src/app.ts MCP HTTP 路由和供应商组装
src/server.ts web_search MCP 工具
src/providers.ts 固定优先级与自动 fallback
src/provider-utils.ts 搜索供应商通用请求与安全错误
src/exa.ts Exa Search API 适配器
src/tavily.ts Tavily Search API 适配器
src/doubao.ts 豆包搜索 Custom API 适配器
src/bocha.ts Bocha Web Search API 适配器
src/coordinator.ts 整条链并发合并与 Tavily 限流重试
src/cache.ts 进程内 TTL 缓存
src/quota.ts 进程内月度软上限
src/fc.ts 阿里云 FC 内置运行时事件适配器
s.yaml 阿里云 FC 部署配置License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/KB-521/aliyun-k-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server