c#
.net
开发MCP服务
挺简单的,几行代码就行
引用的库是 MCPSharp
然后新建一个控制台程序,我用的.net8的
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
多个;
注意
如果客户端在用,这个文件会被占用,二次发布失败,注意要先结束进程
我用的Cherry Studio
"test": { "description": "test", "isActive": true, "command": "cmd", "args": [ "/c", "E:\\我的项目\\MCP\\MCPShapTest\\MCPShap.exe" ] }
完成,可以用了
本文作者:没想好
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!