AndroidTVMCP-安卓电视遥控器到MCP桥
一种模型上下文协议(MCP)服务器,为AI助手和其他MCP客户端提供Android电视遥控功能。
概述
AndroidTVMCP将Android电视遥控功能与模型上下文协议连接起来,实现了Android电视控制与AI驱动的工作流程和自动化系统的无缝集成。
特性
- 设备发现:自动检测本地网络上的Android电视设备
- 遥控器:完整的导航和播放控制功能
- 应用程序管理:启动并在Android TV应用程序之间切换
- 状态监测:查询设备状态和当前状态
- MCP集成:符合标准MCP协议,易于集成
快速开始
安装
使用虚拟环境(推荐)
# Create a virtual environment
python -m venv androidtvmcp-env
# Activate the virtual environment
# On Linux/macOS:
source androidtvmcp-env/bin/activate
# On Windows:
# androidtvmcp-env\Scripts\activate
# Install the package
pip install androidtvmcp全球安装
pip install androidtvmcp基本用法
- 启动MCP服务器:
androidtvmcp --host localhost --port 8080- 配置MCP客户端以连接到服务器
- 通过AI助手使用Android电视控制工具
示例命令
- 导航:“在Android TV上向上移动”
- 播放:“暂停当前视频”
- 应用程序:“在Android TV上启动Netflix”
- 状态:“Android TV上当前正在播放什么?”
配置
创建配置文件 config.json:
{
"devices": {
"discovery": {
"enabled": true,
"timeout": 10
},
"connection": {
"timeout": 5,
"retry_attempts": 3
}
},
"mcp": {
"host": "localhost",
"port": 8080,
"transport": "stdio"
},
"logging": {
"level": "INFO",
"file": "androidtvmcp.log"
}
}MCP工具
导航工具
atv_navigate:导航Android TV界面(向上、向下、向左、向右、选择、菜单、返回、主页)atv_input_text:将文本输入发送到Android TV
播放工具
atv_playback:控制媒体播放(播放、暂停、停止、快进、倒退)atv_volume:调整音量(向上、向下、静音)
应用管理工具
atv_launch_app:启动特定应用程序atv_get_apps:列出可用应用程序atv_switch_app:在正在运行的应用程序之间切换
设备工具
atv_get_devices:列出已发现的Android电视设备atv_get_status:获取当前设备状态和状态atv_power:电源控制(打开、关闭、睡眠)
MCP资源
设备信息
device://[device_id]/info:设备功能和信息device://[device_id]/status:当前设备状态device://[device_id]/apps:可用应用程序
当前状态
state://current_app:当前活动的应用程序state://playback:当前播放状态state://volume:当前音量水平
发展
设置开发环境
使用虚拟环境(推荐)
# Clone the repository
git clone https://github.com/pigeek/androidtvmcp.git
cd androidtvmcp
# Create and activate virtual environment
python -m venv venv
# Activate the virtual environment
# On Linux/macOS:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate
# Install in development mode with dev dependencies
pip install -e ".[dev]"替代设置
git clone https://github.com/pigeek/androidtvmcp.git
cd androidtvmcp
pip install -e ".[dev]"运行测试
pytest开发工具
这 devtools/ 目录包含用于手动测试和验证的独立脚本:
cd devtools
python test_command_processor.py # Test command processor functionality
python test_mcp_client.py # Test MCP client-server communication
python test_mcp_integration.py # Test MCP server integration看 devtools/README.md 有关每个脚本的详细信息。
代码格式化
black src/ tests/
isort src/ tests/类型检查
mypy src/建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ AndroidTVMCP │◄──►│ Android TV │
│ (AI Assistant) │ │ Server │ │ Devices │
└─────────────────┘ └─────────────────┘ └─────────────────┘组件
- MCP服务器:处理MCP协议通信
- 设备管理器:管理Android TV设备的发现和连接
- 命令处理器:将MCP请求转换为Android TV命令
- 网络层:处理Android TV协议通信
需求
- Python 3.8+
- 同一网络上的Android电视设备
- 用于设备发现的网络连接
故障排除
常见问题
- 找不到设备
- 确保Android TV在同一网络上 - 检查防火墙设置 - 验证是否启用了设备发现
- 连接失败
- 检查网络连接 - 验证是否启用了Android电视遥控器 - 尝试重新启动Android电视设备
- 命令不起作用
- 确保设备已通电 - 检查设备是否支持该命令 - 验证连接状态
调试模式
启用调试日志记录:
androidtvmcp --log-level DEBUG贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 运行测试套件
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
