项目简介
AzBae是一个用于管理Azure资源的工具,包含命令行界面 (CLI)、图形用户界面 (GUI) 和 Model Context Protocol (MCP) 服务器三个组件。MCP服务器专门用于集成大型语言模型 (LLM),允许通过自然语言调用工具与Azure资源进行交互。
主要功能点
该MCP服务器目前主要通过暴露的工具实现对Azure资源的特定操作。根据提供的代码,核心功能包括:
- 创建 Azure Cosmos DB 数据库及容器。
- 未来可扩展更多Azure管理工具。
安装步骤
- 先决条件:
- 安装 .NET 9.0 SDK。
- 拥有Azure订阅和有效的Azure凭据。
- 克隆仓库:
git clone https://github.com/mrcunninghamz/AzBae.git cd AzBae - 构建项目:
这将在 'src/MCP/bin/Debug/net9.0/' (或 'Release') 目录下生成 'AzBae.MCP.dll' 和相应的可执行文件。dotnet build AzBae.sln - 配置Azure凭据:
在 'src/MCP' 目录下创建或修改 'appsettings.local.json' 文件,配置Azure Cosmos DB的连接信息(至少需要AccountEndpoint和AccountKey)。示例结构如下:
{ "CosmosDb": { "AccountEndpoint": "YOUR_ACCOUNT_ENDPOINT", "AccountKey": "YOUR_ACCOUNT_KEY", "DatabaseName": "YOUR_DEFAULT_DATABASE_NAME", // 可选,工具调用时可覆盖 "ContainerName": "YOUR_DEFAULT_CONTAINER_NAME", // 可选,工具调用时可覆盖 "PartitionKey": "YOUR_DEFAULT_PARTITION_KEY" // 可选,工具调用时可覆盖 } }
服务器配置
AzBae MCP服务器设计用于与MCP客户端(如支持MCP的VS Code扩展或Agent应用)通信。客户端需要知道如何启动该服务器进程并与其通过标准输入输出(Stdio)进行通信。
在MCP客户端的配置中,您通常需要指定服务器的名称、启动命令及其参数。例如,对于VS Code的MCP扩展,您可能需要在 'settings.json' 中添加如下配置(这是一个概念性示例,具体键名可能因客户端而异):
"modelContextProtocol.servers": [ { "name": "AzBae Azure Management", // 给服务器取一个易于识别的名称 "command": "dotnet", // 启动命令,使用 dotnet 运行 AzBae.MCP.dll "args": [ "run", "--project", "path/to/your/AzBae/src/MCP/AzBae.MCP.csproj" // 或者指向编译好的DLL路径 // 可以根据需要添加其他启动参数 ], "transport": "stdio" // 指定通信协议,这里使用标准输入输出 } ]
请将 'path/to/your/AzBae/src/MCP/AzBae.MCP.csproj' 替换为您实际克隆AzBae仓库后 'src/MCP' 项目文件的路径。配置完成后,您的MCP客户端应能检测到并连接到AzBae MCP服务器。
基本使用方法
连接成功后,使用支持MCP协议的LLM客户端(如集成有Agent功能的IDE或应用),LLM将能够发现AzBae MCP服务器暴露的工具(例如 'azb_create_cosmos_container')。
您可以通过向LLM提出自然语言请求来使用这些工具,例如:
- "帮我在Azure Cosmos DB里创建一个名为 'my-data' 的容器,数据库名字是 'app-db',分区键是 '/id'。" LLM客户端会解析您的请求,识别需要调用的AzBae工具及其参数,然后通过MCP协议向AzBae MCP服务器发送相应的JSON-RPC请求。服务器执行操作后,会将结果或状态通过MCP响应返回给客户端,LLM再将结果呈现给您。
信息
分类
数据库与文件