SuperAPI AI 工具集

mcp-csharp-create

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:该技能用于从零创建 Model Context Protocol(MCP)服务器,用官方 C# SDK 和 .NET 项目模板实现,让 LLM 可发现并调用服务器暴露的工具、提示与资源。适用新建 MCP 服务器项目、为已有服务器添加工具/提示/资源、在 stdio 与 HTTP 传输间选择、为 HTTP 服务器搭建 ASP.NET Core 托管,以及把外部 API 或服务包装为 MCP 工具。若服务器已存在且需调试、需要测试与评估或准备发布,应分别使用 mcp-csharp-debug、mcp-csharp-test、mcp-csharp-publish;构建 MCP 客户端不适用本技能。

主要能力与工作流:要求 .NET 10.0+ SDK,可用 dotnet --version 检查。先确认模板:dotnet new list mcpserver,无模板时运行 dotnet new install Microsoft.McpServer.ProjectTemplates。传输默认 stdio,适合本地 CLI、IDE 插件或单用户子进程场景;HTTP 适合多客户端、跨网络与容器部署。stdio 脚手架:dotnet new mcpserver -n <ProjectName>;模板不可用时用 dotnet new console -n <ProjectName> 并 dotnet add package ModelContextProtocol。HTTP 推荐方式:dotnet new web -n <ProjectName>,再 dotnet add package ModelContextProtocol.AspNetCore。模板也支持 --transport local(stdio,默认)、--transport remote、--aot、--self-contained。

工具、提示与资源:工具类加 [McpServerToolType],方法加 [McpServerTool],每个方法和参数都需 [Description],异步工具需接收 CancellationToken。支持方法参数注入与构造函数注入两种 DI 风格;在 Program.cs 中调用 AddMcpServer、WithStdioServerTransport 或 WithHttpTransport、WithToolsFromAssembly 等。提示用 [McpServerPromptType] 与 [McpServerPrompt],资源用 [McpServerResourceType] 与 [McpServerResource]。

验证与限制:用 dotnet build 与 dotnet run 确认服务器启动。stdio 模式日志必须输出到 stderr,否则会破坏 JSON-RPC;HTTP 模式需调用 app.MapMcp(),默认路径为 /mcp,容器可设 ASPNETCORE_URLS=http://+:8080 并 EXPOSE 8080。Native AOT 下 WithToolsFromAssembly() 不可用,应改用 WithTools<MyTools>()。CancellationToken、IMcpServer 与 DI 服务不会出现在工具 schema 中。更完整的属性、传输与认证细节见参考资料,具体价格或收费信息暂未提供。