使用说明
mcp网络服务器
基于ASP的MCP(Model Context Protocol)服务器。带HTTP传输的NET Core。服务器为AI客户端提供各种工具。
工具
GetRandomNumber
生成最小值和最大值之间的随机数。
| 参数 | 类型 | 标准 | 描述 |
|---|---|---|---|
min |
int | 0 | 最小值(包括) |
max |
int | 100 | 最大值 (独家) |
搜索网页
通过DuckDuckGo进行网络搜索,并返回标题,URL和文本片段的顶级结果。结果将被过滤到可配置的域白名单中。
| 参数 | 类型 | 标准 | 描述 |
|---|---|---|---|
query |
string | — | 搜索词 |
maxResults |
int | 5 | 结果的最大数量 |
配置
允许进行网页搜索的域名将在 appsettings.json 维护:
{
"WebSearch": {
"AllowedDomains": [
"learn.microsoft.com",
"github.com",
"devblogs.microsoft.com",
"..."
]
}
}
如果列表为空,则允许所有域名。
开始
dotnet run --project mcp-dotnet-server.csproj
服务器正在启动 http://localhost:3001.
注意: 由于文件夹都是一个
.sln- 以及一个.csproj文件必须包含dotnet明确指定项目(或解决方案),否则MSBuild将破坏MSB1011ab。
建筑
dotnet publish mcp-dotnet-server.csproj -c Release -o ./publish
在文件夹中创建可运行的自维护文物 ./publish足以进行纯粹的编译器检查,而无需工件 dotnet build mcp-dotnet-server.csproj.
更新依赖关系
查看过时的 NuGet 软件包:
dotnet list mcp-dotnet-server.csproj package --outdated
将单个软件包更新到最新版本:
dotnet add mcp-dotnet-server.csproj package ModelContextProtocol.AspNetCore
dotnet add package 没有版本信息,自动下载最新可用版本。然后检查该项目是否仍在建设中:
dotnet build mcp-dotnet-server.csproj
客户端配置
VS代码/GitHub副本(mcp.json):
{
"servers": {
"mcp-dotnet-server": {
"type": "http",
"url": "http://localhost:3001"
}
}
}
克劳德代码(~/.claude/settings.json):
{
"mcpServers": {
"mcp-dotnet-server": {
"url": "http://localhost:3001"
}
}
}
LM工作室(~/.lmstudio/mcp.json):
{
"mcpServers": {
"mcp-dotnet-server": {
"url": "http://localhost:3001"
}
}
}
容器构建
该项目已迁移到 Native AOT (PublishAot, InvariantGlobalization 为了 .csproj).Docker文件构建一个原生的,自维护的Linux二进制(linux-musl-x64)在运行期间不需要。NET 运行时映像,仅 dotnet/runtime-deps.
docker build -t mcp-dotnet-server .
docker run -d -p 3001:3001 --name mcp-dotnet-server mcp-dotnet-server
此后,服务器在 http://localhost:3001 可达(见 test.sh 对运行中的容器进行端到端烟雾测试)。
关键字(原生AOT,linux-musl-x64)
metric 值。
| --- | --- |
|图像修饰|约125 MB|
启动时间(容器启动到) Application started)|~180-200毫秒|
启动时间可以复制 测量启动sh:
./measure-startup.sh mcp-dotnet-server:latest 5
该脚本重新启动容器多次,并测量容器之间的差异。 docker inspect-StartedAt 以及时间印章 Application started- 那是个木匠
相比之下,没有AOT(JIT)的独立单文件部署的图像大小约为177 MB,并且通过JIT热启动节省了较长的时间。
形成
创建此项目的分步指南可在 第一步.md.
