For developers · Checked 1 October 2026

Android AppFunctions: your app as on-device tools for AI agents

Short answer: AppFunctions is an Android platform API with a Jetpack library that lets your app act like an on-device MCP server: you mark functions such as “create note” or “send message”, and agents and assistants such as Gemini can discover and run them to complete a user’s request. It works on Android 16 and higher and is an experimental preview: Google says the Gemini integration was in a private preview with trusted testers as of May 2026, and only a limited number of apps and system agents can use the full pipeline.

How an AppFunction gets called

From Android Developers’ «Overview of AppFunctions», read 1 October 2026.

StepWhat happens
DeclarationYou annotate the functions to expose using the Jetpack library’s annotation processor
Schema generationThe library generates an XML schema listing your AppFunctions; Android indexes it
Metadata retrievalThe agent queries function metadata, including your KDocs and app-level guidance
Selection and executionFrom the user’s prompt, the agent picks a function and runs it with parameters

What callers need

Callers, which can be agents, apps or assistants like Gemini, need the EXECUTE_APP_FUNCTIONS permission to discover and run AppFunctions. They use AppFunctionManager, first checking that the device supports the feature, then isAppFunctionEnabled(packageName, functionId) for a specific function. Your app, as the provider, doesn’t have to check support itself; the Jetpack library handles it.

AppFunctions versus an MCP server

Both let AI agents orchestrate tools. Google’s distinction: AppFunctions are OS-level hooks exclusive to Android that run locally and use your app’s existing state, with no service to maintain outside the app, while a standard MCP server is platform-agnostic and relies on cloud execution and network round trips. Google expects agents to consider remote MCP tools and local AppFunctions together.

What it looks like for users

Google’s examples: “Remind me to pick up my package at work today at 5 PM” creates a task in a to-do app with title, time and place filled in; “Add Mom’s birthday party to my calendar for next Monday at 6 PM” calls a calendar app’s create-event function; and a cross-app request can search an email app for a recipe and add its ingredients to a shopping list app. Because agents read your KDocs, clear function documentation matters.

Building and testing

Google provides an AppFunctions sample, an agent skill that analyzes your code to suggest high-value functions, generates the Kotlin and metadata, refines KDocs for agents and gives adb commands for testing, and the adb shell cmd app_function command to check registration, inspect metadata and run functions on a device. If your implemented functions aren’t reachable from a system agent, that’s expected during the experiment: access to the whole pipeline is limited. Related Android 17 reading: the Handoff API and the Android 17 behavior changes checklist.

Where Censuus fits

Being callable by assistants is one new way to be found; being ranked is another. Censuus ranks apps by the visits they draw, and adding your app is free on the List my app form. Placement comes from traffic and sponsorship: apps climb on the visits they draw, and a sponsor can pay to rise higher.

Frequently asked questions

What are Android AppFunctions?

An Android platform API and Jetpack library that let apps expose functions as tools that AI agents and assistants like Gemini can discover and run on the device, similar to MCP tools.

Which Android version supports AppFunctions?

Android 16 or higher.

Can I implement AppFunctions today?

Yes. You can implement and test them in your app now, but the feature is an experimental preview and only a limited number of apps and system agents can access the full pipeline.

Is AppFunctions the same as MCP?

No. Both let agents use tools, but AppFunctions are Android-only OS hooks that run locally in your app, while an MCP server is platform-agnostic and runs in the cloud.

What permission does an app need to call AppFunctions?

android.permission.EXECUTE_APP_FUNCTIONS, which callers need to discover and execute AppFunctions in other apps.

Guides for app developers

Put your app in the ranking

Censuus ranks apps by the visits they draw and by sponsorship, no bots. Listing is free; sponsorship raises placement.