winform
一个功能完整的基于 Windows Forms 的 MCP (Model Context Protocol) 应用Demo,集成了MCP Server、Mcp Client、 内嵌web服务、LLM API 调用、聊天界面、工具管理等功能,可作为企业级桌面程序开发的集成特定技术的参考代码。
claude mcp add --transport stdio icyhy-winform-mcp-server dotnet run --project src/WinFormMcpServer/WinFormMcpServer.csproj \ --env ASPNETCORE_URLS="http://localhost:3000"
How to use
WinForm MCP Server 是一个以 Windows Forms 为前端的完整 MCP 应用示例,集成了 MCP 服务器、MCP 客户端接口、内嵌 Web 服务、LLM API 调用以及聊天界面和工具管理等模块,面向企业级桌面应用的场景。通过内置的 Minimal API 提供的 HTTP/ SSE 接口,客户端可以通过标准化的 MCP 端点与服务器交互,进行聊天、工具调用以及配置管理。部署后你可以在本地通过浏览器访问现代化的聊天界面,也可以通过 MCP 客户端配置对接该服务器实现远程调用。核心能力包括可配置的 OpenAI 兼容 LLM 服务、Mock 与真实 API 的切换、实时消息处理、以及可视化的 JSON 配置编辑与持久化。
要使用该服务器,首先启动应用并在主窗体中设置端口(默认 3000),然后点击“启动服务器”使后端开始监听。你可以通过菜单配置 LLM API,选择 Mock API 或真实 API,并提供基础 URL、API Key、模型名称及其他参数,点击测试连接验证设置是否正确,保存即可。然后通过浏览器访问 http://localhost:3000 即可看到 Web 聊天界面,支持实时消息、MCP 工具调用结果展示,以及工具管理和配置管理功能。若需与 MCP 客户端集成,同样通过 mcpServers 配置项在客户端指向此服务器的 SSE 端点进行连接。
How to install
prerequisites: - .NET 8.0+ SDK 安装完成 - 可选:Visual Studio 2022(社区版推荐)
-
安装 .NET 8.0 SDK
-
获取代码
- 从 GitHub 克隆仓库,或下载源码压缩包
-
构建与运行
- 打开终端/命令提示符,进入项目根目录
- 运行以下命令以构建并启动服务(默认端口 3000)
dotnet run --project src/WinFormMcpServer/WinFormMcpServer.csproj
-
浏览器访问
- 打开浏览器访问 http://localhost:3000 以查看聊天界面
-
(可选) 通过发布部署
- 使用命令发布为自包含应用(Windows x64): dotnet publish src/WinFormMcpServer -c Release -r win-x64 --self-contained true
-
参考配置
- LLM API 配置文件示例 llm-api-config.json
- MCP 服务器配置文件示例 mcp-servers.json(若需要通过外部客户端连接)
Additional notes
- .NET 8 是运行本示例的关键依赖,请确保环境变量和网络访问权限允许本地端口 3000 的监听。
- 若切换到真实 OpenAI API,请妥善管理 API Key,避免泄露;可通过配置界面保存到 llm-api-config.json。
- 该示例包含了内嵌的 Web 静态资源,Web UI 使用现代前端技术,确保浏览器兼容性。
- 日志采用 Serilog,日志目录位于日志文件中,生产环境请确保日志路径可写。
- MCP 端点包括基础端点、SSE 通道和聊天 API,确保客户端连接地址正确无误。
- 部署到生产环境时可考虑将 ASP.NET Core 配置为正式环境,结合反向代理提升安全性与性能。
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
mcp-dataverse
MCP Server for querying Dataverse using SQL
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
console-to-http
Example of converting a stdio MCP server to HTTP using ModelContextProtocol.AspNetCore