README
🚀 Azure MCP 服务器
这是一个实现 Azure 的 MCP (Multi-Cloud Provider) 协议的服务器,支持 Azure Blob Storage、Azure Cosmos DB 和 Azure App Configuration 服务,可用于存储管理数据、提供数据库服务以及管理应用程序设置。
🚀 快速开始
本服务器实现了 Azure 的 MCP 协议,支持多种 Azure 服务。你可以按照以下步骤进行安装和配置。
✨ 主要特性
- Azure Blob Storage:用于存储和管理对象存储中的数据。
- Azure Cosmos DB:一个全球化分布的 NoSQL 数据库服务,提供高扩展性和高性能。
- Azure App Configuration:用于管理和配置应用程序设置。
📦 安装指南
使用 Smithay 进行安装
如果你已经使用 Smithay 进行开发,请按照以下步骤操作:
smithay new Azure-MCP-Server --type=mcp
cd Azure-MCP-Server
# 在 src/main.rs 中添加以下内容,将 YOUR_SUBSCRIPTION_ID 和 YOUR_RESOURCE_GROUP 替换为你的实际值
手动安装
如果你没有使用 Smithay,请按照以下步骤手动安装:
- 安装 Rust 和相关依赖。
- 克隆此仓库:
git clone https://github.com/your-repository/Azure-MCP-Server.git
cd Azure-MCP-Server
cargo build
📚 详细文档
配置指南
创建数据库和容器
在 Azure 门户中创建以下资源:
- 数据库:命名为
SampleDB。 - 容器:命名为
sample-container,并指定分区键(例如/partitionKey)。
插入示例数据
使用以下 Python 脚本插入一些示例数据:
from azure.cosmos import CosmosClient, PartitionKey
# 初始化 Cosmos 客户端
client = CosmosClient('your-endpoint', 'your-key')
# 获取数据库和容器引用
db = client.get_database_client("SampleDB")
container = db.get_container_client("sample-container")
# 插入示例数据
item1 = {
"id": "item1",
"partitionKey": "分区键值1",
"name": "Item 1"
}
container.upsert_item(item1)
item2 = {
"id": "item2",
"partitionKey": "分区键值2",
"name": "Item 2"
}
container.upsert_item(item2)
工具操作
Blob Storage 操作
- 创建 blob:上传文件到存储账户。
- 读取 blob:从存储账户下载文件。
- 删除 blob:删除指定的 blob 文件。
Cosmos DB 操作
容器管理
- 创建容器:
/path/to/mcp-cli create_cosmos_container --container_name sample-container --partition_key "/partitionKey" [--database_name SampleDB] - 描述容器:
/path/to/mcp-cli describe_cosmos_container --container_name sample-container [--database_name SampleDB] - 列出容器:
/path/to/mcp-cli list_cosmos_containers [--database_name SampleDB] - 删除容器:
/path/to/mcp-cli delete_cosmos_container --container_name sample-container [--database_name SampleDB]
文档管理
- 创建文档:
/path/to/mcp-cli create_cosmos_document --container_name sample-container --document '{"id": "new-item", "partitionKey": "new-key", "name": "New Item"}' [--database_name SampleDB] - 读取文档:
/path/to/mcp-cli get_cosmos_document --container_name sample-container --document_id new-item [--database_name SampleDB] - 更新文档:
/path/to/mcp-cli update_cosmos_document --container_name sample-container --document_id new-item --update_mask '{"name": "New Item Updated"}' [--database_name SampleDB] - 删除文档:
/path/to/mcp-cli delete_cosmos_document --container_name sample-container --document_id new-item [--database_name SampleDB]
App Configuration 操作
- 获取配置值:
/path/to/mcp-cli get_app_configuration --key my-config-key - 设置配置值:
/path/to/mcp-cli set_app_configuration --key my-config-key --value my-config-value
⚠️ 注意事项
⚠️ 重要提示
- 在使用 Cosmos DB 时,请确保指定正确的分区键,否则会导致性能问题。
- Cosmos DB 对大小写敏感,请注意字段名称的大小写。
- 默认数据库为
SampleDB,如果需要使用其他数据库,请在命令中显式指定--database_name。
Scan to contact