Power Platform CLI、Graph API和Azure REST API-MCP
此存储库包含用于使用Graph API的模型上下文协议(MCP)工具、使用Azure CLI的Azure REST API以及使用Power Platform CLI的Power Platform管理API/Dataverse API。
先决条件
- VSCode内部人员-2025年3月版或克劳德桌面版
- 如果您没有使用DevContainer选项,请在本地计算机上安装Azure CLI和Power Platform CLI并进行身份验证。
- 开发容器CLI,如果你想在开发容器中运行MCP。
- 码头工人,如果你想运行Dev Containers。
什么是GenAIScript? 🤖
GenAIScript是一个框架,使您能够与AI模型(甚至是本地模型)进行通信。GenAIScript可以使用MCP工具,也可以充当MCP服务器。
模型上下文协议(MCP)📋
MCP规范的创建者Anthropic就是这样定义的 模型上下文协议
MCP是一个开放协议,它规范了应用程序如何向LLM提供上下文。将MCP想象成AI应用程序的USB-C端口。正如USB-C提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP提供了一个将AI模型连接到不同数据源和工具的标准化方法。
安装🛠️
- 安装NodeJS
- 安装
genaiscriptCLI使用npm install -g genaiscript,或使用npx genaiscript
用法💻
如果您安装了2025年3月版本的VSCode Insiders,您应该能够在本地运行GenAIScript MCP服务器,以在本地计算机上安装工具版本。
mcp.json 是配置MCP服务器的地方。您甚至不需要使用这种方法克隆此仓库,因为GenAIScript可以在后台克隆仓库,以便您使用工具。如果您正在使用 --remote 标志,您根本不需要安装GenAIScript扩展,因为npx会为您引入所有内容。
已知问题-Windows上的副本⚠️
GitHub Copilot似乎不喜欢CLI试图在VSCode Insider中进行身份验证。如果您尝试这样做,Power Platform CLI将失败 The requested service provider could not be loaded or initialized. 错误。
您有两个选择:
- 在DevContainers中运行整个仓库。此仓库指定了.devcontainer.json配置文件。如果使用此选项,则可以创建一个名为的新文件
genaiscript.env在 .devcontainer 文件夹。使用以下内容作为示例。
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- 使用Claude Desktop运行MCP。Claude Desktop在Windows上不会遇到此问题
Claude桌面配置🧠
Windows配置
{
"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配置
{
"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配置是通过.vcode文件夹中的MCP.json文件进行的。 Windows配置
直接运行npx似乎会在Windows中产生问题。所以,我们必须使用 cmd 启动 npx.
{
"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配置
{
"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"
}
}
}您可以通过单击“开始”链接启动MCP服务器。如果它已经在运行,您将看到一个正在运行的指示器。
提示文件
使用 az.prompt.md 针对任何Azure REST API或Graph API问题。
使用 pac.prompt.md 对于任何Power Platform问题。
您可以在VSCode中使用如下提示。
在Claude Desktop中,您可以将提示文件上传到会话。提示作为资源提供。为你打算问克劳德的问题选择合适的提示。如果需要,你可以选择两者,但最好选择一个,在选择两者之前先测试一下体验。
下面是如何在GitHub Copilot聊天中使用它。
