使用说明
MCP服务器实验
使用 使用为您的API构建MCP服务器。NET和C# 作为创建和测试MCP服务器的参考。
为了遵循这篇文章中的说明,我需要做以下事情:
- 创建C:\Users\hokie\AppData\Roaming\npm
- 当连接到MCP检查器时,在单击连接之前,您需要将MCP检查器在控制台中提供的“会话令牌”复制到检查器的代理会话令牌属性中。
为了让MCP服务器在Claude中使用时正确读取其配置,我不得不这样更改配置生成器:
var settingsPath = Environment.GetEnvironmentVariable("MCP_SERVER_SETTINGS_PATH");
// Remove defaults (appsettings.json, env vars, command-line, etc.)
builder.Configuration.Sources.Clear();
// Add only what you want
builder.Configuration
.AddJsonFile(settingsPath, optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.AddCommandLine(args);
配置文件的路径可能应该是一个环境变量,该变量将放置在MCP服务器的配置设置中。
我的实验现在进展顺利。我有一个MCP服务器,它有两个工具:echo和get_config.value。我想编写第二个工具来验证我是否可以获得一个有自己的配置文件的MCP服务器,因为这是我们(目前可能)存储密钥等的地方。显然,需要在某个地方进行更好的身份验证来保护这些值。
这是我与Claude在使用此MCP服务器时进行的一次有趣的对话。请注意,它发现它需要链接两个工具,以呼应对话中尚未包含的配置设置。但是,如果我让它回显它已经询问过的配置值,它就不会重用get_config.value工具。
https://claude.ai/share/4f1a6d83-7e64-48b3-9a96-839dc2781d11
MCP服务器配置示例
"mcp_server": {
"command": "D:\\source\\mcp-server\\bin\\Debug\\net8.0\\mcp-server.exe",
"cwd": "D:\\source\\mcp-server\\bin\\Debug\\net8.0",
"args": [],
"env": {
"DOTNET_ENVIRONMENT": "Production",
"WEATHER_CHOICES": "sunny,humid,freezing",
""MCP_SERVER_SETTINGS_PATH": "<path to appSettings.json>"
}
}
另见
2025年可扩展AI集成的7个MCP服务器最佳实践-MarkTechPost
modelcontextprotocol/servers:模型上下文协议服务器
Azure Samples/mcp:使用多种语言在Azure上构建和集成模型上下文协议(mcp)服务器的示例、工具和资源的链接
https://devblogs.microsoft.com/blog/can-you-build-agent2agent-communication-on-mcp-yes