Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az MCP a Model Context Protocol, amely egy nyílt protokoll, amely lehetővé teszi további képességek hozzáadását az AI-alkalmazásokhoz könnyedén, további információkért tekintse meg a dokumentációt . A Szemantic Kernel lehetővé teszi beépülő modulok hozzáadását egy MCP-kiszolgálóról az ügynökökhöz. Ez akkor hasznos, ha MCP-kiszolgálóként elérhető beépülő modulokat szeretne használni.
A Szemantic Kernel több MCP beépülő modultípust is támogat, beleértve az MCPStdioPlugin és az MCPStreamableHttpPlugin beépülő modult. Ezek a beépülő modulok lehetővé teszik a kapcsolatot a helyi MCP-kiszolgálókhoz és a HTTPS-en keresztül csatlakozó kiszolgálókhoz.
Beépülő modulok hozzáadása helyi MCP-kiszolgálóról
Helyileg futó MCP-kiszolgáló hozzáadásához használhatja a jól ismert MCP-parancsokat, például npx, docker vagy uvx, ezért ha ezek egyikét szeretné futtatni, győződjön meg arról, hogy telepítve vannak.
Ha például a claude desktop konfigurációját vagy a vscode settings.jsonvizsgálja meg, az alábbihoz hasonlót fog látni:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "..."
}
}
}
}
Annak érdekében, hogy ugyanazt a beépülő modult elérhetővé tegye a kernel vagy az ügynök számára, a következőt kell tennie:
Megjegyzés:
Győződjön meg arról, hogy telepíti a Szemantic Kernelt a mcp kiegészítővel, például:
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
Az SSE-alapú MCP-kiszolgáló még egyszerűbb, mivel csak az URL-címre van szüksége:
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
Mindkét esetben az aszinkron környezetkezelőt használja a kapcsolat beállításához és bezárásához, ezt manuálisan is megteheti:
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()
Az összes MCP plugin további opciókat kínál.
-
load_tools: Függetlenül attól, hogy az MCP-kiszolgálóról szeretné-e betölteni az eszközöket, ez akkor hasznos, ha tudja, hogy nincsenek elérhető eszközök, az alapértelmezett érték igaz. -
load_prompts: Függetlenül attól, hogy az MCP-kiszolgálóról szeretné-e betölteni az utasításokat, ez akkor hasznos, ha tudja, hogy nincsenek elérhető kérések, az alapértelmezett érték Igaz. Olyan eseteket is hallottunk, amikor a betöltésre irányuló hívás lefagy, ha nincsenek utasítások, tehát ez egy jó lehetőség, hogyFalse-ra állítsa, ha biztos abban, hogy nincsenek elérhető utasítások. -
request_timeout: Az MCP-kiszolgálónak küldött kérések időtúllépése, ez akkor hasznos, ha tudja, hogy a kiszolgáló néha nem válaszol, és nem szeretné, hogy az alkalmazás lefagyjon.
Megjegyzés:
Az MCP dokumentációja hamarosan elérhető a .Net-hez.
Megjegyzés:
Az MCP dokumentációja hamarosan elérhető a Java számára.