Skip to main content
Glama

MCP Demo Server

by keosu
POWERSHELL_GUIDE.md3.03 kB
# PowerShell 脚本使用指南 ## 脚本概述 本项目提供了四个 PowerShell 脚本来替代原有的批处理文件: - `setup_and_run.ps1` - 自动创建虚拟环境并启动服务器 - `test_with_venv.ps1` - 在虚拟环境中运行测试 - `start_server.ps1` - 直接启动服务器(不使用虚拟环境) - `run_tests.ps1` - 直接运行测试(不使用虚拟环境) ## 运行方式 ### 方式一:双击运行 Windows 系统中可以直接双击 `.ps1` 文件运行(如果已配置 PowerShell 为默认处理程序)。 ### 方式二:PowerShell 命令行 1. 打开 PowerShell 终端 2. 导航到项目目录: ```powershell cd "c:\Users\Administrator\learn\mcpdemo" ``` 3. 运行脚本: ```powershell .\setup_and_run.ps1 .\test_with_venv.ps1 .\start_server.ps1 .\run_tests.ps1 ``` ### 方式三:从任意位置运行 ```powershell # 使用完整路径 & "c:\Users\Administrator\learn\mcpdemo\setup_and_run.ps1" ``` ## 执行策略 如果遇到 "无法加载文件,因为在此系统上禁止运行脚本" 的错误,需要设置 PowerShell 执行策略: ### 临时允许(推荐) ```powershell Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process ``` ### 永久允许(需要管理员权限) ```powershell # 以管理员身份运行 PowerShell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine ``` ### 检查当前执行策略 ```powershell Get-ExecutionPolicy ``` ## 脚本特性 ### 彩色输出 PowerShell 脚本使用了彩色输出来增强可读性: - 绿色:标题和成功信息 - 黄色:进度信息 - 红色:错误信息 - 青色:URL 和重要提示 - 品红色:用户操作提示 ### 错误处理 - 使用 `try-catch` 块处理 Python 环境检测 - 自动检测虚拟环境是否存在 - 提供清晰的错误提示和解决建议 ### 交互式提示 - 使用 `Read-Host` 替代 `pause` 命令 - 提供更好的用户交互体验 ## 与批处理文件的主要区别 | 特性 | 批处理文件 (.bat) | PowerShell (.ps1) | |------|------------------|-------------------| | 彩色输出 | 不支持 | 支持 | | 错误处理 | 基础 | 高级(try-catch) | | 跨平台 | 仅 Windows | Windows + 跨平台 PowerShell | | 语法 | 传统 DOS | 现代 PowerShell | | 可读性 | 一般 | 更好 | ## 常见问题 ### Q: PowerShell 脚本比批处理文件有什么优势? A: - 更好的错误处理和异常管理 - 彩色输出提升用户体验 - 更现代的语法和功能 - 更好的跨平台支持 - 更强的脚本能力 ### Q: 如何确保 PowerShell 脚本正常工作? A: - 确保使用 PowerShell 5.1 或更高版本 - 检查执行策略设置 - 确保 Python 环境正确安装 ### Q: 可以同时保留批处理文件吗? A: 可以,两种脚本可以共存。根据个人喜好选择使用哪种。 ## 后续维护 如需修改脚本功能,建议: 1. 保持脚本的一致性 2. 维护彩色输出的风格 3. 确保错误处理的完整性 4. 更新相关文档

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keosu/mcpdemo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server