mcpField
M
MCP Server Sample

MCP Server Sample

本地服务
developerscantina.com开发工具1471 周前更新

关于 MCP Server Sample

MCP Server Sample 是用 .NET 和 TypeScript 编写的 MCP 示例,用于管理员工休假余额。它展示 SSE 与标准输入输出传输,并包含服务器及客户端实现。

主要功能

  1. 01查询和更新休假余额
  2. 02SSE 传输示例
  3. 03标准输入输出传输示例
  4. 04提供 .NET 与 TypeScript 版本

适用场景

  1. 01查询员工剩余休假天数
  2. 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)客户端-服务实现。服务以控制台应用的形式实现。

文档

此示例通过一系列博客文章进行说明:

开始使用

此代码库包含两个相同示例的版本:一个使用 C# 和 .NET 构建,另一个使用 TypeScript 构建。

要运行 .NET 示例,需要安装以下先决条件:

要运行 TypeScript 示例,需要安装以下先决条件:

无论使用哪种语言,都需要安装以下先决条件:

运行 stdio 示例

运行 .NET 示例
  1. 点击应用栏中的按钮,或打开命令面板(Ctrl+Shift+P)并选择 Azurite: Start Table Service,启动 Azurite Table 服务模拟器。
  2. 使用以下配置连接任意客户端应用(Visual Studio Code、AI Toolkit 或自定义应用):
  • 命令:dotnet
  • 参数:run --project src/csharp/Stdio/MCP.Stdio.Server/MCP.Stdio.Server.csproj
运行 TypeScript 示例
  1. 点击应用栏中的按钮,或打开命令面板(Ctrl+Shift+P)并选择 Azurite: Start Table Service,启动 Azurite Table 服务模拟器。
  2. 使用以下配置连接任意客户端应用(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 **项目有两个终结点:

Aspire 仪表板

你可以使用端口号较大的终结点,并在其后添加 /devtools 路径,访问 Agent 的测试工具。 例如,在上图中,URL 为:

http://localhost:54251/devtools/

评论

支持 Markdown

第一次接触 MCP?

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

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