只需 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 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone1 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc1 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
lpfasd1231 天前
2026年第38周GitHub趋势周报
python·科技·github
ttyyttemo1 天前
Kotlin 协程中的 Job 结构化并发与取消
android
u1301301 天前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github
sun0077001 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透