Aracılığıyla paylaş


MCP Sunucusundan eklenti ekleme

MCP Model Bağlam Protokolüdür, yapay zeka uygulamalarına kolayca ek özellikler eklenmesine olanak sağlamak için tasarlanmış açık bir protokoldür. Daha fazla bilgi için belgelere bakın. Semantik Çekirdek, bir MCP Sunucusundan aracılarınıza eklentiler eklemenize olanak tanır. Bu, MCP Sunucusu olarak kullanılabilir hale gelen eklentileri kullanmak istediğinizde kullanışlıdır.

Semantik Çekirdek hem Stdio aracılığıyla yerel MCP Sunucularını hem de HTTPS üzerinden SSE üzerinden bağlanan sunucuları destekler.

Yerel bir MCP Sunucusundan eklenti ekleme

Yerel olarak çalışan bir MCP sunucusu eklemek için , veya npxgibi dockeruvx tanıdık MCP komutlarını kullanabilirsiniz, bu nedenle bunlardan birini çalıştırmak istiyorsanız, bunların yüklü olduğundan emin olun.

Örneğin, claude desktop yapılandırmanıza veya vscode settings.jsonbaktığınızda şuna benzer bir şey görürsünüz:

{
    "mcpServers": {
        "github": {
           "command": "docker",
           "args": [
                 "run",
                 "-i",
                 "--rm",
                 "-e",
                 "GITHUB_PERSONAL_ACCESS_TOKEN",
                 "ghcr.io/github/github-mcp-server"
           ],
           "env": {
                 "GITHUB_PERSONAL_ACCESS_TOKEN": "..."
           }
        }
    }
}

Aynı eklentiyi çekirdeğiniz veya aracınız için kullanılabilir hale getirmek için şunları yaparsınız:

Uyarı

Örneğin, Anlam Çekirdeği'ni mcp ilavesiyle yüklediğinizden emin olun.

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

SSE tabanlı bir MCP sunucusu yalnızca URL'ye ihtiyaç duyduğundan daha da basittir:

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

Her iki durumda da bağlantıyı kurmak ve kapatmak için zaman uyumsuz bağlam yöneticisi kullanılır. Bunu el ile de yapabilirsiniz.

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()

Tüm MCP eklentilerinin ek seçenekleri vardır:

  • load_tools: McP sunucusundan araçları yükleyip yüklememek, kullanılabilir araç olmadığını bildiğinizde bu kullanışlıdır; varsayılan değer True'dur.
  • load_prompts: İstemleri MCP sunucusundan yükleyip yüklememek, kullanılabilir istem olmadığını bildiğinizde bu kullanışlıdır; varsayılan değer True'dur. Ayrıca, istem yokken yükleme çağrısının askıda kaldığı durumlar duyduk, bu nedenle mevcut istem olmadığını biliyorsanız bu seçeneği False olarak ayarlamak iyi olabilir.
  • request_timeout: MCP sunucusuna yapılan isteklerin zaman aşımı, sunucunun bazen yanıt vermediğini bildiğinizde ve uygulamanızın yanıt vermemesini istediğinizde kullanışlıdır.

Uyarı

.Net için MCP Belgeleri yakında kullanıma sunulacaktır.

Uyarı

JAVA için MCP Belgeleri yakında kullanıma sunulacaktır.