AI入坑: Trae 通过http调用.net 开发的 mcp server
1. 为什么要写这个
为什么要写这个内容,前几天开始加入到ai大军,通过一周的学习,看了国外网站、看了b站教程、看了抖音教程,居然发现都是开发在本地的mcp server。本地mcp没问题,个人使用都ok,或者通过npx下载工具也可。但是对于企业来说,很多都不能公开,又要公用。部署本地的mcp不是一个好的方式。
居然在各种搜索网站上对于http mcp资料很少很少。我又是.net开发的,对于这个资料就更少。shit!!!这里描述的http mcp,比如:trae 直接通过配置服务器地址,远程调用mcp。
{"mcpServers": {"default-server": {"type": "streamable-http","url": "http://localhost:5229","note": "For Streamable HTTP connections, add this URL directly in your MCP Client"}}
}
为了得到这个配置,在模型上下文协议(MCP) - 文档 - Trae CN、https://github.com/modelcontextprotocol/csharp-sdkdd
等官方网站都没有相应描述。对于一个初学者真的很抓狂。
2. mcp server 测试工具准备
在本地搭建好nodejs环境,需要执行一个命令来运行 MCP Inspector
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem D:\
运行之后是这样的
这个可是一个好东西,可以测试开发的MCP
3. c#代码
官方地址说明
NuGet Gallery | ModelContextProtocol.AspNetCore 0.3.0-preview.4
完整抄过来就行
工程文件配置,包直接可还原。
<Project Sdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</Nullable><ImplicitUsings>enable</ImplicitUsings></PropertyGroup><ItemGroup><PackageReference Include="ModelContextProtocol.AspNetCore" Version="0.3.0-preview.4" /></ItemGroup>
</Project>
// Program.cs
using ModelContextProtocol.Server;
using System.ComponentModel;var builder = WebApplication.CreateBuilder(args);
builder.Services.AddMcpServer().WithHttpTransport().WithToolsFromAssembly();
var app = builder.Build();app.MapMcp();app.Run("http://localhost:5229");[McpServerToolType]
public static class EchoTool
{[McpServerTool, Description("Echoes the message back to the client.")]public static string Echo(string message) => $"hello {message}";
}
直接运行即可。
4.总结了一个诀窍
直接让Trae:“设置python的全局源为清华大学的公共源”,设置成功之后,python下载东西就非常快。新手必备!!!