关于 MCP Server Sample
MCP Server Sample 是用 .NET 和 TypeScript 编写的 MCP 示例,用于管理员工休假余额。它展示 SSE 与标准输入输出传输,并包含服务器及客户端实现。
主要功能
- 01查询和更新休假余额
- 02SSE 传输示例
- 03标准输入输出传输示例
- 04提供 .NET 与 TypeScript 版本
适用场景
- 01查询员工剩余休假天数
- 02记录员工已使用的休假天数
MCP 相关
通过 MCP 工具向客户端开放员工休假余额的查询与更新能力;示例涵盖 SSE 和标准输入输出传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务示例
此项目演示了一个用于管理员工休假天数的 .NET Model Context Protocol(MCP)服务和客户端实现。它提供后端服务,用于跟踪、查询和更新员工的休假余额,并通过 MCP 工具提供这些功能。
组件
- SSE 文件夹包含使用 HTTP Streaming / SEE 传输层的 Model Context Protocol(MCP)客户端-服务实现。该解决方案基于 .NET Aspire,包含一个服务(基于 ASP.NET Core)和一个客户端(使用 Blazor 和 Semantic Kernel 构建的 Web 应用)。
- Stdio 文件夹包含使用标准输入/输出传输层的 Model Context Protocol(MCP)客户端-服务实现。服务以控制台应用的形式实现。
文档
此示例通过一系列博客文章进行说明:
- 在 Agent 中使用 Model Context Protocol - 简介
- 在 Agent 中使用 Model Context Protocol - Copilot Studio
- 在 Agent 中使用 Model Context Protocol - 使用 Semantic Kernel 构建专业代码 Agent
开始使用
此代码库包含两个相同示例的版本:一个使用 C# 和 .NET 构建,另一个使用 TypeScript 构建。
要运行 .NET 示例,需要安装以下先决条件:
要运行 TypeScript 示例,需要安装以下先决条件:
无论使用哪种语言,都需要安装以下先决条件:
运行 stdio 示例
运行 .NET 示例
- 点击应用栏中的按钮,或打开命令面板(Ctrl+Shift+P)并选择 Azurite: Start Table Service,启动 Azurite Table 服务模拟器。
- 使用以下配置连接任意客户端应用(Visual Studio Code、AI Toolkit 或自定义应用):
- 命令:
dotnet - 参数:
run --project src/csharp/Stdio/MCP.Stdio.Server/MCP.Stdio.Server.csproj
运行 TypeScript 示例
- 点击应用栏中的按钮,或打开命令面板(Ctrl+Shift+P)并选择 Azurite: Start Table Service,启动 Azurite Table 服务模拟器。
- 使用以下配置连接任意客户端应用(Visual Studio Code、AI Toolkit 或自定义应用):
- 命令:
node - 参数:
/src/ts/stdio/server/dist/app.js
使用前,请运行以下命令编译 TypeScript 代码:
cd src/ts/stdio/server
npm run build
运行 SSE 示例
要运行 SSE 示例,请按照以下步骤操作:
-
将代码库克隆到本地计算机。
-
打开
SSE文件夹中MCP.SSE.AppHost项目内的appsettings.json文件,并按照以下格式更新openAiConnectionName属性,填入 Azure OpenAI 连接字符串:"openAiConnectionName": "Endpoint=https://<your-endpoint>.openai.azure.com/;Key=<your-key>" -
点击应用程序栏中的按钮,或打开命令面板(Ctrl+Shift+P)并选择 Azurite: Start Table Service,启动 Azurite Table 服务模拟器。
-
使用以下命令运行
MCP.SSE.AppHost项目:dotnet run --project MCP.SSE.AppHost/MCP.SSE.AppHost.csproj -
项目启动后,浏览器会自动打开一个新的窗口,显示 Aspire 仪表板。
-
打开一个新的浏览器标签页,并访问以下 URL:
http://localhost:5291/ -
现在,你可以使用 Blazor 应用程序向大模型发送提示词。你可以使用以下任一提示词来触发 MCP 工具的使用:
"Give me a list of the employees and their vacation days left" "Charge 5 vacation days to Alice Johnson""
运行 Teams AI 库示例
Teams AI 库示例已注册为 Aspire 解决方案的一部分。不过,在使用之前,你必须按照以下步骤操作:
- 打开
SSE文件夹中的 ttk2-agent 项目 - 将 .
env.example文件重命名为.env - 打开该文件,并更新变量,填入 Azure OpenAI 服务的正确值:
AZURE_OPENAI_API_KEY:Azure OpenAI 服务的密钥AZURE_OPENAI_ENDPOINT:Azure OpenAI 服务的终结点AZURE_OPENAI_API_VERSION:API 版本(请注意,这与模型版本不同。你可以在 Azure OpenAI 门户中找到此值)AZURE_OPENAI_MODEL_DEPLOYMENT_NAME:Azure OpenAI 中模型部署的名称
Aspire 仪表板启动并运行后,你会看到 **ttk2-agent **项目有两个终结点:

你可以使用端口号较大的终结点,并在其后添加 /devtools 路径,访问 Agent 的测试工具。
例如,在上图中,URL 为:
http://localhost:54251/devtools/
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。