使用说明
项目简介
本项目是基于 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 配置,方便部署和更新。
安装步骤
- 安装 NodeJS: 确保您的机器上已安装 NodeJS 运行环境。
- 安装 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 配置进行调整。
基本使用方法
- 启动 MCP 服务器: 在 VSCode Insiders 或 Claude Desktop 中,启动配置好的 'genaiscript-mcp' 或 'genaiscript-mcp-remote' 服务器。启动方式通常是在 MCP 客户端的服务器管理界面点击 "Start" 或类似的按钮。
- 使用 Prompt: 在 LLM 客户端中,可以使用仓库中提供的 Prompt 文件 ('.github/prompts' 目录下的 'az.prompt.md', 'pac.prompt.md'),或者根据需要自定义 Prompt。
- 与 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 命令,并将结果作为上下文信息返回,生成更准确、更具操作性的回复。
信息
分类
商业系统