Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
MCP to protokół kontekstowy modelu. Jest to otwarty protokół, który umożliwia łatwe dodawanie dodatkowych funkcji do aplikacji sztucznej inteligencji. Aby uzyskać więcej informacji, zobacz dokumentację . Semantyczne jądro umożliwia dodawanie wtyczek z serwera MCP do agentów. Jest to przydatne, gdy chcesz użyć wtyczek udostępnianych jako serwer MCP.
Semantyczne jądro obsługuje zarówno lokalne serwery MCP, za pośrednictwem stdio, jak i serwery łączące się za pomocą protokołu SSE przez HTTPS.
Dodawanie wtyczek z lokalnego serwera MCP
Aby dodać lokalnie uruchomiony serwer MCP, możesz użyć znanych poleceń MCP, takich jak npx
, docker
lub uvx
, więc jeśli chcesz uruchomić jeden z nich, upewnij się, że zostały zainstalowane.
Na przykład, gdy zajrzysz do konfiguracji pulpitu Claude lub VSCode settings.json, zobaczysz coś takiego:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "..."
}
}
}
}
Aby udostępnić tę samą wtyczkę dla jądra lub agenta, wykonaj następujące czynności:
Uwaga
Pamiętaj, aby zainstalować jądro semantyczne z dodatkiem mcp
, na przykład:
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
Serwer MCP oparty na protokole SSE jest jeszcze prostszy, ponieważ wymaga tylko adresu 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
W obu przypadkach menedżer kontekstu asynchronicznego służy do konfigurowania połączenia i zamykania go, można również wykonać to ręcznie:
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()
Wszystkie wtyczki MCP mają dodatkowe opcje:
-
load_tools
: Niezależnie od tego, czy należy załadować narzędzia z serwera MCP, jest to przydatne, jeśli wiesz, że nie ma dostępnych narzędzi, wartość domyślna to True. -
load_prompts
: Czy załadować komunikaty z serwera MCP, jest to przydatne, jeśli wiesz, że nie ma dostępnych komunikatów; domyślnie ustawione na True. Słyszeliśmy również przypadki, w których wywołanie ładowania monitów zawiesza się, gdy nie ma żadnych monitów, więc jest to dobra opcja, aby ustawić wartośćFalse
, jeśli wiesz, że nie ma dostępnych monitów. -
request_timeout
: limit czasu dla żądań do serwera MCP, jest to przydatne, gdy wiesz, że serwer czasami nie odpowiada i nie chcesz, aby aplikacja zawieszała się.
Uwaga
Dokumentacja mcp jest dostępna wkrótce dla platformy .Net.
Uwaga
Dokumentacja mcp jest dostępna wkrótce dla języka Java.