Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
MCP est le protocole de contexte de modèle, il s’agit d’un protocole ouvert conçu pour permettre l’ajout de fonctionnalités supplémentaires aux applications IA avec facilité, consultez la documentation pour plus d’informations. Le noyau sémantique vous permet d’ajouter des plug-ins d’un serveur MCP à vos agents. Cela est utile lorsque vous souhaitez utiliser des plug-ins mis à disposition en tant que serveur MCP.
Le noyau sémantique prend en charge les serveurs MCP locaux, via Stdio ou les serveurs qui se connectent via SSE via HTTPS.
Ajouter des plug-ins à partir d’un serveur MCP local
Pour ajouter un serveur MCP en cours d’exécution locale, vous pouvez utiliser les commandes MCP familières, telles que npx
, docker
ou uvx
, par conséquent, si vous souhaitez exécuter l’un de ces serveurs, vérifiez que celles-ci sont installées.
Par exemple, lorsque vous examinez votre configuration de bureau claude, ou le vscode settings.json, vous verrez quelque chose comme suit :
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "..."
}
}
}
}
Pour rendre le même plug-in disponible pour votre noyau ou agent, procédez comme suit :
Remarque
Veillez à installer le noyau sémantique avec l’élément mcp
supplémentaire, par exemple :
pip install semantic-kernel[mcp]
import os
from semantic_kernel import Kernel
from semantic_kernel.connectors.mcp import MCPStdioPlugin
async def main():
async with MCPStdioPlugin(
name="Github",
description="Github Plugin",
command="docker",
args=["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
env={"GITHUB_PERSONAL_ACCESS_TOKEN": os.getenv("GITHUB_PERSONAL_ACCESS_TOKEN")},
) as github_plugin:
kernel = Kernel()
kernel.add_plugin(github_plugin)
# Do something with the kernel
Un serveur MCP basé sur SSE est encore plus simple, car il a simplement besoin de l’URL :
import os
from semantic_kernel import Kernel
from semantic_kernel.connectors.mcp import MCPSsePlugin
async def main():
async with MCPSsePlugin(
name="Github",
description="Github Plugin",
url="http://localhost:8080",
) as github_plugin:
kernel = Kernel()
kernel.add_plugin(github_plugin)
# Do something with the kernel
Dans les deux cas, le gestionnaire de contexte asynchrone est utilisé pour configurer la connexion et le fermer, vous pouvez également effectuer cette opération manuellement :
import os
from semantic_kernel import Kernel
from semantic_kernel.connectors.mcp import MCPSsePlugin
async def main():
plugin = MCPSsePlugin(
name="Github",
description="Github Plugin",
url="http://localhost:8080",
)
await plugin.connect()
kernel = Kernel()
kernel.add_plugin(github_plugin)
# Do something with the kernel
await plugin.close()
Tous les plug-ins MCP ont des options supplémentaires :
-
load_tools
: indique si vous souhaitez charger les outils à partir du serveur MCP, cela est utile lorsque vous savez qu’aucun outil n’est disponible, la valeur par défaut est True. -
load_prompts
: Indique si vous souhaitez charger les invites à partir du serveur MCP, cela est utile lorsque vous savez qu’aucune invite n’est disponible, la valeur par défaut est True. Nous avons également entendu des cas où l’appel aux invites de chargement se bloque lorsqu’il n’y a pas d’invites. Il s’agit donc d’une bonne option à définirFalse
si vous savez qu’aucune invite n’est disponible. -
request_timeout
: délai d’expiration des demandes adressées au serveur MCP, cela est utile lorsque vous savez que le serveur ne répond pas et que vous ne souhaitez pas que votre application se bloque.
Remarque
La documentation MCP sera bientôt disponible pour .Net.
Remarque
La documentation MCP sera bientôt disponible pour Java.