使用说明

项目简介

本项目是基于 GenAIScript 框架构建的 MCP (Model Context Protocol) 服务器实现。它专注于提供对 Azure 云服务和 Microsoft Power Platform 的访问能力,使得大型语言模型 (LLM) 应用可以通过 MCP 协议,安全、便捷地获取云端数据和调用云服务功能。该服务器作为 LLM 应用的上下文信息和工具桥梁,简化了云服务集成,提升了 AI 应用的智能化水平。

主要功能点

  • 云服务资源访问: 通过 Azure CLI、Power Platform CLI 和 Graph API 提供对 Azure 订阅、Power Platform 环境及 Microsoft Graph 数据的访问能力,使 LLM 可以获取最新的云端资源信息。
  • 工具执行: 集成 Azure CLI 和 Power Platform CLI 工具,允许 LLM 应用调用云服务命令,例如管理 Azure 资源、操作 Power Platform 数据等。
  • Prompt 模板: 提供预定义的 Prompt 模板,方便用户快速构建针对 Azure 和 Power Platform 的查询和操作指令,降低 LLM 应用开发门槛。
  • 标准化 MCP 协议: 遵循 MCP 协议标准,确保与支持 MCP 协议的 LLM 客户端(如 Claude Desktop、VSCode Insiders 等)的兼容性和互操作性。
  • 远程仓库部署: 支持从远程 GitHub 仓库拉取工具和 Prompt 配置,方便部署和更新。

安装步骤

  1. 安装 NodeJS: 确保您的机器上已安装 NodeJS 运行环境。
  2. 安装 GenAIScript CLI: 打开终端或命令提示符,运行命令 'npm install -g genaiscript' 或使用 'npx genaiscript' (无需全局安装)。

服务器配置

MCP 客户端 (如 Claude Desktop, VSCode Insiders) 需要配置 MCP 服务器的连接信息。以下是配置示例,您只需复制 JSON 配置到客户端的 MCP 服务器配置文件中,并根据您的环境进行必要的调整。

Claude Desktop 配置 (Windows/MacOS/Linux 通用)

在 Claude Desktop 的配置文件中 (通常是 JSON 格式),添加或修改 'mcpServers' 部分,配置 'genaiscript-mcp' 服务器。

{
    "globalShortcut": "Ctrl+Space",
    "mcpServers": {
        "genaiscript-mcp": {  // 服务器名称,客户端内唯一标识
            "type": "stdio",  // 连接类型,这里使用标准输入输出流
            "command": "npx", // 启动服务器的命令 (MacOS/Linux) 或 "cmd" (Windows)
            "args": [         // 命令参数
                "genaiscript",
                "mcp",        // 运行 genaiscript 的 mcp 服务器模式
                "--remote",   // 指定从远程仓库加载工具和 Prompt
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/", // 远程仓库 URL
                "--remote-branch", // 远程仓库分支
                "main",
                "--groups",     // 指定加载的工具组
                "mcp"
            ],
            "env": {           // 环境变量 (可选)
                "DEBUG": "*"   // 开启 debug 日志 (可选)
            }
        }
    }
}

注意 (Windows 用户): 如果 'command' 使用 '"npx"' 在 Windows 下可能存在问题,请尝试将 'command' 修改为 '"cmd"',并在 'args' 中添加 '"/c"' 作为第一个参数,例如:

"command": "cmd",
"args": [
    "/c",
    "npx",
    "genaiscript",
    "mcp",
    "--remote",
    "https://github.com/rajyraman/genaiscript-pac-az-mcp/",
    "--remote-branch",
    "main",
    "--groups",
    "mcp"
]

VSCode Insiders 配置 (Windows/MacOS/Linux 通用)

在 VSCode Insiders 工作区或用户设置的 '.vscode/mcp.json' 文件中,配置 'servers' 部分,添加 'genaiscript-mcp-remote' 服务器。配置内容与 Claude Desktop 类似,只需将 'mcpServers' 替换为 'servers'。

{
    "servers": {
        "genaiscript-mcp-remote": { // 服务器名称,客户端内唯一标识
            "type": "stdio",        // 连接类型,这里使用标准输入输出流
            "command": "npx",       // 启动服务器的命令 (MacOS/Linux) 或 "cmd" (Windows)
            "args": [              // 命令参数
                "genaiscript",
                "mcp",             // 运行 genaiscript 的 mcp 服务器模式
                "--remote",        // 指定从远程仓库加载工具和 Prompt
                "https://github.com/rajyraman/genaiscript-pac-az-mcp/", // 远程仓库 URL
                "--remote-branch", // 远程仓库分支
                "main",
                "--groups",        // 指定加载的工具组
                "mcp"
            ],
            "env": {              // 环境变量 (可选)
                "DEBUG": "*"      // 开启 debug 日志 (可选)
            }
            // "envFile": "${workspaceFolder}/.env" // 可选,加载环境变量文件
        }
    }
}

注意 (Windows 用户): 同样地,如果 'command' 使用 '"npx"' 在 Windows 下可能存在问题,请参考 Claude Desktop 的 Windows 配置进行调整。

基本使用方法

  1. 启动 MCP 服务器: 在 VSCode Insiders 或 Claude Desktop 中,启动配置好的 'genaiscript-mcp' 或 'genaiscript-mcp-remote' 服务器。启动方式通常是在 MCP 客户端的服务器管理界面点击 "Start" 或类似的按钮。
  2. 使用 Prompt: 在 LLM 客户端中,可以使用仓库中提供的 Prompt 文件 ('.github/prompts' 目录下的 'az.prompt.md', 'pac.prompt.md'),或者根据需要自定义 Prompt。
  3. 与 LLM 交互: 在 LLM 客户端的聊天界面中,输入自然语言问题,LLM 将根据 Prompt 和 MCP 服务器提供的工具与上下文信息进行响应,实现对 Azure 和 Power Platform 资源的查询和操作。

例如,在 VSCode Insiders 或 Claude Desktop 中,可以提问:

  • "列出我的 Azure 订阅" (使用 'az.prompt.md')
  • "获取 Power Platform 环境的详细信息" (使用 'pac.prompt.md')

LLM 将调用 MCP 服务器提供的工具,执行相应的 Azure CLI, Power Platform CLI 或 Graph API 命令,并将结果作为上下文信息返回,生成更准确、更具操作性的回复。

信息

分类

商业系统