只需 5 分钟,让你的 Android App 快速接入 MCP 协议,打通 LLM 的调度

一个专门针对 Android 平台的 MCP 协议实现,让原生的 Android App 快速接入,从而实现 LLM 的能力调度。实现一个 App 就是一个 MCP Server 的快速接入。

立足于官方 MCP 协议之上,以 AIDL 为纽带,让 AI 代理与 Android App 从此再无壁垒,融为一体。可以助力构建 AI App 和被 AI 使用的 App。

github.com/AnswerZhao/...

项目中有使用 OpenAI SDK + android-mcp-sdk 的接入示例,期望快速验证和体验 AI 调度的小伙伴值得一试。

🎯 适用对象

  • 🤖 AI 应用开发者:构建能够控制整个 Android 生态系统的 LLM 助手
  • 📱 Android 开发者:将您的应用能力暴露给不断增长的 AI 助手市场
  • 🏢 企业团队:为内部 Android 应用套件创建统一的 AI 接口
  • 🔬 研究人员:原型开发跨应用 AI 交互和自动化工作流

💡 解决的问题

当前状态:您的 LLM 被困在单一应用中

  • ❌ 无法访问其他 Android 应用的功能
  • ❌ 每个应用各自孤立存在
  • ❌ 仅限于内置函数功能
  • ❌ 应用暴露 AI 可调用函数没有标准方式

使用 Android MCP SDK:您的 LLM 成为系统级 AI 助手

  • 跨应用通信:调用任何启用 MCP 的 Android 应用中的函数
  • 自动发现:在整个系统中查找可用工具
  • 安全设计:Android 原生权限系统,具有灵活策略
  • 生产就绪:基于 Android 强大的 AIDL/Binder IPC 架构
  • 零应用更改:现有应用可以在不改变架构的情况下添加 MCP 支持

🚀 快速开始

服务端应用集成(工具提供者)

1. 添加依赖

scss 复制代码
dependencies {
    implementation("com.github.AnswerZhao:android-mcp-sdk:v0.0.1")
    implementation("io.modelcontextprotocol:kotlin-sdk:0.6.0")
}

maven { url = uri("https://jitpack.io") }

2. 创建您的 MCP 服务

kotlin 复制代码
class WeatherMCPService : MCPService() {
    override fun getImplementation() = Implementation("weather-service", "1.0.0")
    
    override fun getServerOptions() = ServerOptions(
        capabilities = ServerCapabilities(tools = ServerCapabilities.Tools(listChanged = true))
    )

    override fun registerTools(server: Server) {
        server.addTool(
            name = "get_current_weather",
            description = "获取指定位置的当前天气"
        ) { request ->
            val location = request.arguments["location"]?.jsonPrimitive?.content
            CallToolResult(content = listOf(TextContent("$location 的天气:晴朗,25°C")))
        }
    }
}

3. 在 AndroidManifest.xml 中声明,参考示例配置 mcp_tools.json

ini 复制代码
<service android:name=".WeatherMCPService" android:exported="true" android:permission="zwdroid.mcp.sdk.permission.ACCESS_MCP_SERVICES">
    <intent-filter>
        <action android:name="zwdroid.mcp.sdk.TOOLS_SERVICE" />
    </intent-filter>
    <meta-data android:name="mcp.description" android:value="天气工具服务" />
    <meta-data android:name="mcp.tools" android:resource="@raw/mcp_tools" />
</service>

客户端应用集成(LLM 消费者)

1. 添加依赖

scss 复制代码
dependencies {
    implementation("com.github.AnswerZhao:android-mcp-sdk:v0.0.1")
    implementation("io.modelcontextprotocol:kotlin-sdk:0.6.0")
}

maven { url = uri("https://jitpack.io") }

2. 从 LLM 中调用工具

java 复制代码
val mcpApi = MCPApi.getInstance(context)

// 发现可用工具
val tools = mcpApi.getAllAvailableTools()

// 调用特定工具
val result = mcpApi.callTool(
    "com.example.weather/.WeatherMCPService#get_current_weather",
    buildJsonObject { put("location", JsonPrimitive("旧金山,加州")) }
)

3. 添加权限

xml 复制代码
<uses-permission android:name="zwdroid.mcp.sdk.permission.ACCESS_MCP_SERVICES" />
<queries>
    <intent>
        <action android:name="zwdroid.mcp.sdk.TOOLS_SERVICE" />
    </intent>
</queries>
相关推荐
又见情义1 小时前
RK3568 Android 13 开机时间优化-HAL 服务延时启动
android
凯程序猿1号1 小时前
ChatCut online 整理备份恢复演练录屏:快照、校验值与恢复时间怎样留证
程序人生·github·电脑
小芒果_012 小时前
从0到1,将pycharm上的项目上传到github
ide·pycharm·github
v_34836087622 小时前
Android8 开机动画结束分析
android
美狐美颜SDK开放平台4 小时前
直播APP开发核心功能详解:美颜SDK、音视频、礼物等功能成本怎么计算?
android·人工智能·计算机视觉·音视频·直播美颜sdk
安河桥。4 小时前
Android视频流处理模块硬件加速器数据流转技术说明
android·图像处理·isp
hunterandroid4 小时前
[Android 从零到一] APK 体积优化实战:从 50MB 到 15MB 的瘦身之旅
android·前端
迪飞特科技4 小时前
《MyBatis 批量插入性能优化的 5 个关键参数配置》
android·性能优化·mybatis
逛逛GitHub4 小时前
分享 2 个刚开源的数据集,一个是健身动作,一个是 CAD。
github