En 2026, les workflows d'agents d'entreprise nécessitent une recherche unifiée à travers les documents internes (Confluence, SharePoint, Notion) et le web externe. Ce tutoriel enregistre Scavio MCP aux côtés de votre KB MCP interne afin que Claude Code exécute une recherche fédérée à partir d'une seule invite.
Prérequis
- Claude Code dernière version
- Une clé API Scavio
- Votre KB MCP d'entreprise (par ex. @confluence/mcp, @notion/mcp)
- Node.js 20+
Parcours
Étape 1: Installer les deux MCP
Scavio plus votre KB MCP.
npm install -g @scavio/mcp @confluence/mcpÉtape 2: Enregistrer les deux dans .mcp.json
Claude Code découvre les outils de tous les serveurs enregistrés.
{
"mcpServers": {
"scavio": { "command": "scavio-mcp", "env": { "SCAVIO_API_KEY": "..." } },
"confluence": { "command": "confluence-mcp", "env": { "CONFLUENCE_TOKEN": "..." } }
}
}Étape 3: Écrire une compétence de recherche fédérée
Claude Code recherche d'abord dans la KB, puis bascule vers 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.Étape 4: Contrôler la précédence avec des balises
Les requêtes internes uniquement ignorent Scavio. Les requêtes de recherche publique ignorent la KB.
// Prompt pattern
[internal]: only search Confluence
[public]: only search Scavio
[any]: search bothÉtape 5: Vérifier avec une invite de test
Tester que la recherche fédérée renvoie des résultats mélangés.
> [any] What is our pricing compared to competitors?Exemple 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'))Exemple 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 []; }Sortie attendue
Claude Code answers cite both Confluence pages and external sources inline. Internal hits prioritized, external fills gaps.