2026 年的企业代理工作流程需要跨内部文档(Confluence、SharePoint、Notion)和外部 Web 进行统一搜索。本教程将 Scavio MCP 注册到您的内部 KB MCP 旁边,以便 Claude Code 从一个提示符运行联合搜索。
前置条件
- 克劳德·代码最新
- Scavio API 密钥
- 您的企业知识库MCP(例如@confluence/mcp、@notion/mcp)
- Node.js 20+
操作指南
步骤 1: 安装两个 MCP
Scavio 加上您的 KB MCP。
npm install -g @scavio/mcp @confluence/mcp步骤 2: 在 .mcp.json 中注册两者
Claude Code 从所有注册的服务器中发现工具。
{
"mcpServers": {
"scavio": { "command": "scavio-mcp", "env": { "SCAVIO_API_KEY": "..." } },
"confluence": { "command": "confluence-mcp", "env": { "CONFLUENCE_TOKEN": "..." } }
}
}步骤 3: 编写联合搜索技能
Claude Code 首先搜索 KB,然后返回到 Scavio。
// ~/.claude/skills/federated-search.md
For every question:
1. Call confluence.search with the query.
2. If fewer than 3 results, call scavio.search for external web results.
3. Combine and cite sources inline.步骤 4: 使用标签控制优先级
仅限内部查询会跳过 Scavio。公共研究查询跳过知识库。
// Prompt pattern
[internal]: only search Confluence
[public]: only search Scavio
[any]: search both步骤 5: 使用测试提示进行验证
测试联合搜索是否返回混合结果。
> [any] What is our pricing compared to competitors?Python 示例
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
def federated(query, internal_first=True):
# internal search stub
internal = search_confluence(query) if internal_first else []
if len(internal) >= 3: return internal
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': query})
return internal + r.json().get('organic_results', [])[:5]
def search_confluence(q):
return [] # wire your own Confluence API client
print(federated('quarterly roadmap'))JavaScript 示例
const API_KEY = process.env.SCAVIO_API_KEY;
export async function federated(query) {
const internal = await searchConfluence(query);
if (internal.length >= 3) return internal;
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query })
});
const d = await r.json();
return [...internal, ...(d.organic_results || []).slice(0, 5)];
}
async function searchConfluence(q) { return []; }预期输出
Claude Code answers cite both Confluence pages and external sources inline. Internal hits prioritized, external fills gaps.