Files
microsoft--semantic-kernel/python/tests/integration/mcp/test_mcp_integration.py
T
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

37 lines
1.2 KiB
Python

# Copyright (c) Microsoft. All rights reserved.
import os
from typing import TYPE_CHECKING
from semantic_kernel.connectors.mcp import MCPStdioPlugin
from semantic_kernel.functions.kernel_arguments import KernelArguments
if TYPE_CHECKING:
from semantic_kernel import Kernel
async def test_from_mcp(kernel: "Kernel"):
mcp_server_path = os.path.join(
os.path.dirname(__file__), "../../assets/test_plugins", "TestMCPPlugin", "mcp_server.py"
)
async with MCPStdioPlugin(
name="TestMCPPlugin",
command="python",
args=[mcp_server_path],
) as plugin:
assert plugin is not None
assert plugin.name == "TestMCPPlugin"
loaded_plugin = kernel.add_plugin(plugin)
assert loaded_plugin is not None
assert loaded_plugin.name == "TestMCPPlugin"
assert len(loaded_plugin.functions) == 2
result = await loaded_plugin.functions["echo_tool"].invoke(kernel, arguments=KernelArguments(message="test"))
assert "Tool echo: test" in result.value[0].text
result = await loaded_plugin.functions["echo_prompt"].invoke(kernel, arguments=KernelArguments(message="test"))
assert "test" in result.value[0].content