项目简介
本项目演示了如何在 Node.js 环境中,利用 .NET 的 WebAssembly 技术和 Mono 运行时,运行基于 ASP.NET Core 构建的 Model Context Protocol (MCP) 服务器。这使得 .NET 编写的 MCP 服务器无需原生 .NET 安装即可在 Node.js 支持的跨平台环境中部署和运行。
主要功能点
- 跨环境运行: 允许将 .NET Core 应用程序(特别是 MCP 服务器)作为 WebAssembly 模块运行在 Node.js 进程中。
- ASP.NET Core 集成: 通过自定义的服务器实现,将 ASP.NET Core 的请求处理管道与 Node.js/Express HTTP 服务器集成。
- MCP 服务器功能: 基于标准的 'ModelContextProtocol.Server' 库构建,提供 MCP 协议所需的基本能力,如工具注册和HTTP传输支持。
- 工具演示: 包含一个简单的 Echo 工具,用于演示 MCP 客户端如何调用服务器端注册的功能。
安装步骤
在开始之前,请确保您已经安装了 Node.js 和 .NET SDK。
- 克隆或下载仓库代码。
- 打开终端,进入项目根目录。
- 安装 Node.js 依赖项:
npm install - 恢复 .NET 工作负载:
dotnet workload restore - 构建并运行 MCP 服务器项目:
服务器将在本地启动,默认监听 http://localhost:3001 端口。dotnet run --project ./src/Express.McpEcho
服务器配置(供 MCP 客户端使用)
该服务器通过 HTTP 协议提供 MCP 服务。对于 MCP 客户端而言,通常需要配置服务器的连接信息。根据本项目实现,服务器通过 HTTP 监听端口,并将 MCP 请求路由到特定路径(通常是 '/mcp')。
如果您的 MCP 客户端需要自行启动服务器进程,需要配置启动命令和参数:
- 命令 (command): 'dotnet'
- 参数 (args): 'run --project ./src/Express.McpEcho'
如果您的 MCP 客户端连接到一个已经运行的服务器,则需要配置连接地址:
- 连接地址 (uri): 'http://localhost:3001/mcp'
具体的配置方式取决于您使用的 MCP 客户端软件,这些信息通常在客户端的配置文件中指定,包含服务器的名称、启动方式(命令/参数)和连接端点(地址/协议)等。
基本使用方法
- 按照安装步骤启动 MCP 服务器 ('dotnet run --project ./src/Express.McpEcho')。
- 启动一个兼容的 MCP 客户端应用程序(例如,Model Context Protocol Inspector 或其他支持连接到 HTTP MCP 端点的客户端)。
- 在客户端中配置连接到服务器的地址:'http://localhost:3001/mcp'。
- 成功连接后,客户端应该能发现服务器提供的能力和工具。您可以尝试调用服务器上注册的 Echo 工具,发送一条消息,服务器将返回一个包含该消息的响应。
信息
分类
AI与计算