AndroidTVMCP 是一个 Model Context Protocol (MCP) 服务器,它为 AI 助手和其他 MCP 客户端提供 Android TV 远程控制功能,能无缝地将 Android TV 控制集成到 AI 工作流和自动化系统中。
# 创建虚拟环境
python -m venv androidtvmcp-env
# 激活虚拟环境
# 在 Linux/macOS 上:
source androidtvmcp-env/bin/activate
# 在 Windows 上:
# androidtvmcp-env\Scripts\activate
# 安装软件包
pip install androidtvmcp
pip install androidtvmcp
androidtvmcp --host localhost --port 8080
创建一个配置文件 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"
}
}
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 TV 设备atv_get_status
:获取当前设备状态和状态信息atv_power
:电源控制(开启、关闭、睡眠)device://[device_id]/info
:设备功能和信息device://[device_id]/status
:当前设备状态device://[device_id]/apps
:可用应用程序state://current_app
:当前活动的应用程序state://playback
:当前播放状态state://volume
:当前音量级别┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ AndroidTVMCP │◄──►│ Android TV │
│ (AI Assistant) │ │ Server │ │ Devices │
└─────────────────┘ └─────────────────┘ └─────────────────┘
# 克隆仓库
git clone https://github.com/pigeek/androidtvmcp.git
cd androidtvmcp
# 创建并激活虚拟环境
python -m venv venv
# 激活虚拟环境
# 在 Linux/macOS 上:
source venv/bin/activate
# 在 Windows 上:
# venv\Scripts\activate
# 以开发模式安装并包含开发依赖
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 # 测试命令处理器功能
python test_mcp_client.py # 测试 MCP 客户端 - 服务器通信
python test_mcp_integration.py # 测试 MCP 服务器集成
有关每个脚本的详细信息,请参阅 devtools/README.md
。
black src/ tests/
isort src/ tests/
mypy src/
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
启用调试日志记录:
androidtvmcp --log-level DEBUG