Azure MCP Server

Azure MCP Server
官方

通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。

云平台
Category.security-and-iam
本地
TypeScript
访问服务器

Tools

run-azure-code

Run Azure code

list-tenants

List all available Azure tenants

select-tenant

Select Azure tenant and subscription

README

Azure MCP (模型上下文协议) for Claude Desktop

smithery badge

<a href="https://glama.ai/mcp/servers/8lqipo67ap"> <img width="380" height="200" src="https://glama.ai/mcp/servers/8lqipo67ap/badge" /> </a>

一个模型上下文协议 (MCP) 的实现,使 Claude Desktop 能够与 Azure 服务交互。此集成允许 Claude 通过自然语言对话直接查询和管理 Azure 资源。

特性

  • Azure 资源管理: 与 Azure 资源管理客户端交互
  • 订阅管理: 列出和管理 Azure 订阅
  • 租户管理: 列出和选择 Azure 租户
  • 自动身份验证: 利用 DefaultAzureCredential 实现灵活的身份验证方法
  • 错误处理: 强大的错误处理,对瞬时故障进行重试
  • 清晰的响应格式: 格式正确的响应,与 Claude Desktop 兼容

前提条件

  • Node.js (v18 或更高版本)
  • Claude Desktop 应用程序
  • 具有适当权限的 Azure 帐户
  • Azure CLI (可选,用于基于 CLI 的身份验证)

安装

手动安装

  1. 克隆存储库:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
  1. 安装依赖项:
npm install
  1. 配置 Claude Desktop:
    • 打开 claude_desktop_config.json
    • 添加以下 MCP 配置:
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequential-thinking"
      ]
    },
    "azure": {
      "command": "tsx",
      "args": [
        "C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts"
      ]
    }
  }
}

身份验证

该服务器通过 DefaultAzureCredential 支持多种身份验证方法:

  • 环境变量
  • 托管标识
  • Azure CLI
  • Visual Studio Code
  • 交互式浏览器

服务器将自动按顺序尝试这些方法,直到其中一种成功。

用法

  1. 如果 Claude Desktop 正在运行,请关闭它 (检查任务管理器)
  2. 启动 Claude Desktop
  3. 在聊天中,您现在可以提出与 Azure 相关的问题,例如:
    • "你能获取所有可用的 Azure 帐户和订阅吗?"
    • "列出我的订阅中的所有资源组"
    • "显示特定资源组中的所有虚拟机"

示例对话

你: 你能获取所有可用的 Azure 帐户和订阅吗?
Claude: 我将帮助您列出所有可用的 Azure 租户和订阅。
[Claude 将使用 Azure MCP 来获取和显示信息]

开发

项目结构

azure-mcp/
├── src/
│   ├── launcher.ts       # 服务器入口点
│   ├── AzureServer.ts    # 主要 MCP 服务器实现
│   └── LoggerService.ts  # 日志记录实用程序
├── package.json
└── README.md

主要组件

  • AzureMCPServer: 实现 MCP 协议的主要服务器类
  • HandleCallTool: 处理传入的工具请求
  • ExecuteWithRetry: 实现用于弹性操作的重试逻辑

故障排除

  1. 身份验证问题:

    • 确保您已通过 Azure CLI 登录 (az login)
    • 如果使用服务主体,请检查环境变量
    • 验证您的 Azure 帐户是否具有必要的权限
  2. 连接问题:

    • 验证 Claude Desktop 配置
    • 检查配置文件中的路径是否与您的安装匹配
    • 确保没有其他实例正在运行
  3. 常见错误:

    • NO_TENANT: 使用 'select-tenant' 工具选择一个租户
    • NO_CLIENTS: 确保正确初始化和身份验证
    • CODE_EXECUTION_FAILED: 检查 Azure 权限和连接

贡献

欢迎贡献! 请随时提交 Pull Request。

贡献者

致谢

  • Claude Desktop 团队对 MCP 的实现
  • Azure SDK 团队对全面的 SDK
  • 模型上下文协议,用于启用 AI 服务集成

安全说明

此实现遵循 Azure 安全最佳实践:

  • 没有硬编码的凭据
  • 安全的凭据链实现
  • 正确的错误处理和清理

对于安全问题或漏洞,请创建一个 issue。

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript