Mcp_cosmosdb_go

Mcp_cosmosdb_go

🚀 使用 Go SDK 实现 Azure Cosmos DB 的 MCP 服务器

本项目是一个借助 Go SDK 构建的 Azure Cosmos DB 的 MCP 服务器示例。mcp - go 项目作为 MCP 的 Go 实现方案。

此 MCP 服务器为与 Azure Cosmos DB 交互提供了一系列实用工具,具体如下:

  • 列出数据库:可检索特定 Cosmos DB 帐户中的所有数据库。
  • 列出容器:能检索特定数据库中的所有容器。
  • 读取容器元数据:获取特定容器的元数据或配置信息。
  • 创建容器:在指定数据库中创建新容器,并可定义分区键。
  • 向容器添加项:将新项添加到指定数据库中的容器。
  • 读取消息:使用项的 ID 和分区键从容器中读取特定项。
  • 执行查询:在 Cosmos DB 容器上执行 SQL 查询,还可选择指定分区键范围。

以下是演示视频(建议以 2x 速度观看 😄),该视频使用了 VS Code Insiders in Agent mode

[](https://www.youtube.com/watch?v=CsM - mspWJeM)

🚀 快速开始

📦 安装指南

克隆项目仓库并进入项目目录:

git clone https://github.com/abhirockzz/mcp_cosmosdb_go
cd mcp_cosmosdb_go

go build -o mcp_azure_cosmosdb main.go

配置 MCP 服务器:

mkdir -p .vscode

# 定义 mcp.json 的内容
MCP_JSON_CONTENT=$(cat <<EOF
{
"servers": {
"CosmosDB Golang MCP": {
"type": "stdio",
"command": "$(pwd)/mcp_azure_cosmosdb"
}
}
}
EOF
)

# 将内容写入 mcp.json
echo "$MCP_JSON_CONTENT" > .vscode/mcp.json

🔐 Azure Cosmos DB 的 RBAC 权限和身份验证

  • 权限要求:您所使用的用户主体应具备相应权限(控制平面数据平面),以便执行数据库、容器和项目的 CRUD 操作。
  • 身份验证方式
    • 本地凭据:使用 Azure CLI(az login)进行本地登录即可,MCP 服务器将自动采用 DefaultAzureCredential 实现。
    • 环境变量方式:您也可以在 MCP 服务器配置中设置 COSMOSDB_ACCOUNT_KEY 环境变量,示例如下:
    {
    "servers": {
    "CosmosDB Golang MCP": {
    "type": "stdio",
    "command": "/Users/demo/mcp_azure_cosmosdb",
    "env": {
    "COSMOSDB_ACCOUNT_KEY": "输入密钥"
    }
    }
    }
    }
    

完成上述步骤后,您就可以启动 VS Code Insider 的代理模式,开始使用该 MCP 服务器啦。

🔧 本地开发和测试

您可以按照上述步骤进行本地开发和测试,确保各项功能正常运行。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 15:24

相似服务问题