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 服务构建 AI Agent,面向开发者。内容涵盖插件、提示词、记忆及通信方式,README 未说明它具体向 MCP 客户端公开哪些工具。

主要功能

  1. 01介绍 Semantic Kernel 核心组件
  2. 02说明插件与提示词模板
  3. 03讲解记忆和任务编排
  4. 04对比 Semantic Kernel 与 MCP
  5. 05说明 SSE 和 stdio 通信方式

适用场景

  1. 01了解如何将 MCP 服务用于 Semantic Kernel Agent
  2. 02规划 Agent 的插件、记忆与提示词结构
  3. 03选择 MCP 工具连接的通信方式

MCP 相关

该项目围绕在 Python Semantic Kernel 中使用 MCP 服务展开,说明了 MCP 的工具接口及 SSE、stdio 通信方式。README 未描述具体对外提供的 MCP 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-with-semantic-kernel

使用 Python 通过模型上下文协议(MCP)插件构建 Semantic Kernel Agent

在 Python 中将 MCP 服务与 Semantic Kernel 配合使用

什么是 Semantic Kernel?

Semantic Kernel(SK)是 Microsoft 创建的开源工具包,可帮助开发者构建强大的 AI Agent 和应用,让它们能够交流、思考并采取行动。

可以这样理解:

假设你正在构建一个机器人助手。它可以:

  1. 使用 ChatGPT 或其他 AI 模型进行交流(例如提问或回答)
  2. 执行任务,例如查看日历、发送电子邮件或总结文档
  3. 记住以前做过或见过的事情
  4. 学习并遵循你教给它的工作流

SK 就是这个助手的大脑。它将语言部分(如 ChatGPT)与工具和记忆部分(日历、文件、API 等)连接起来。


SK 的核心组成部分

概念入门说明
Kernel负责连接所有部分的核心。它与 AI 模型交互并运行你的指令。
插件 / 技能类似于助手的应用。例如日历插件或电子邮件插件。
提示词模板预先编写的指令,用来告诉 AI 如何行动。你提供一些变量,它会补全其余内容。例如:“总结以下内容:{{text}}。”
记忆让助手能够“记住”过去的事情,例如以前的对话或数据。
规划器 / 编排器如果助手需要执行 5 个步骤才能完成某件事(例如规划旅行),这一部分会确定这些步骤。
简单示例

假设你正在使用 Semantic Kernel 构建一个“会议助手”:

  • 为它提供一个名为 CalendarSkill 的插件,该插件知道如何读取和创建日历事件
  • 编写一条提示词:“安排一次与 John 的 30 分钟会议,时间在下周内。”
  • Semantic Kernel 会接收你的提示词,将其发送给 AI(如 ChatGPT),判断意图(“创建事件”),然后运行插件来完成操作

因此,SK = AI(理解语言)+ 工具(执行操作)+ 记忆(记住内容)

Semantic Kernel(SK)与模型上下文协议(MCP)的对比

特性Semantic Kernel(SK)模型上下文协议(MCP)
定义用于构建智能 AI Agent 的工具包 / 框架用于向大模型提供工具的标准 / 协议
创建者Microsoft开放标准(受 OpenAI 工具调用、Claude 工具使用等工具启发)
主要作用让你将 AI 模型与记忆、工具和提示词连接起来让 AI Agent 通过通用格式与工具交互
可以理解为AI Agent 的大脑 + 逻辑 + 应用商店让工具能够与任何 AI Agent 配合使用的接口 / 插头
是否具有记忆?是,SK 可以存储和回忆内容(例如向量记忆)否,它本身不处理记忆
工具使用你在代码中定义并加载“技能”(函数 / 工具)工具以 MCP 服务的形式提供,任何 Agent 都可以连接
语言侧重Python / C# SDK与语言无关(侧重格式,而非实现方式)
复杂度更高层的抽象(类似完整工具包)更底层的协议(类似线缆格式或规范)

通信方式

1. 服务器发送事件(SSE)

简而言之: SSE 是一种让服务器通过网络向你的应用发送实时更新的方式。

可以这样理解: 你在咖啡店点了一杯咖啡。你把订单交给咖啡师(一个请求),然后不必一直去查看,只需坐下来放松。饮品准备好后,他们会叫你的名字。

工作原理:

  • 客户端发送一次请求
  • 服务器保持连接打开
  • 有数据时,服务器会以流的形式发送
  • 客户端实时接收更新

在 MCP 或 AI 应用中: AI 工具通过 MCP 与工具服务交互时,服务可能会逐步流式传输结果,例如部分答案、令牌或日志。

2. 标准输入/输出(stdio)

简而言之: stdio 是计算机上的命令行工具读取输入和写入输出的方式。

工作原理:

  • stdin:你向程序输入或发送数据
  • stdout:程序输出结果
  • stderr:错误会输出到这里(这样就不会与正常输出混在一起)

在 MCP 中: MCP 服务可以作为命令行程序运行。Agent 通过以下方式与它们交互:

  • 将 JSON 输入写入 stdin
  • 从 stdout 读取工具的响应

通信方式对比

特性SSEstdio
类型Web 协议本地程序通信
用途从服务流式传输实时数据与命令行工具或子进程交互
Agent 用法MCP 工具作为 Web 服务运行时MCP 工具是本地进程时
连接客户端保持 HTTP 连接处于打开状态输入/输出管道(如运行脚本)
示例实时聊天、从 LLM 流式传输令牌读取提示词并输出答案的 Shell 脚本
在 AI 工具中(如 MCP):
  • 如果工具部署在 Web 服务器上 → 使用 SSE 流式传输响应
  • 如果工具是本地二进制文件/脚本 → 使用 stdio 发送/接收数据

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。