You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+93Lines changed: 93 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1788,6 +1788,99 @@ Unit tests run automatically on every push and pull request via [GitHub Actions]
1788
1788
1789
1789
A [weekly workflow](.github/workflows/check-aosp-updates.yml) checks for new AOSP revision tags, regenerates version tables and proxy code, and opens a PR automatically if anything changed.
1790
1790
1791
+
## binder-mcp
1792
+
1793
+
AI agents can interact with Android devices through [binder-mcp](cmd/binder-mcp/), a [Model Context Protocol](https://modelcontextprotocol.io/) server that exposes binder services as tools.
1794
+
1795
+
<!-- BEGIN GENERATED BINDER_MCP -->
1796
+
1797
+
### Device mode
1798
+
1799
+
```bash
1800
+
# Build and push
1801
+
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o build/binder-mcp ./cmd/binder-mcp/
1802
+
adb push build/binder-mcp /data/local/tmp/
1803
+
1804
+
# Use with Claude Code (or any MCP client)
1805
+
# In your MCP config, add:
1806
+
# {
1807
+
# "mcpServers": {
1808
+
# "android": {
1809
+
# "command": "adb",
1810
+
# "args": ["shell", "/data/local/tmp/binder-mcp"]
1811
+
# }
1812
+
# }
1813
+
# }
1814
+
```
1815
+
1816
+
### Remote mode (runs on host)
1817
+
1818
+
```bash
1819
+
go run ./cmd/binder-mcp/ --mode remote
1820
+
# Auto-discovers device via ADB, pushes daemon, serves MCP on stdio
1821
+
```
1822
+
1823
+
### Available tools
1824
+
1825
+
| Tool | Description |
1826
+
|---|---|
1827
+
|`list_services`| Enumerate all binder services |
1828
+
|`get_service_info`| Descriptor, handle, liveness for a service |
1829
+
|`call_method`| Invoke raw binder transactions |
1830
+
|`get_device_info`| Power, display, thermal status |
1831
+
|`get_location`| GPS/fused location |
1832
+
|`check_permissions`| SELinux context and service accessibility |
1833
+
1834
+
<!-- END GENERATED BINDER_MCP -->
1835
+
1836
+
## Interoperability
1837
+
1838
+
<!-- BEGIN GENERATED INTEROPERABILITY -->
1839
+
1840
+
<details>
1841
+
<summary><strong>gadb</strong> — Pure Go ADB for CI/CD</summary>
1842
+
1843
+
The `interop/gadb/runner/` package provides pure-Go ADB device control
1844
+
without requiring the `adb` binary. Discover devices, push binaries,
0 commit comments