使用说明
项目简介
Gosling 是一个 Android 平台的开源智能体项目,旨在帮助用户自动化手机上的各种任务。与传统的 MCP 服务器不同,Gosling 提出了一种移动端 MCP (Mobile MCP) 的概念。它允许其他的 Android 应用程序通过特定的 Intent 广播机制向 Gosling 注册并提供工具,从而扩展 Gosling 的能力。这种机制无需集中式的服务器,而是利用 Android 系统本身的应用间通信能力,实现了一种去中心化的、更适合移动环境的 MCP 架构。
主要功能点
- 移动端 MCP 协议扩展: 定义了一套基于 Android Intent 广播的 "移动端 MCP" 协议,用于工具的注册和调用。
- 工具发现机制: Gosling 应用可以动态发现并利用其他 Android 应用通过 "移动端 MCP" 协议暴露的工具。
- 跨应用任务自动化: 通过集成来自不同应用的工具,Gosling 可以执行涉及多个应用的复杂自动化任务。
- 通知响应: Gosling 可以响应 Android 系统通知,并根据预设规则自动执行任务。
- 作为 Home 屏幕替代: Gosling 可以作为 Android 设备的 Home 屏幕,提供更智能化的交互体验。
请注意: Gosling 并非传统的 MCP 服务器实现,它没有采用 JSON-RPC 等标准 MCP 协议,也没有资源管理和 Prompt 模板功能。它专注于移动端场景,利用 Android 特有的应用间通信机制实现了类似 MCP 协议的工具扩展能力。
安装步骤
- 环境准备: 确保已安装 Android Studio 和 Android SDK,并配置好 Android 开发环境。
- 克隆仓库: 从 GitHub 克隆 Gosling 仓库到本地。
git clone https://github.com/block/gosling.git - 导入项目: 在 Android Studio 中选择 "Open an existing Android Studio project",导入克隆下来的 Gosling 项目。
- 编译运行: 使用 Android Studio 编译并运行 Gosling 项目到 Android 模拟器或真机设备。
服务器配置 (移动端 MCP 客户端配置)
由于 Gosling 本身作为 MCP 客户端,需要配置才能发现和使用 "移动端 MCP 服务器" (即提供工具的 Android 应用)。但这里的 "服务器配置" 与传统 MCP 服务器的概念不同,不需要配置服务器的启动命令和参数。
在 Gosling 的 "移动端 MCP" 架构中,"服务器" 指的是那些实现了 "移动端 MCP" 协议并提供工具的 Android 应用 (例如 'breezy-weather' 示例应用)。 Gosling 作为 "客户端",通过监听特定的 Intent 广播来发现和调用这些 "服务器" 提供的工具。
因此,不需要对 Gosling 应用本身进行额外的服务器配置。 你只需要确保:
- 安装并运行 Gosling 应用。
- 安装并运行实现了 "移动端 MCP" 协议的工具提供应用 (例如 'breezy-weather' 示例应用)。 这些应用会在后台广播 Intent 来声明它们提供的工具。
示例 "服务器" (工具提供应用) 配置说明 (以 'breezy-weather' 为例):
为了让 Gosling 能够发现 'breezy-weather' 提供的工具,'breezy-weather' 应用需要配置一个 'BroadcastReceiver' (例如 'WeatherMCP'),并在其 'AndroidManifest.xml' 文件中注册。
'WeatherMCP.kt' (示例代码,无需用户配置,开发者需要实现类似代码来扩展 Gosling 功能):
class WeatherMCP : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { when (intent?.action) { "com.example.ACTION_MMCP_DISCOVERY" -> { val bundle = Bundle().apply { putStringArray("tools", arrayOf("getWeather")) putString("getWeather.description", "Returns current weather for given location.") putString("getWeather.parameters", "{\"location\": \"string\"}") } setResultExtras(bundle) } "com.example.ACTION_MMCP_INVOKE" -> { val tool = intent.getStringExtra("tool") val params = intent.getStringExtra("params") // JSON string val result = when (tool) { "getWeather" -> "Weather is sunny, 25°C" else -> "Unknown tool" } setResultData(result) } } } }
'AndroidManifest.xml' (示例配置,无需用户配置,开发者需要配置):
<receiver android:name=".WeatherMCP" android:exported="true"> <intent-filter> <action android:name="com.example.ACTION_MMCP_DISCOVERY" /> <action android:name="com.example.ACTION_MMCP_INVOKE" /> </intent-filter> </receiver>
总结: 用户无需手动配置服务器地址或参数。 只需要安装 Gosling 和兼容的工具提供应用,Gosling 就能自动发现并使用这些应用提供的工具。
基本使用方法
- 启动 Gosling 应用。
- 确保安装并运行了提供 "移动端 MCP" 工具的应用 (例如 'breezy-weather')。
- Gosling 将自动发现并可以使用这些应用提供的工具来执行自动化任务。
- 具体的使用方式和可执行的任务取决于 Gosling 应用本身的功能实现以及已安装的工具提供应用。 请参考 Gosling 应用的界面和文档了解更多使用细节。
信息
分类
开发者工具