Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
MCP é o Protocolo de Contexto de Modelo, é um protocolo aberto que foi projetado para permitir que recursos adicionais sejam adicionados a aplicativos de IA com facilidade, consulte a documentação para obter mais informações. O Kernel Semântico permite que você adicione plug-ins de um servidor MCP aos seus agentes. Isso é útil quando você deseja usar plug-ins que são disponibilizados como um servidor MCP.
O Kernel Semântico dá suporte a servidores MCP locais, por meio de Stdio ou servidores que se conectam por meio da SSE via HTTPS.
Adicionar plug-ins de um servidor MCP local
Para adicionar um servidor MCP em execução localmente, você pode usar os comandos MCP familiares, como npx
, docker
ou uvx
, portanto, se você quiser executar um deles, verifique se eles estão instalados.
Por exemplo, quando você olha para a configuração de desktop do Claude, ou o settings.jsondo vscode, verá algo assim:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "..."
}
}
}
}
Para disponibilizar o mesmo plug-in para seu kernel ou agente, você faria isso:
Observação
Garanta que o Kernel Semântico esteja instalado com a opção extra mcp
, como no seguinte exemplo:
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
Um servidor MCP baseado em SSE é ainda mais simples, pois ele só precisa da 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
Em ambos os casos, o gerenciador de contexto assíncrono é usado para configurar a conexão e fechá-la, você também pode fazer isso manualmente:
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()
Todos os plug-ins do MCP têm opções adicionais:
-
load_tools
: independentemente de carregar ou não as ferramentas do servidor MCP, isso é útil quando você sabe que não há ferramentas disponíveis, o padrão é True. -
load_prompts
: se você deve ou não carregar os prompts do servidor MCP, isso é útil quando você sabe que não há prompts disponíveis, o padrão é True. Também ouvimos casos em que a chamada para carregar prompts fica pendente quando não há prompts, portanto, essa é uma boa opção para definir comoFalse
se você sabe que não há prompts disponíveis. -
request_timeout
: o tempo limite para as solicitações para o servidor MCP, isso é útil quando você sabe que o servidor às vezes não está respondendo e você não quer que seu aplicativo seja travado.
Observação
A Documentação do MCP estará disponível em breve para .Net.
Observação
A Documentação do MCP estará disponível em breve para Java.