编辑
2025-03-27
我当开发
00

目录

.net 开发MCP服务挺简单的,几行代码就行
直接放代码
然后发布
调用

DotNetMCP实践


c# .net 开发MCP服务挺简单的,几行代码就行

图片.png

引用的库是 MCPSharp

然后新建一个控制台程序,我用的.net8的

图片.png

直接放代码

C#
internal class Program { private static async Task Main(string[] args) { Console.WriteLine("Starting MCP Server..."); await MCPServer.StartAsync("ERPCostServer", "1.0.0"); Console.WriteLine("Server is running. Press any key to stop."); Console.ReadKey(); } }
C#
public class ERPCost { [McpTool("get-cost-bycode", "通过物料编号得到核价")] public static string GetCostByCode([McpParameter(true)] string code) { var response = "http://localhost/api/CRM/GetCostByCode" .WithHeader("accept", "*/*") .WithHeader("Content-Type", "application/json-patch+json") .PostJsonAsync(new { GUID = "B02C2304120019", hasCode = "", data = new { CostCode = code } }) .GetAwaiter().GetResult(); // 处理响应 var responseString = response.GetStringAsync().GetAwaiter().GetResult(); var dis = @"Code 1 表示成功 ,非1表示有错误 Message ""成功"" 或 其他错误消息 MB001 品号 MB002 品名 MB003 规格 MB004 单位 CostUnitCost 当前成本(该物料在该账套的最近核价含税) HasNoCost 1表示BOM中有价格为0的物料,0表示没有价格为0的物料 "; return responseString + dis; } }

主要是await MCPServer.StartAsync这个,可能去找ERPCost这个类了,不知道能不能Start多个;

然后发布

图片.png

注意

如果客户端在用,这个文件会被占用,二次发布失败,注意要先结束进程

调用

我用的Cherry Studio

"test": { "description": "test", "isActive": true, "command": "cmd", "args": [ "/c", "E:\\我的项目\\MCP\\MCPShapTest\\MCPShap.exe" ] }

图片.png


完成,可以用了

图片.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:没想好

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!