Aperçu
L'agent d'arrière-plan de Cursor génère du code à partir de données d'entraînement obsolètes. Ce flux de travail ajoute une recherche web basée sur MCP pour que l'agent puisse vérifier les versions de packages, consulter la documentation API actuelle et confirmer les signatures de fonctions de bibliothèques avant d'écrire du code. Réduit le taux de suggestions d'API obsolètes et de références de versions erronées.
Déclencheur
Automatique lors de l'appel à l'outil de recherche de l'agent Cursor
Planification
Automatique lors des appels de recherche de l'agent
Étapes du workflow
Configurer le serveur MCP
Ajoutez le serveur de recherche MCP à .cursor/mcp.json avec votre clé API. Cursor découvre et expose automatiquement l'outil de recherche à l'agent.
L'agent détecte un manque de connaissances
Lors de la génération de code, l'agent reconnaît quand il a besoin d'informations actuelles : versions de packages, points de terminaison API ou signatures de bibliothèques.
Rechercher la documentation à jour
L'agent appelle l'outil de recherche MCP avec une requête ciblée comme 'react-router v7 useNavigate API' pour obtenir la documentation à jour.
Vérifier et appliquer
L'agent croise les résultats de recherche avec ses données d'entraînement, en privilégiant la documentation à jour en cas de conflit.
Implémentation Python
# .cursor/mcp.json configuration
# {
# "mcpServers": {
# "search": {
# "url": "https://mcp.scavio.dev/mcp",
# "headers": { "x-api-key": "your-key" }
# }
# }
# }
# The agent uses the MCP tool automatically. Here's how the search works internally:
import requests, os
H = {"x-api-key": os.environ["SCAVIO_API_KEY"], "Content-Type": "application/json"}
def verify_package_version(package_name, language="python"):
"""Check current package version before installing."""
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google",
"query": f"{package_name} latest version {language} 2026"}).json()
for o in r.get("organic", [])[:3]:
snippet = o.get("snippet", "")
if "version" in snippet.lower() or "v" in snippet.lower():
return {"package": package_name, "source": o.get("title", ""),
"snippet": snippet[:150]}
return {"package": package_name, "source": "not found", "snippet": ""}
info = verify_package_version("langchain")
print(f"{info['package']}: {info['snippet']}")Implémentation JavaScript
// .cursor/mcp.json
// {
// "mcpServers": {
// "search": {
// "url": "https://mcp.scavio.dev/mcp",
// "headers": { "x-api-key": "your-key" }
// }
// }
// }
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function verifyPackageVersion(packageName, language = "javascript") {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google",
query: `${packageName} latest version ${language} 2026`})
}).then(r => r.json());
for (const o of (r.organic || []).slice(0, 3)) {
const snippet = o.snippet || "";
if (snippet.toLowerCase().includes("version") || snippet.includes("v")) {
return {package: packageName, source: o.title || "", snippet: snippet.slice(0, 150)};
}
}
return {package: packageName, source: "not found", snippet: ""};
}
verifyPackageVersion("next").then(i =>
console.log(`${i.package}: ${i.snippet}`)
);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA