mcpField
C
Calculator SSE

Calculator SSE

本地服务
github.com/biswapm开发工具1480 周前更新

关于 Calculator SSE

Calculator SSE 是一个 Node.js 和 TypeScript MCP 服务示例,通过 SSE 提供 BMI 计算和加法工具,供探索与 GitHub Copilot Agent 和 Microsoft Copilot Studio 的集成。

主要功能

  1. 01BMI 计算工具
  2. 02加法工具
  3. 03SSE 传输
  4. 04GitHub Copilot Agent 集成
  5. 05Microsoft Copilot Studio 集成

适用场景

  1. 01通过 MCP 客户端计算 BMI
  2. 02通过 MCP 客户端进行加法运算
  3. 03测试基于 SSE 的 MCP 连接
  4. 04探索 Copilot 集成

MCP 相关

它通过 /sse SSE 端点向 MCP 客户端提供 BMI 计算和加法工具。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

🧮 MCP 服务的分步实现,以及与 Microsoft Copilot Studio 和 Github Copilot Agent 的集成

这是一个使用 Model Context Protocol SDK 的 Node.js + TypeScript MCP SDK 演示项目。它通过 MCP 提供 BMI 计算和加法等简单计算工具,并支持通过服务器发送事件(SSE)实时响应。 使用 MCP 架构和 SSE 传输,了解 MCP 架构和最佳实践。

🚀 功能

  • ✅ 支持 SSE(服务器发送事件)
  • ✅ BMI 计算工具
  • ✅ 加法工具
  • ✅ MCP 工具 + Github Copilot Agent 集成
  • ✅ MCP 工具 + Microsoft Copilot Studio 集成
  • ✅ 已适配 Azure App Service

📁 项目结构

README 配图

⚙️快速开始

npm install      # Install dependencies
npm run build    # Compile TypeScript
npm run start    # Start server (http://localhost:3001)

应用将在 http://localhost:3001 运行(除非另有配置)。

🧪 MCP 工具

🔹 calculate-bmi

输入:

{
  "weightKg": 70,
  "heightM": 1.75
}

响应:

{
  "content": [{ "type": "text", "text": "22.86" }]
}
🔹 calculate-sum

输入

{
  "a": 5,
  "b": 3
}

响应:

{
  "content": [{ "type": "text", "text": "8" }]
}

🔁 SSE 端点

服务通过以下端点支持服务器发送事件(SSE):

GET /sse

🖥️ MCP 工具 + Github Copilot Agent 集成(VSCode)

  1. 打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P)。
  2. 输入 "Add MCP Server" 并选择该项。
  3. 使用以下内容更新 .vscode/mcp.json:
{
    "servers": {
        "my-mcp-server": {
            "type": "sse",
            "url": "http://localhost:3001/sse"
        }
    }
}

README 配图

Github Copilot Agent 中的结果

README 配图

服务会显示出来,并成功建立连接。

🖥️ MCP 工具 + Microsoft Copilot Studio 集成(自定义连接器)

有关如何使用自定义连接器将模型上下文协议(MCP)工具集成到 Microsoft Copilot Studio 的详情,请参阅 Microsoft 官方文档:🔗 在 Copilot Studio 中使用 MCP 扩展 Copilot 操作

MCP 自定义连接器与 Copilot Studio 集成

本文介绍如何设置 MCP 工具,使其能够通过自定义连接器在 Copilot Studio 中执行操作。


Swagger 规范

swagger: '2.0'
info:
  title: MCPCalculatorDemo
  description: Calculate BMI and Calculate sum using MCP SSE server
  version: '1.0'
host: calculatormcp-dummyurl.azurewebsites.net
basePath: /
schemes:
  - https
definitions:
  QueryResponse:
    type: object
    properties:
      jsonrpc:
        type: string
      id:
        type: string
      method:
        type: string
      params:
        type: object
      result:
        type: object
      error:
        type: object
paths:
  /sse:
    get:
      summary: MCP Server Actions for calculating BMI and sum
      parameters:
        - in: query
          name: sessionId
          type: string
          required: false
      produces:
        - application/json
      responses:
        '200':
          description: Immediate Response
          schema:
            $ref: '#/definitions/QueryResponse'
        '201':
          description: Created and will follow callback
      operationId: CalculatorDemo
      tags:
        - Agentic
        - McpSse
securityDefinitions: {}
security: []

image

在 Copilot Studio 中使用 MCP 服务操作

访问 MCP 服务操作的步骤

  1. 打开 Copilot Studio
    前往你的 Copilot Studio 工作区。

  2. 前往操作
    点击左侧边栏中的 Action 菜单。

  3. 选择“Custom connector”
    在 Action 菜单下,选择 Custom connector。

  4. 找到 MCP 服务操作
    系统将自动显示可用工具。从列表中选择 MCP Server Action。

    自定义连接器选择

  5. 预览 MCP 服务操作
    你可以查看所选 MCP 服务操作的详情,如下所示:

    MCP 服务操作

📌 注意事项

  • ✅ 在初始化 MCP 传输时,/sse 端点应返回完整 URI(包括协议和主机)。这样可确保在不同环境(例如 localhost 与 Azure)中部署时保持兼容,并建立用于流式传输 MCP 交互的实时连接。

    示例:

    const protocol = req.protocol;
    const host = req.get('host');
    const fullUri = `${protocol}://${host}/mcp`;
    
🔄 Return / Server-Sent Events (SSE) with Full URI

Ensure your custom connector supports SSE (Server-Sent Events) and returns the full URI as shown: Return SSE with Full URI

🏷️ Add Tags to Your Custom Connector
tags:
  - Agentic
  - McpSse
⚠️ 命名指南

请勿将 "InvokeMCP" 用作 operationId。
请选用更具体且描述性更强的名称,以体现操作的用途并避免冲突。

☁️ 部署到 Azure(可选)

创建 Azure App Service(Node.js 18+) 设置启动命令(如有需要):

npm run build && npm run start
SSE 部署更新

使用 Basic 计划在 West US 2 区域将 SSE 部署到 Azure 已成功完成,并通过测试,未发现问题。

🛠️ 故障排除

✅ 如何检查 SSE 服务是否正常运行

请按照以下步骤验证 SSE(Server-Sent Events)服务是否正常运行:


🔍 步骤 1:访问 SSE 端点
  • 打开浏览器并访问:

    • http://localhost:3000/sse(如果在本地运行),或
    • 已部署的 Azure URL。
  • 打开 开发者工具 → 网络 标签页。

  • 查找 EventStream 连接。

  • 在 Event 部分中,你应看到:

    • 端点:SSE 端点
    • 数据:完整 URI 端点

SSE 浏览器网络跟踪


🧪 步骤 2:通过 Postman 测试 SSE 端点
  1. 复制 完整 URI(来自 EventStream 的 data)。
  2. 使用 Postman 向该 URI 发送 POST 请求。

示例 URL:

http://calculatormcp-dummyurl.azurewebsites.net/mcpfy/v1/calculatordemo?sessionId=620c84e1-81e2-484d-8737-a7fbc93165b1

示例请求负载:

{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "tools/call",
  "params": {
    "name": "calculate-bmi",
    "arguments": {
      "weightKg": 180,
      "heightM": 1.8
    }
  }
}

如果成功,你将收到一条包含 "message" 的响应,确认服务运行正常。


🖼️ 示例截图
浏览器网络事件跟踪:

事件跟踪

Postman 响应:

Postman 输出

或者,你也可以使用 MCP Inspector 进行测试:https://github.com/modelcontextprotocol/inspector

免责声明

这是一个不受支持、实验性且非 Microsoft 官方产品的项目。它按“原样”提供,不提供支持,也不作任何明示或默示的保证。这包括但不限于对适销性、特定用途适用性和不侵权的保证。

在任何情况下,作者或版权持有人均不对因软件或使用软件或与软件相关的其他交易而引起、产生或相关的任何索赔、损害或其他责任承担责任,无论是基于合同、侵权还是其他原因。

⚠️ 重要说明:
这是一个为演示目的创建的示例自定义 MCP 服务。它部署在 Microsoft Azure 上,仅用于原型设计或示例场景中与 Copilot Studio 集成。
此组件不属于任何 Microsoft 官方产品,且不可用于生产环境。

评论

支持 Markdown

第一次接触 MCP?

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

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