Provides integration with App Store Connect API for managing iOS applications, including retrieving app listings, managing team members, and TestFlight operations
🚀 Pero MCP Server
一个功能强大的 Model Context Protocol (MCP) 服务器
集成多种功能 • SSH 连接管理 • App Store Connect API 集成
✨ 功能特性
🔐 SSH 客户端
🔗 SSH 连接管理 - 安全的远程连接
⚡ 远程命令执行 - 快速执行远程操作
📁 文件传输功能 - 双向文件传输支持
🍎 App Store Connect 集成
📱 应用列表获取 - 管理你的应用
👥 团队成员管理 - 协作团队管理
🧪 TestFlight 管理工具 - 测试版本管理
🛠️ 安装和配置
📋 环境要求
Python 3.8+
📦 相关依赖包(见 requirements.txt)
💻 安装依赖
⚙️ MCP 客户端配置
在你的 MCP 客户端(如 Claude Desktop)配置文件中添加以下配置:
📡 传输方式配置说明
MCP 服务器支持多种传输方式,可以通过以下参数进行配置:
参数名 | 描述 | 默认值 | 示例 |
| 传输协议类型 |
|
,
|
| 服务器主机地址(HTTP模式) |
|
,
|
| 服务器端口(HTTP模式) |
|
,
|
📋 传输方式说明:
🔤 stdio (默认):标准输入输出方式,适合本地开发和测试
🌐 http:streamable-http 方式,适合网络通信和远程访问
🏠 本地开发环境配置
🌐 远程生产环境配置
🔄 无需本地安装和配置,自动获取最新代码
🏭 适合生产环境或团队协作使用
📝 环境变量说明
变量名 | 描述 | 示例 |
| SSH 服务器主机地址 |
|
| SSH 用户名 |
|
| SSH 端口(默认 22) |
|
| SSH 密码 |
|
变量名 | 描述 | 必需 |
| App Store Connect API 密钥 ID | ✅ |
| 发行者 ID | ✅ |
| 私钥内容(完整的 PEM 格式) | ✅ |
| 应用 ID | ❌ |
🔧 可用工具
分类 | 工具名称 | 功能描述 |
🔐 SSH |
| 🔗 建立 SSH 连接 |
🔐 SSH |
| ⚡ 执行远程命令 |
🔐 SSH |
| ⬆️ 上传文件 |
🔐 SSH |
| ⬇️ 下载文件 |
🍎 App Store |
| ⚙️ 配置 App Store Connect 凭据 |
🍎 App Store |
| 📱 获取应用列表 |
🍎 App Store |
| 👥 获取团队成员信息 |
📚 可用资源
🔐 SSH 资源
ssh://status
- 📊 SSH 连接状态ssh://info
- ℹ️ SSH 连接信息
🍎 App Store Connect 资源
appstore://apps
- 📱 应用列表appstore://members
- 👥 团队成员列表
💡 可用提示模板
🔐 SSH 提示
ssh_troubleshoot
- 🔧 SSH 连接故障排除
🍎 App Store Connect 提示
manage_testflight
- 🧪 TestFlight 管理操作
🚀 使用示例
启动服务器后,你可以在 MCP 客户端中使用以下命令:
👨💻 开发指南
📁 项目结构
🔧 开发环境设置
📥 克隆项目
git clone <repository-url> cd pero-mcp-server🐍 创建虚拟环境
python -m venv .venv # Windows .venv\Scripts\activate # Linux/macOS source .venv/bin/activate📦 安装依赖
pip install -r requirements.txt⚙️ 设置环境变量 创建
.env
文件或在系统中设置环境变量:SSH_HOST=your_ssh_host SSH_USERNAME=your_username SSH_PORT=22 SSH_PASSWORD=your_password APPSTORE_KEY_ID=your_key_id APPSTORE_ISSUER_ID=your_issuer_id APPSTORE_PRIVATE_KEY=your_private_key
🏗️ 代码架构
1. 📦 客户端架构 (clients/)
🎯 i_mcp_client.py: 定义了MCP客户端的通用接口
🔐 ssh/: SSH功能的客户端实现,包含SSH连接管理和远程操作
🍎 appstoreconnect/: App Store Connect功能的客户端实现,处理App Store API交互
2. 🚀 主服务器 (pero_mcp_server.py)
🔧 集成所有客户端组件
🎯 提供统一的MCP服务器入口
⚡ 处理工具调用、资源访问和提示模板
🔄 管理不同客户端之间的协调
📜 开发规范
✅ 使用Python类型提示
📝 遵循PEP 8代码规范
🏷️ 使用有意义的变量和函数名
📖 添加适当的文档字符串
🛡️ 使用适当的异常处理
💬 提供清晰的错误消息
📋 记录关键操作的日志
✅ 为新功能编写单元测试
🔍 确保现有测试通过
🎯 测试错误情况和边界条件
➕ 添加新功能
要添加新功能,需要实现 IMCPClient
接口。以下是完整的实现步骤:
由于项目具有自发现机制,你只需要将新客户端放在正确的位置即可:
为新功能创建独立的模块目录:
🔍 自动发现机制
服务器会自动扫描 clients/
目录下的所有子目录,查找继承自 IMCPClient
的类并自动注册。你无需手动修改主服务器代码。
完成客户端实现后,重启MCP服务器即可自动加载新功能:
服务器启动时会自动发现并注册你的新客户端。
2. 🎯 IMCPClient接口说明
IMCPClient
是所有MCP客户端必须实现的抽象基类,包含以下方法:
register_tools(mcp)
🔧: 注册工具函数,这些工具可以被MCP客户端调用执行特定操作register_resources(mcp)
📚: 注册资源处理器,用于提供可读取的数据资源register_prompts(mcp)
💡: 注册提示模板,用于生成特定场景的提示内容get_name()
🏷️: 获取客户端名称(已提供默认实现)
3. 🌟 实现最佳实践
🔐 安全注意事项
⚠️ 重要提醒:
🚫 不要在代码库中提交真实的密码、私钥等敏感信息
🛡️ 建议使用环境变量或安全的配置管理工具
🔄 定期更换 SSH 密码和 API 密钥
🔒 确保私钥文件的权限设置正确
📄 许可证
本项目采用 MIT 许可证。
🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进本项目!
💬 支持
如果您在使用过程中遇到问题,请通过 GitHub Issues 反馈。
Made with ❤️ by peropero
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables SSH connection management with remote command execution and file transfer capabilities, plus App Store Connect integration for managing applications, team members, and TestFlight operations.