SampleMcpServer(.NET MCP服务器)
SampleMcpServer是在中实现的模型上下文协议(MCP)服务器。网。它提供了小型MCP工具,用于生成随机数并通过Microsoft Graph访问Microsoft 365数据。该项目旨在易于在本地运行并部署到Azure。
特性
- MCP HTTP服务器(默认监听地址:localhost:5000)
- 包括MCP工具:
- RandomNumberTools--生成随机数并返回意大利城市(北/南) - MicrosoftGraphTools——调用MicrosoftGraph的辅助方法(用户、配置文件、身份验证)
需求
- .NET 9.0 SDK
- Azure AD应用程序注册(仅Microsoft Graph功能需要)
- Windows上的PowerShell(用于下面显示的快速命令)
构建
从存储库根运行:
dotnet build SampleMcpServer.csproj运行(开发)
使用dotnetrun在本地运行MCP服务器:
dotnet run --project SampleMcpServer.csproj服务器将启动并侦听配置的HTTP端口(默认值:5000)。如果您愿意,也可以运行已发布的可执行文件:
bin\Release\net9.0\win-x64\publish\SampleMcpServer.exeVS代码任务
- build--编译项目
- clean--删除构建工件
- publish-release--在release配置中发布(用于Azure部署)
MCP工具
随机数字工具
- GetRandomNumber(min,max)--返回一个介于min(含)和max(不含)之间的随机数
- GetItalyCities(northOrSouth)--返回一个来自北部或南部的意大利城市示例
微软图形工具
- Getusers、getuserbyid、getuserprofileeasyc、getgrapplinths
- 看
GRAPH_SETUP.md有关配置详细信息(Azure应用程序注册、范围和设置)
调试/检查MCP服务器(检查器)
您可以使用官方的MCP检查器检查正在运行的MCP服务器并与之交互。这是一个基于Node的工具,通过npm分发,并使用npx运行。
- 确保你已经安装了Node.js和npm。如果没有,请从安装https://nodejs.org/.
- 启动MCP服务器:
dotnet run --project SampleMcpServer.csproj- 在单独的终端中,使用npx运行检查器:
npx @modelcontextprotocol/inspector- 检查器将打开一个本地web UI。将浏览器指向它显示的地址(通常http://localhost:3000)并通过输入服务器URL连接到您的MCP服务器,例如:
http://localhost:5000笔记:
- 如果您的MCP服务器在其他主机或端口上运行,请使用该URL。
- 检查器可以连接到任何通过HTTP传输协议的MCP服务器。
部署到Azure
看 DEPLOY_AZURE.md 获取分步部署指南。基本流程是:
- 构建项目并将其发布到
bin\publish-azure文件夹 - 将输出文件夹压缩为zip文件
- 登录Azure并创建所需的资源(资源组、应用程序服务计划、Web应用程序)
- 将zip包部署到Web应用程序
- 配置环境变量(Graph应用程序客户端ID、租户ID、客户端机密等)
有用的文件
GRAPH_SETUP.md--Microsoft Graph配置和所需的环境变量DEPLOY_AZURE.md--Azure部署指南
