StepWise MCP服务器使用说明
项目简介
StepWise 是一个用于 .NET 平台的代码优先、事件驱动的工作流框架。通过 StepWise,您可以轻松地定义、可视化和执行复杂的工作流程。StepWise MCP服务器功能允许您将 StepWise 工作流转化为符合 Model Context Protocol (MCP) 协议的服务端,从而为 LLM 应用提供结构化的上下文信息和外部功能调用能力。
主要功能点
- 工作流转 MCP 服务: 将 StepWise 中定义的工作流快速转换为 MCP 协议的服务,使得工作流中的步骤可以作为工具(Tools)被 LLM 客户端调用。
- 资源与工具管理: 通过工作流的步骤(Step)来管理和提供资源访问以及注册可执行的工具,方便 LLM 客户端获取上下文信息和调用外部功能。
- Prompt 模板支持: 虽然仓库信息中没有直接提及 Prompt 模板,但 StepWise 框架的通用性意味着它可以支持定义和渲染 Prompt 模板,以实现定制化的 LLM 交互模式(具体实现可能需要用户自行扩展工作流)。
- 多种传输协议支持: StepWise MCP 服务器示例使用了 Stdio 传输协议,StepWise 框架本身也支持其他传输协议(如 SSE, WebSocket),为 MCP 客户端连接提供了灵活性。
- 会话管理与能力声明: StepWise 框架具备构建会话管理和能力声明的基础,虽然示例中没有显式展示,但在构建完整的 MCP 服务器时可以支持这些功能。
安装步骤
- 安装 .NET SDK: 确保您的开发环境已安装 .NET SDK (建议 .NET 7 或更高版本)。您可以从 https://dotnet.microsoft.com/download 下载并安装。
- 下载 StepWise 仓库: 从 GitHub 仓库 https://github.com/LittleLittleCloud/StepWise 克隆或下载源代码。
- 导航到示例目录: 在仓库根目录下,进入 'example/MCP/WeatherChat/WeatherServer' 目录。
- 运行服务器: 在 'WeatherServer' 目录下,打开命令行终端,执行以下命令以运行 MCP 服务器:
这将启动 StepWise MCP 服务器,默认使用 Stdio 传输协议。dotnet run
服务器配置
MCP 服务器的配置主要体现在启动命令及其参数上,StepWise MCP 服务器示例的配置信息如下:
{ "server name": "Weather Server", "transport": "Stdio", "command": "dotnet", "args": "run --project ../../../../WeatherServer --no-build" }
参数说明:
- server name: MCP 服务器的名称,客户端用于标识连接的服务器。
- transport: 传输协议类型,这里使用 'Stdio' (标准输入输出)。
- command: 启动 MCP 服务器的命令,这里使用 'dotnet' 运行 .NET 应用。
- args: 传递给 'dotnet' 命令的参数,'run --project ../../../../WeatherServer --no-build' 指定了要运行的 'WeatherServer' 项目,'--no-build' 参数表示如果项目已生成则不重新生成。 '../../../../WeatherServer' 是相对于客户端项目 'example/MCP/WeatherChat/Client' 的 'WeatherServer' 项目路径。
MCP 客户端配置示例 (参考 'example/MCP/WeatherChat/Client/Program.cs'):
MCP 客户端需要配置上述 JSON 格式的信息,以便连接到 StepWise MCP 服务器。客户端代码中,配置信息被用于创建 'McpClient' 实例。
基本使用方法
- 启动 MCP 服务器: 按照 "安装步骤" 中的说明启动 StepWise MCP 服务器。
- 运行 MCP 客户端: 导航到 'example/MCP/WeatherChat/Client' 目录,打开命令行终端,执行 'dotnet run' 命令以运行 MCP 客户端。
- 客户端与服务器交互: 客户端启动后,会连接到 MCP 服务器,并列出服务器提供的工具。之后,您可以在客户端输入查询,客户端会将查询发送给 LLM (如 GPT-4o),并利用 MCP 服务器提供的工具来增强 LLM 的能力,例如获取天气信息。
注意: 示例中的 'WeatherServer' 仅提供了一个简单的 'GetWeatherAsync' 工具,实际应用中您可以根据需求扩展工作流,添加更多步骤和工具,并通过 MCP 服务器暴露给 LLM 客户端使用。
信息
分类
开发者工具