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下載東西就非常快。新手必備!!!