项目简介
PSMCP(PowerShell Model Context Protocol)是一个基于PowerShell构建的MCP服务器实现。它允许开发者将其现有的PowerShell脚本和函数轻松暴露给支持Model Context Protocol的大型语言模型(LLM)客户端,例如某些AI编程助手或自定义的MCP客户端应用。通过PSMCP,PowerShell脚本不再是孤立的自动化工具,而是可以与AI进行自然语言交互、响应指令并提供上下文的服务端能力。
主要功能点
- 服务器脚手架: 提供简单的命令快速生成一个可工作的MCP服务器项目结构。
- 工具注册: 能够将PowerShell函数定义为可供AI客户端发现和调用的“工具”。通过简单的配置文件(mcp.json)或函数定义即可完成注册。
- 自然语言交互: 使得支持MCP的AI客户端能够理解用户的自然语言指令,并将其映射到注册的PowerShell函数调用。
- 能力声明: 服务器向客户端声明其可用的工具(PowerShell函数)及其元数据(如函数描述、参数信息),帮助客户端理解如何使用这些工具。
- 无缝集成: 设计用于与支持MCP协议的标准客户端(如Visual Studio Code中的GitHub Copilot Agent模式)进行集成,实现AI与代码的协作。
安装步骤
- 安装PowerShell: 确保您的系统上已安装PowerShell Core (pwsh) 或 Windows PowerShell。
- 打开PowerShell终端: 以管理员权限打开PowerShell终端。
- 安装PSMCP模块: 运行以下命令安装PSMCP模块:
Install-Module PSMCP - (可选)安装VS Code和GitHub Copilot: 为了获得最佳的客户端体验,建议安装Visual Studio Code (v1.99.3 或更高版本) 并设置GitHub Copilot Agent模式。
服务器配置
PSMCP服务器作为独立的进程运行,通过标准输入/输出(Stdio)或其他支持的协议与MCP客户端通信。MCP客户端需要知道如何启动这个服务器进程。
典型的MCP客户端配置需要指定以下信息以便连接到PSMCP服务器:
- 服务器名称 (server name): 给你的PSMCP服务器起一个易于识别的名称。
- 命令 (command): 启动PowerShell的命令,通常是 'pwsh' (PowerShell Core) 或 'powershell' (Windows PowerShell)。
- 参数 (args): 传递给PowerShell命令的参数,用于指定运行哪个脚本文件来启动PSMCP服务器。这通常是你的PSMCP项目目录下生成的主脚本文件路径。
例如,如果您使用 'New-MCP D:\Projects\MyScriptsMCP' 命令创建了项目,并且主脚本是 'D:\Projects\MyScriptsMCP\MyScriptsMCP.ps1',您的MCP客户端可能需要配置命令为 'pwsh',参数为 '-File D:\Projects\MyScriptsMCP\MyScriptsMCP.ps1'。具体的配置格式取决于您使用的MCP客户端应用程序。
基本使用方法
- 创建项目: 在PowerShell中运行 'New-MCP <你想创建项目的目录路径>' 来生成基本的PSMCP服务器项目文件结构。
- 定义功能: 打开新创建的项目目录,编辑 '.ps1' 脚本文件,在其中编写或粘贴你的PowerShell函数。为函数添加详细的帮助注释(Get-Help 格式),并考虑使用 'Global:' 作用域,以便服务器能够发现它们。
- 配置工具: 编辑项目目录下的 'mcp.json' 文件,在 'tools' 部分添加你的PowerShell函数名称。这会将函数注册为MCP工具。
- 启动服务器: 根据你的MCP客户端配置方式,启动PSMCP服务器进程。通常,客户端连接时会自动启动服务器。
- 与AI交互: 在你的MCP客户端界面(例如,VS Code中的Copilot聊天窗口),用自然语言描述你希望执行的任务,比如调用你刚刚添加的PowerShell函数。
- 执行与接收结果: AI客户端会根据你的提示和服务器声明的能力,建议调用相应的PowerShell函数。确认执行后,客户端通过MCP协议向服务器发送请求,服务器执行PowerShell函数并将输出或结果返回给客户端。
信息
分类
开发者工具