返回市场
麦普宇宙数据库戈

麦普宇宙数据库戈

作者:abhirockzz6 星标更新:2025-04-25

项目介绍

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

这是一个使用其Go SDK构建的Azure Cosmos DB的MCP服务器实现。它提供了以下工具来与Azure Cosmos DB进行交互:

  • 列出数据库:检索Cosmos DB账户中的所有数据库列表。
  • 列出容器:检索特定数据库中的所有容器列表。
  • 读取容器元数据:获取特定容器的元数据或配置详情。
  • 创建容器:在指定数据库中创建一个具有定义分区键的新容器。
  • 向容器添加项目:向数据库中的指定容器添加一个新项目。
  • 读取项目:使用ID和分区键从容器中读取特定项目。
  • 执行查询:在Cosmos DB容器上执行SQL查询,可选地使用分区键范围。

该项目使用mcp-go作为MCP实现。

这是一个演示(建议以2倍速观看 😉),使用VS Code代理模式

演示:使用Go SDK的Azure Cosmos DB MCP服务器

如何运行

警告:尽管我希望人们能从这个项目中受益,但我必须指出,大型语言模型(LLMs)本质上是非确定性的,并且可能会出错。我建议您始终验证结果和查询,在基于它们做出任何决策之前。

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

go build -o mcp_azure_cosmosdb main.go

配置MCP服务器

这取决于您使用的MCP客户端/工具。对于VS Code,您可以遵循这些说明,使用mcp.json文件配置此服务器。

这里是一个mcp.json文件示例:

{
  "servers": {
    "Azure Cosmos DB MCP (Golang)": {
      "type": "stdio",
      "command": "输入二进制路径,例如 /Users/demo/Desktop/mcp_azure_cosmosdb"
    }
  }
}

这里是一个Claude Desktop配置示例:

{
  "mcpServers": {
    "Azure Cosmos DB MCP (Golang)": {
      "command": "输入二进制路径,例如 /Users/demo/Desktop/mcp_azure_cosmosdb",
      "args": []
    }
    //其他MCP服务器...
  }
}

Azure Cosmos DB RBAC权限和认证

  • 您将使用的用户主体应具有执行数据库、容器和项目的CRUD操作所需的权限(控制平面data plane)。

  • 认证

    • 本地凭据 - 只需使用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代理模式,或者任何其他MCP工具(如Claude Desktop),并尝试一下!

本地开发/测试

MCP检查器开始 - npx @modelcontextprotocol/inspector ./mcp_azure_cosmosdb