MIT License
4
最近更新:3个月前

MCP 适用于 Azure CLI 和 Power Platform CLI

Power Platform CLI、Graph API 和 Azure REST API - MCP

此存储库包含用于使用 Graph API、通过 Azure CLI 使用 Azure REST API 以及通过 Power Platform CLI 使用 Power Platform Admin APIs/Dataverse APIs 的 Model Context Protocol (MCP) 工具。

先决条件

  1. VSCode Insiders - 2025 年 3 月版本 或 Claude Desktop
  2. 如果不使用 DevContainer 选项,需安装并验证 Azure CLI 和 Power Platform CLI 在本地机器上的身份。
  3. Dev Container CLI,如果要在 Dev Container 内运行 MCP。
  4. Docker,如果要运行 Dev Containers。

GenAIScript 是什么? 🤖

GenAIScript 是一个框架,使您能够与 AI 模型(甚至是本地模型)进行通信。GenAIScript 可以使用 MCP 工具,并且还可以充当 MCP 服务器。

Model Context Protocol (MCP) 📋

这是 Anthropic(MCP 规范的创建者)对 Model Context Protocol 的定义:

MCP 是一种开放协议,它标准化了应用程序如何为 LLM 提供上下文。可以把 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种将您的设备连接到各种外设和配件的标准方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准方式。

安装 🛠️

  • 安装 NodeJS
  • 使用 npm install -g genaiscriptnpx genaiscript 安装 genaiscript CLI

使用 💻

如果您安装了 2025 年 3 月版的 VSCode Insiders,则应该能够在本地运行 GenAIScript MCP 服务器,以获取已安装在本地机器上的工具版本。

mcp.json 是配置 MCP 服务器的地方。使用这种方法时,您甚至不需要克隆此存储库,因为 GenAIScript 可以为您在后台克隆存储库以直接使用工具。如果您使用 --remote 标志,则完全不需要安装 GenAIScript 扩展,因为 npx 会为您拉取所有内容。

已知问题 - Windows 上的 Copilot ⚠️

GitHub Copilot 不喜欢在 VSCode Insiders 中尝试认证的 CLI。如果尝试这样做,Power Platform CLI 将会失败,并显示 The requested service provider could not be loaded or initialized. 错误。

您有两种选择:

  1. 在 DevContainers 中运行整个存储库。此存储库指定了 .devcontainer.json 配置文件。如果使用此选项,可以在 .devcontainer 文件夹中创建一个名为 genaiscript.env 的新文件。以下是一个示例。
复制代码
PAC_CLIENT_ID=2caa17e6-884b-473b-80c5-c05d8859a2fa
PAC_CLIENT_SECRET=
ENVIRONMENT_URL=https://abc.crm6.dynamics.com
TENANT_ID=
AZ_CLIENT_ID=aba9829f-6288-44d7-9168-53eca9a1f4a5
AZ_CLIENT_SECRET=
DOCKER_CONTAINER=true
  1. 使用 Claude Desktop 运行 MCP。Claude Desktop 在 Windows 上不会出现此问题。

Claude Desktop 配置 🧠

Windows 配置

json 复制代码
{
    "globalShortcut": "Ctrl+Space",
    "mcpServers": {
        "genaiscript-mcp": {
            "type": "stdio",
            "command": "cmd",
            "args": [
                "/c",
                "npx",
                "genaiscript",
                "mcp",
                "--remote",
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/",
                "--remote-branch",
                "main",
                "--groups",
                "mcp",
                "--startup",
		"mcp_resources"
            ],
            "env": {
                "DEBUG": "*"
            }
        }
    }
}

MacOS/Linux 配置

json 复制代码
{
    "globalShortcut": "Ctrl+Space",
    "mcpServers": {
        "genaiscript-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "genaiscript",
                "mcp",
                "--remote",
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/",
                "--remote-branch",
                "main",
                "--groups",
                "mcp",
                "--startup",
		"mcp_resources"
            ],
            "env": {
                "DEBUG": "*"
            }
        }
    }
}

VSCode 配置 🧩

VSCode Insiders 中的 MCP 配置位于 .vscode 文件夹中的 mcp.json 文件中。
Windows 配置

在 Windows 上直接运行 npx 似乎会出现问题。因此,我们必须使用 cmd 来启动 npx

jsonc 复制代码
{
    "servers": {
        "genaiscript-mcp-remote": {
            "type": "stdio",
            "command": "cmd",
            "args": [
                "/c",
                "npx",
                "genaiscript",
                "mcp",
                "--remote",
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/",
                "--remote-branch",
                "main",
                "--groups",
                "mcp"
            ],
            "env": {
                "DEBUG": "*"
            }
            // "envFile": "${workspaceFolder}/.env"
        }
    }
}

MacOS/Linux 配置

jsonc 复制代码
{
    "servers": {
        "genaiscript-mcp-remote": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "genaiscript",
                "mcp",
                "--remote",
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/",
                "--remote-branch",
                "main",
                "--groups",
                "mcp"
            ],
            "env": {
                "DEBUG": "*"
            }
            // "envFile": "${workspaceFolder}/.env"
        }
    }
}

您可以点击 Start 链接来启动 MCP 服务器。如果它已经在运行,您会看到一个 Running 指示器。

MCP Server Start
MCP Tools

提示文件

对于任何 Azure REST API 或 Graph API 问题,请使用 az.prompt.md

对于任何 Power Platform 问题,请使用 pac.prompt.md

您可以在 VSCode 中像下面这样使用提示。

Prompt1
Prompt2
Prompt3

在 Claude Desktop 中,您可以将提示文件上传到会话中。提示作为资源可用。根据计划询问 Claude 的内容选择适当的提示。如果需要,可以选择两者,但最好先选择一个并测试体验后再选择两者。

Claude file
PAC Prompt
AZ Prompt

以下是您如何在 GitHub Copilot 聊天中使用它的方法。

示例 1 - 查询 Power Platform 环境详细信息

Copilot PAC

示例 2 - 查询 Azure 订阅详细信息

Copilot Azure REST API

示例 3 - 查询 Graph API 详细信息

Copilot Graph API

示例 4 - 在 Claude Desktop 中查询 Power Platform 环境信息

Claude Desktop