mcpField
M
mcp-server-with-semantic-kernel

mcp-server-with-semantic-kernel

ローカル
github.com/cnrishirajメモリ・ナレッジ174 週間前に更新

mcp-server-with-semantic-kernel について

mcp-server-with-semantic-kernel は、Python の Semantic Kernel エージェントで MCP サーバーを使う方法を扱う開発者向けプロジェクトです。プラグイン、プロンプト、メモリ、オーケストレーション、通信方式を解説しますが、公開するツールは明記されていません。

主な機能

  1. 01Semantic Kernel の基本要素の紹介
  2. 02プラグインとプロンプトテンプレートの解説
  3. 03メモリとタスクオーケストレーションの説明
  4. 04Semantic Kernel と MCP の比較
  5. 05SSE と stdio の通信方式の説明

活用シーン

  1. 01Semantic Kernel エージェントで MCP サーバーを使う方法の把握
  2. 02エージェントのプラグイン、メモリ、プロンプト構成の検討
  3. 03MCP ツールに使う通信方式の選択

MCP 対応

Python の Semantic Kernel で MCP サーバーを利用する方法を扱い、MCP のツールインターフェースと SSE、stdio の通信方式を説明します。クライアントに公開する MCP ツールは README に記載されていません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-with-semantic-kernel

Python で Model Context Protocol(MCP)プラグインを使って Semantic Kernel エージェントを構築する

Python で Semantic Kernel と MCP サーバーを使用する

Semantic Kernel とは?

Semantic Kernel(SK)は、Microsoft が作成したオープンソースのツールキットです。開発者が、会話し、考え、行動できる強力な AI エージェントやアプリを構築するのに役立ちます。

たとえば、次のように考えてみてください。

ロボットアシスタントを作っていると想像してみてください。このアシスタントは次のことができます。

  1. ChatGPT やほかの AI モデルを使って会話する(質問したり、回答したりするなど)
  2. カレンダーの確認、メールの送信、文書の要約などのタスクを実行する
  3. 過去に行ったことや見たことを記憶する
  4. 教えたワークフローを学び、それに従う

SK はこのアシスタントの頭脳です。言語を扱う部分(ChatGPT など)と、ツールやメモリーを扱う部分(カレンダー、ファイル、API など)をつなぎます。


SK の主要な構成要素

概念初心者向けの説明
カーネルすべてをつなぐ中心的な部分です。AI モデルと通信し、指示を実行します。
プラグイン/スキルアシスタント用のアプリのようなものです。たとえば、カレンダープラグインやメールプラグインがあります。
プロンプトテンプレートAI の振る舞いを指示する、あらかじめ作成された指示です。変数を渡すと、残りを補完します。たとえば、「これを要約してください:{{text}}」のようなものです。
メモリー過去の会話やデータなど、以前の情報をアシスタントに「記憶」させます。
プランナー/オーケストレーターアシスタントが何かを完了するために 5 つの手順を実行する必要がある場合(例:旅行の計画)、この部分が手順を考えます。
簡単な例

Semantic Kernel を使って「会議アシスタント」を作るとします。

  • カレンダーイベントの読み取りや作成方法を知っている CalendarSkill というプラグインを用意します
  • 「来週のどこかで、John との 30 分間の会議を予定してください」というプロンプトを作成します
  • Semantic Kernel はプロンプトを受け取り、AI(ChatGPT など)に送信し、意図(「イベントを作成する」)を判断してから、プラグインを実行します

つまり、SK = AI(言語を理解する)+ツール(操作を実行する)+メモリー(情報を記憶する)です

Semantic Kernel(SK)と Model Context Protocol(MCP)の比較

機能Semantic Kernel(SK)Model Context Protocol(MCP)
どのようなものかインテリジェントな AI エージェントを構築するためのツールキット/フレームワークLLM にツールを公開するための標準/プロトコル
作成者Microsoftオープン標準(OpenAI のツール呼び出しや Claude のツール使用などに着想を得ています)
主な役割AI モデルをメモリー、ツール、プロンプトに接続できますAI エージェントが共通の形式を使ってツールと通信できるようにします
たとえるならAI エージェントの頭脳+ロジック+アプリストアあらゆる AI エージェントがツールを使えるようにするインターフェース/プラグ
メモリー機能はい。SK は情報(例:ベクトルメモリー)を保存し、呼び出すことができますいいえ。メモリー自体は扱いません
ツールの使用方法コード内で「スキル」(関数/ツール)を定義して読み込みますツールは MCP サーバーとして公開され、あらゆるエージェントが接続できます
言語への対応Python/C# SDK言語に依存しません(実装ではなく形式に重点を置いています)
複雑さより高レベルの抽象化(フル機能のツールキットのようなもの)より低レベルのプロトコル(ワイヤーフォーマットや仕様のようなもの)

通信方式

1. Server-Sent Events(SSE)

要約: SSE は、サーバーがウェブ経由でアプリにリアルタイムの更新を送信する方法です。

たとえるなら: コーヒーショップにいるとします。バリスタに注文(リクエスト)を伝えたら、何度も確認しに行く代わりに、席でくつろいで待ちます。飲み物ができると、名前を呼んでくれます。

仕組み:

  • クライアントが一度だけリクエストを送信します
  • サーバーはその接続を開いたままにします
  • データがあるたびに、サーバーはストリームとして送信します
  • クライアントはリアルタイムで更新を受け取ります

MCP や AI アプリでは: AI ツールが(MCP 経由で)ツールサーバーと通信するとき、サーバーは結果を少しずつストリーミングする場合があります。たとえば、部分的な回答、トークン、ログなどです。

2. 標準入力/出力(stdio)

要約: stdio は、コンピューターのコマンドラインツールが入力を読み取り、出力を書き込む方法です。

仕組み:

  • stdin:プログラムにデータを入力または送信します
  • stdout:プログラムが結果を出力します
  • stderr:エラーはこちらに出力されます(通常の出力と混ざらないようにします)

MCP では: MCP サーバーはコマンドラインプログラムとして実行できます。エージェントは次のようにしてサーバーと通信します。

  • JSON 入力を stdin に書き込む
  • stdout からツールの応答を読み取る

通信方法の比較

特徴SSEstdio
種類ウェブプロトコルローカルプログラム間の通信
用途サーバーからのリアルタイムデータのストリーミングコマンドラインツールやサブプロセスとの通信
エージェントでの利用MCP ツールがウェブサーバーとして実行されている場合MCP ツールがローカルプロセスの場合
接続クライアントがライブ HTTP 接続を開いたままにします入出力パイプ(スクリプトを実行する場合など)
例ライブチャット、LLM からのトークンのストリーミングプロンプトを読み込んで回答を出力するシェルスクリプト
AI ツール(MCP など)では:
  • ツールをウェブサーバーにデプロイする場合 → SSE を使って応答をストリーミングします
  • ツールがローカルのバイナリ/スクリプトの場合 → stdio を使ってデータを送受信します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。