Les agents de codage comme Claude Code, Cursor et OpenCode sont plus efficaces lorsqu'ils peuvent rechercher sur le web la documentation actuelle, les références API et les solutions d'erreur. Sans recherche web, ils se basent sur des données d'entraînement qui peuvent être obsolètes pour les bibliothèques en évolution rapide. Ce tutoriel ajoute la recherche de Scavio via MCP pour les agents basés sur IDE et via l'API REST pour les agents personnalisés.
Prérequis
- Un agent de codage (Claude Code, Cursor ou personnalisé)
- Une clé API Scavio depuis scavio.dev
Parcours
Étape 1: Configurer MCP pour Claude Code
Ajouter le serveur MCP de Scavio à la configuration du projet de Claude Code.
// .claude/mcp.json (project-level config):
{
"mcpServers": {
"scavio": {
"url": "https://mcp.scavio.dev/mcp",
"headers": {
"x-api-key": "your_scavio_api_key"
}
}
}
}Étape 2: Configurer MCP pour Cursor
Ajouter Scavio à la configuration MCP de Cursor.
// .cursor/mcp.json:
{
"mcpServers": {
"scavio": {
"url": "https://mcp.scavio.dev/mcp",
"headers": {
"x-api-key": "your_scavio_api_key"
}
}
}
}Étape 3: Pour les agents de codage personnalisés, ajouter un outil de recherche
Si vous construisez un agent de codage personnalisé, ajoutez une fonction de recherche en tant qu'outil.
import requests, os
def web_search(query: str) -> str:
"""Search the web for documentation, API references, and error solutions."""
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'google', 'query': query}, timeout=10)
results = resp.json().get('organic', [])[:5]
return '\n'.join(f'{r["title"]}: {r["snippet"]} ({r["link"]})' for r in results)Étape 4: Tester avec des requêtes de codage courantes
Vérifier que la recherche fonctionne pour les requêtes typiques d'un agent de codage.
# Test queries:
print(web_search('Next.js 15 app router migration guide'))
print(web_search('Python requests timeout error handling'))
print(web_search('React useEffect cleanup function'))Exemple Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def search_docs(query):
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': query}, timeout=10).json()
return [(r['title'], r['link']) for r in data.get('organic', [])[:5]]Exemple JavaScript
async function searchDocs(query) {
const data = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({platform: 'google', query})
}).then(r => r.json());
return (data.organic || []).slice(0, 5).map(r => ({title: r.title, url: r.link}));
}Sortie attendue
A coding agent with live web search for documentation, API references, and error solutions via MCP or REST API.