项目简介

本项目是一个将 Termux API 功能封装为 MCP 工具的服务端实现。通过在 PC 端运行此服务器,并配置 MCP 客户端(如 Cherry Studio),您可以让大型语言模型 (LLM) 或其他支持 MCP 的应用远程调用 Android 设备上的 Termux API 命令,实现设备信息的获取和部分功能的控制。

主要功能点

  • 获取设备状态信息,如电池、摄像头、WiFi 等。
  • 读取通话记录和短信记录。
  • 执行敏感操作,如拨打电话、发送短信。
  • 控制屏幕亮度、剪贴板、手电筒等。
  • 获取设备位置、传感器数据。
  • 显示通知、播放音频、使用文本转语音。
  • 访问 USB 设备、设置壁纸。

安装步骤

  1. 在 Android 设备上安装 Termux 和 Termux:API:从 F-Droid 或其他可信来源安装 Termux 和 Termux:API 应用,并确保 Termux:API 应用已获得所需权限。
  2. 在 Termux 中安装 OpenSSH:打开 Termux 应用,运行命令 'pkg update && pkg upgrade' 然后 'pkg install openssh'。
  3. 配置 Termux SSH:运行 'sshd' 启动 SSH 服务器。使用 'passwd' 设置 SSH 密码。运行 'whoami' 获取 Termux 用户名。运行 'ifconfig' 或 'ip addr' 获取设备的局域网 IP 地址。
  4. 在 PC 上克隆仓库:将本项目代码克隆到您的电脑上。
  5. 安装 Python 依赖:在 PC 上的项目目录下,打开终端或命令行,运行 'pip install fastmcp paramiko'。
  6. 配置 SSH 连接信息:您可以通过环境变量或在 MCP 客户端配置中提供 SSH 连接信息。推荐在 MCP 客户端配置中设置 'TERMUX_SSH_HOST'(Termux 设备 IP)、'TERMUX_SSH_PORT'(Termux SSH 端口,默认为 8022)、'TERMUX_SSH_USER'(Termux 用户名)和 'TERMUX_SSH_PASSWORD'(Termux SSH 密码)。

服务器配置(供 MCP 客户端使用)

此 MCP 服务器通过标准输入/输出 (stdio) 传输协议与客户端通信。您需要在支持 MCP 的客户端中添加一个新的服务器配置。配置大致如下:

  • 服务器名称 (name): 为此连接取一个标识名称,例如 'termux-api-mcp-tools'。
  • 传输类型 (type): 选择 'stdio'。
  • 是否激活 (isActive): 设置为 'true' 以启用。
  • 标签 (tags): 可选,用于分类,例如 'termux', 'android', 'mobile'。
  • 命令 (command): 运行 Python 解释器的路径,例如在 Windows 上可能是 'python.exe',在 Linux/macOS 上可能是 'python3' 或 'python'。
  • 参数 (args): 包含要运行的服务器脚本路径的列表,例如 '["/path/to/your/cloned/repo/termux-api-tools-mcp-server.py"]'。
  • 环境变量 (env): 一个键值对字典,用于设置 SSH 连接所需的环境变量。这是推荐的配置方式。例如:
    {
      "TERMUX_SSH_HOST": "您的Android设备局域网IP",
      "TERMUX_SSH_PORT": "8022",
      "TERMUX_SSH_USER": "您的Termux用户名",
      "TERMUX_SSH_PASSWORD": "您的Termux SSH密码"
    }

配置完成后,MCP 客户端将能够启动并连接到此服务器。

基本使用方法

在 MCP 客户端中,一旦成功连接到此服务器,LLM 或用户界面将能够看到服务器暴露的工具列表。您可以通过调用这些工具来执行相应的 Termux API 命令。例如,您可以调用名为 'termux_battery_status' 的工具来获取电池信息,或者调用 'termux_sms_send' 工具并提供号码和文本参数来发送短信。具体的工具名称和参数请参考 MCP 客户端中显示的服务端能力声明。

信息

分类

桌面与硬件