1. 为什么要写这个
为什么要写这个内容,前几天开始加入到ai大军,通过一周的学习,看了国外网站、看了b站教程、看了抖音教程,居然发现都是开发在本地的mcp server。本地mcp没问题,个人使用都ok,或者通过npx下载工具也可。但是对于企业来说,很多都不能公开,又要公用。部署本地的mcp不是一个好的方式。
居然在各种搜索网站上对于http mcp资料很少很少。我又是.net开发的,对于这个资料就更少。shit!!!这里描述的http mcp,比如:trae 直接通过配置服务器地址,远程调用mcp。
javascript
{
"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
bash
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem D:\
运行之后是这样的

这个可是一个好东西,可以测试开发的MCP


3. c#代码
官方地址说明
NuGet Gallery | ModelContextProtocol.AspNetCore 0.3.0-preview.4
完整抄过来就行
工程文件配置,包直接可还原。
XML
<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>
cs
// 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下载东西就非常快。新手必备!!!