ð± Phone MCP Plugin
ããŒã«ã«ð± Phone MCP Plugin ã«ã€ããŠ
Phone MCP Plugin ã¯ãADB ã³ãã³ããéã㊠Android ã¹ããŒããã©ã³ãæäœãã MCP ãã©ã°ã€ã³ã§ããé話ãSMSãã¢ããªãç»é¢æäœã«å¯Ÿå¿ããŠããŸããAI ã¢ã·ã¹ã¿ã³ããã端æ«ãçŽæ¥æäœãããå Žåã«é©ããŠãããå©çšåã« USB ãããã°ãæå¹ã«ããUSB ã§æ¥ç¶ããŠããå¿ èŠããããŸãã
äž»ãªæ©èœ
- 01é話ã®çºä¿¡ãçµäºãç信察å¿
- 02SMS ã®éä¿¡ãšåä¿¡
- 03UI èªååã«ããé£çµ¡å ã®èªã¿åããšäœæ
- 04ã¿ãããã¹ã¯ã€ããæåå ¥åãããŒæäœ
- 05ç»é¢è§£æãš UI 倿Žã®ç£èŠ
- 06é»è©±çªå·ä»ãã®å°å³ POI æ€çŽ¢
掻çšã·ãŒã³
- 01AI ã¢ã·ã¹ã¿ã³ãã®æç€ºã§é話ã SMS ãéä¿¡ãã
- 02UI èªååã§ç«¯æ«ã«é£çµ¡å ãäœæãã
- 03èªååã¹ã¯ãªããã§ç»é¢èŠçŽ ã®è¡šç€ºãæ¶å€±ãåŸ æ©ãã
MCP 察å¿
MCP ãã©ã°ã€ã³ãšããŠãé話ãã¡ãã»ãŒãžãã¢ããªãç»é¢æäœãªã©ã®æ©èœãããŒã«ãšã㊠MCP ã¯ã©ã€ã¢ã³ãã«å ¬éããŸããAI ã¢ã·ã¹ã¿ã³ãã®èšå®ãã¡ã€ã«ããèµ·åããæ§æã§ãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
21æ²èŒæã®ããŒã«äžèЧ · 3 é±éåã«æŽæ°
| ãã©ã¡ãŒã¿ãŒ | å | å¿ é | 説æ |
|---|---|---|---|
| phone_number | string | ã¯ã |
詳现
ð± Phone MCP Plugin
ð ADB ã³ãã³ãã䜿ã£ãŠãAndroid ã¹ããŒããã©ã³ãç°¡åã«æäœã§ãã匷å㪠MCP ãã©ã°ã€ã³ã§ãã
äŸ
-
仿¥ã®å€©æ°ããã©ãŠã¶ãŒã§èª¿ã¹ããã®å 容ã«åºã¥ããŠèªåã§Netease MusicãéžæããŠåçããŸãã確èªã¯äžèŠã§ãã
-
é£çµ¡å ããHaoã«é»è©±ããããŸããå¿çããªãå Žåã¯ãäŒè°å®€101ã«æ¥ãããSMSãéä¿¡ããŸãã
â¡ ã¯ã€ãã¯ã¹ã¿ãŒã
ð¥ ã€ã³ã¹ããŒã«
Python 3.10+ ãš uv ã䜿ã£ãŠãéé¢ãããç°å¢ã§å®è¡ããŸãã
uvx --with "mcp<2" --with requests phone-mcp
远å ã®äŸåé¢ä¿ã¯ãæ¢åã®PyPIãªãªãŒã¹ãšã®MCP v1 APIäºææ§ãç¶æãããããã¢ãžã¥ãŒã«ãã€ã³ããŒããã requests ãæäŸããŸãããããã¯æŽæ°æžã¿ã®ãœãŒã¹ããã±ãŒãžã§å®£èšãããŠããŸãããæ§ãªãªãŒã¹ã§ã¯å¿
èŠã§ãã
uvã䜿ã£ãŠæ°žç¶çã«ã€ã³ã¹ããŒã«ããå ŽåïŒ
uv venv --python 3.11 .venv
uv pip install --python .venv/bin/python phone-mcp "mcp<2" requests
.venv/bin/phone-cli --help
ãŸãã¯ãLinux/macOSã§Pythonçµã¿èŸŒã¿ã®ä»®æ³ç°å¢ãšpipã䜿ããŸãã
python3 -m venv .venv
.venv/bin/python -m pip install phone-mcp "mcp<2" requests
.venv/bin/phone-cli --help
Windowsã§ã¯ãpy -3 -m venv .venv ã§ç°å¢ãäœæããäžèšã® .venv/bin/ ã®ãã¹ã®ä»£ããã« .venv\Scripts\python.exe ãš .venv\Scripts\phone-cli.exe ã䜿çšããŠãã ããã
Debian/Ubuntuã§ externally-managed-environment ãšã©ãŒãçºçããå Žåãã·ã¹ãã Pythonã¯OSã«ãã£ãŠç®¡çãããŠããŸããuvx ãŸãã¯ä»®æ³ç°å¢ã䜿çšããŠãã ãããsudo pip ã --break-system-packages ã§åé¿ããªãã§ãã ãããvenv ãå©çšã§ããªãå Žåã¯ããŸãã·ã¹ãã ã®ããã±ãŒãžãããŒãžã£ãŒã§ python3-venv ãã€ã³ã¹ããŒã«ããŠãã ããã
ð§ èšå®
AI ã¢ã·ã¹ã¿ã³ãã®èšå®
AI ã¢ã·ã¹ã¿ã³ãã®èšå®ïŒCursorãTraeãClaudeãªã©ïŒã§æ§æããŸãã
{
"mcpServers": {
"phone-mcp": {
"command": "uvx",
"args": [
"--with", "mcp<2",
"--with", "requests",
"phone-mcp"
]
}
}
}
ãŸãã¯ãpipã§ã€ã³ã¹ããŒã«ããå ŽåïŒ
{
"mcpServers": {
"phone-mcp": {
"command": "/absolute/path/to/.venv/bin/python",
"args": [
"-m",
"phone_mcp"
]
}
}
}
éèŠïŒphone-mcpãã€ã³ã¹ããŒã«ããä»®æ³ç°å¢å ã®Pythonã®çµ¶å¯Ÿãã¹ã䜿çšããŠãã ãããã·ã¹ãã Pythonã¯äœ¿çšããªãã§ãã ãããLinux/macOSã§ã¯
/absolute/path/to/.venv/bin/pythonãWindowsã§ã¯C:\path\to\.venv\Scripts\python.exeã䜿çšããŸãïŒJSONã§ã¯ããã¯ã¹ã©ãã·ã¥ã\\ã«ãšã¹ã±ãŒãããŠãã ããïŒãAI ã¢ã·ã¹ã¿ã³ããèµ·åããåã«ç°å¢ãæå¹åããå¿ èŠã¯ãããŸããã
泚ïŒCursorã§ã¯ããã®èšå®ã
~/.cursor/mcp.jsonã«èšè¿°ããŠãã ããã
äœ¿ãæ¹ïŒ
- ããšãã°ãClaudeãšã®äŒè©±ã§ã³ãã³ããçŽæ¥äœ¿çšããŸãã
Please call contact hao
â ïž äœ¿çšããåã«ã次ã®ç¹ã確èªããŠãã ããã
- ADBãæ£ããã€ã³ã¹ããŒã«ããã³èšå®ãããŠããããš
- Androidããã€ã¹ã§USBãããã°ãæå¹ã«ãªã£ãŠããããš
- ããã€ã¹ãUSBçµç±ã§ã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããŠããããš
ð¯ äž»ãªæ©èœ
- ð é話æ©èœïŒçºä¿¡ãé話çµäºãçä¿¡ã®åä¿¡
- ð¬ ã¡ãã»ãŒãžïŒSMSã®éåä¿¡ãã¡ãã»ãŒãžã®çããŒã¿ååŸ
- ð¥ é£çµ¡å ïŒã¹ããŒããã©ã³ã®é£çµ¡å ãžã®ã¢ã¯ã»ã¹ãèªåUIæäœã«ããæ°ããé£çµ¡å ã®äœæ
- ðž ã¡ãã£ã¢ïŒã¹ã¯ãªãŒã³ã·ã§ãããç»é¢é²ç»ãã¡ãã£ã¢æäœ
- ð± ã¢ããªïŒã¢ããªã®èµ·åãã€ã³ãã³ãã«ããç¹å®ã¢ã¯ãã£ããã£ã®èµ·åãã€ã³ã¹ããŒã«æžã¿ã¢ããªã®äžèŠ§è¡šç€ºãã¢ããªã®çµäº
- ð§ ã·ã¹ãã ïŒãŠã£ã³ããŠæ å ±ãã¢ããªã®ã·ã§ãŒãã«ãã
- ðºïž ãããïŒé»è©±çªå·ä»ãã®POIãæ€çŽ¢
- ð±ïž UIæäœïŒã¿ãããã¹ã¯ã€ããããã¹ãå ¥åãããŒæŒäž
- ð UIæ€æ»ïŒããã¹ããIDãã¯ã©ã¹ã説æã«ããèŠçŽ ã®æ€çŽ¢
- ð€ UIèªååïŒèŠçŽ ã衚瀺ããããŸã§åŸ æ©ãèŠçŽ ãèŠã€ããããã®ã¹ã¯ããŒã«
- ð§ ç»é¢åæïŒæ§é åãããç»é¢æ å ±ãšçµ±äžãããæäœ
- ð ãŠã§ããã©ãŠã¶ãŒïŒããã€ã¹ã®æ¢å®ã®ãã©ãŠã¶ãŒã§URLãéã
- ð UIç£èŠïŒUIã®å€åãç£èŠããç¹å®ã®èŠçŽ ã衚瀺ãŸãã¯é衚瀺ã«ãªããŸã§åŸ æ©
ð ïž èŠä»¶
- Python 3.10+
- USBãããã°ãæå¹ãªAndroidããã€ã¹
- ADBããŒã«
ð åºæ¬ã³ãã³ã
ããã€ã¹ãšæ¥ç¶
# Check device connection
phone-cli check
# Get screen size
phone-cli screen-interact find method=clickable
éä¿¡
# Make a call
phone-cli call 1234567890
# End current call
phone-cli hangup
# Send SMS
phone-cli send-sms 1234567890 "Hello"
# Get received messages (with pagination)
phone-cli messages --limit 10
# Get sent messages (with pagination)
phone-cli sent-messages --limit 10
# Get contacts (with pagination)
phone-cli contacts --limit 20
# Create a new contact with UI automation
phone-cli create-contact "John Doe" "1234567890"
ã¡ãã£ã¢ãšã¢ããª
# Take screenshot
phone-cli screenshot
# Record screen
phone-cli record --duration 30
# Launch app (may not work on all devices)
phone-cli app camera
# Alternative app launch method using open_app (if app command doesn't work)
phone-cli open_app camera
# Close app
phone-cli close-app com.android.camera
# List installed apps (basic info, faster)
phone-cli list-apps
# List apps with pagination
phone-cli list-apps --page 1 --page-size 10
# List apps with detailed info (slower)
phone-cli list-apps --detailed
# Launch specific activity (reliable method for all devices)
phone-cli launch com.android.settings/.Settings
# Launch app by package name (may not work on all devices)
phone-cli app com.android.contacts
# Alternative launch by package name (if app command doesn't work)
phone-cli open_app com.android.contacts
# Launch app by package and activity (most reliable method)
phone-cli launch com.android.dialer/com.android.dialer.DialtactsActivity
# Open URL in default browser
phone-cli open-url google.com
ç»é¢åæãšæäœ
# Analyze current screen with structured information
phone-cli analyze-screen
# Unified interaction interface
phone-cli screen-interact <action> [parameters]
# Tap at coordinates
phone-cli screen-interact tap x=500 y=800
# Tap element by text
phone-cli screen-interact tap element_text="Login"
# Tap element by content description
phone-cli screen-interact tap element_content_desc="Calendar"
# Swipe gesture (scroll down)
phone-cli screen-interact swipe x1=500 y1=1000 x2=500 y2=200 duration=300
# Press key
phone-cli screen-interact key keycode=back
# Input text
phone-cli screen-interact text content="Hello World"
# Find elements
phone-cli screen-interact find method=text value="Login" partial=true
# Wait for element
phone-cli screen-interact wait method=text value="Success" timeout=10
# Scroll to find element
phone-cli screen-interact scroll method=text value="Settings" direction=down max_swipes=5
# Monitor UI for changes
phone-cli monitor-ui --interval 0.5 --duration 30
# Monitor UI until specific text appears
phone-cli monitor-ui --watch-for text_appears --text "Welcome"
# Monitor UI until specific element ID appears
phone-cli monitor-ui --watch-for id_appears --id "login_button"
# Monitor UI until specific element class appears
phone-cli monitor-ui --watch-for class_appears --class-name "android.widget.Button"
# Monitor UI changes with output as raw JSON
phone-cli monitor-ui --raw
äœçœ®æ å ±ãšããã
# Search nearby POIs with phone numbers
phone-cli get-poi 116.480053,39.987005 --keywords restaurant --radius 1000
ð é«åºŠãªäœ¿ãæ¹
ã¢ããªãšã¢ã¯ãã£ããã£ã®èµ·å
ãã©ã°ã€ã³ã§ã¯ãè€æ°ã®æ¹æ³ã§ã¢ããªãã¢ã¯ãã£ããã£ãèµ·åã§ããŸãã
-
ã¢ããªåã§æå®ïŒ2 ã€ã®æ¹æ³ïŒïŒ
# Method 1: Using app command (may not work on all devices) phone-cli app camera # Method 2: Using open_app command (alternative if app command fails) phone-cli open_app camera -
ããã±ãŒãžåã§æå®ïŒ2 ã€ã®æ¹æ³ïŒïŒ
# Method 1: Using app command (may not work on all devices) phone-cli app com.android.contacts # Method 2: Using open_app command (alternative if app command fails) phone-cli open_app com.android.contacts -
ããã±ãŒãžåãšã¢ã¯ãã£ããã£ã§æå®ïŒæãä¿¡é Œæ§ã®é«ãæ¹æ³ïŒïŒ
# This method works on all devices phone-cli launch com.android.dialer/com.android.dialer.DialtactsActivity
泚æïŒ
appãŸãã¯open_appã³ãã³ãã§åé¡ãçºçããå Žåã¯ãæã確å®ã«å®è¡ã§ãããããåžžã«å®å šãªã³ã³ããŒãã³ãåïŒããã±ãŒãžåïŒã¢ã¯ãã£ããã£ïŒãæå®ããŠlaunchã³ãã³ãã䜿çšããŠãã ããã
UI ãªãŒãã¡ãŒã·ã§ã³ã«ããé£çµ¡å ã®äœæ
ãã©ã°ã€ã³ã§ã¯ãUI æäœãéããŠé£çµ¡å ãäœæã§ããŸãã
# Create a new contact with UI automation
phone-cli create-contact "John Doe" "1234567890"
ãã®ã³ãã³ãã¯æ¬¡ã®æäœãè¡ããŸãã
- é£çµ¡å ã¢ããªãéããŸã
- é£çµ¡å ã®äœæç»é¢ã«ç§»åããŸã
- ååãšé»è©±çªå·ã®æ¬ã«å ¥åããŸã
- é£çµ¡å ãèªåçã«ä¿åããŸã
ç»é¢ããŒã¹ã®ãªãŒãã¡ãŒã·ã§ã³
çµ±åãããç»é¢æäœã€ã³ã¿ãŒãã§ãŒã¹ã«ããããšãŒãžã§ã³ãã¯æ¬¡ã®æäœãç°¡åã«è¡ããŸãã
- ç»é¢ã®åæïŒUI èŠçŽ ãšããã¹ãã®æ§é åãããåæçµæãååŸããŸã
- å€æïŒæ€åºããã UI ãã¿ãŒã³ãšå©çšå¯èœãªã¢ã¯ã·ã§ã³ã«åºã¥ããŠå€æããŸã
- æäœã®å®è¡ïŒäžè²«ãããã©ã¡ãŒã¿ãŒã·ã¹ãã ãéããŠæäœããŸã
UI ã®ç£èŠãšãªãŒãã¡ãŒã·ã§ã³
ãã©ã°ã€ã³ã«ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ã®å€åãæ€åºãã匷å㪠UI ç£èŠæ©èœãåãã£ãŠããŸãã
-
åºæ¬ç㪠UI ç£èŠïŒ
# Monitor any UI changes with custom interval (seconds) phone-cli monitor-ui --interval 0.5 --duration 30 -
ç¹å®ã®èŠçŽ ã衚瀺ããããŸã§åŸ æ©ïŒ
# Wait for text to appear (useful for automated testing) phone-cli monitor-ui --watch-for text_appears --text "Login successful" # Wait for specific ID to appear phone-cli monitor-ui --watch-for id_appears --id "confirmation_dialog" -
èŠçŽ ãæ¶ãããŸã§ç£èŠïŒ
# Wait for text to disappear phone-cli monitor-ui --watch-for text_disappears --text "Loading..." -
UI ã®å€æŽã«é¢ãã詳现ãªã¬ããŒããååŸïŒ
# Get raw JSON data with all UI change information phone-cli monitor-ui --raw
ãã³ãïŒUI ç£èŠã¯ãèªã¿èŸŒã¿ç»é¢ãå®äºãããŸã§åŸ æ©ããããUI äžã§æäœãåæ ãããããšã確èªããããããªãŒãã¡ãŒã·ã§ã³ã¹ã¯ãªããã§ç¹ã«åœ¹ç«ã¡ãŸãã
ð 詳现ãªããã¥ã¡ã³ã
ããã¥ã¡ã³ããšèšå®ã®è©³çްã«ã€ããŠã¯ãGitHub ãªããžããªãã芧ãã ããã
ð§° ããŒã«ã®ããã¥ã¡ã³ã
ç»é¢ã€ã³ã¿ãŒãã§ãŒã¹ API
ãã©ã°ã€ã³ã«ã¯ãããã€ã¹ãæäœããããã®å æ¬ç㪠API ãåãã匷åãªç»é¢ã€ã³ã¿ãŒãã§ãŒã¹ãçšæãããŠããŸããäž»ãªé¢æ°ãšãã®ãã©ã¡ãŒã¿ãŒã以äžã«ç€ºããŸãã
interact_with_screen
async def interact_with_screen(action: str, params: Dict[str, Any] = None) -> str:
"""Execute screen interaction actions"""
- ãã©ã¡ãŒã¿ãŒïŒ
actionïŒã¢ã¯ã·ã§ã³ã®çš®é¡ïŒ"tap"ã"swipe"ã"key"ã"text"ã"find"ã"wait"ã"scroll"ïŒparamsïŒåã¢ã¯ã·ã§ã³ã®çš®é¡ã«åºæã®ãã©ã¡ãŒã¿ãŒãå«ãèŸæž
- æ»ãå€ïŒ æäœçµæãå«ã JSON æåå
äŸïŒ
# Tap by coordinates
result = await interact_with_screen("tap", {"x": 100, "y": 200})
# Tap by element text
result = await interact_with_screen("tap", {"element_text": "Login"})
# Swipe down
result = await interact_with_screen("swipe", {"x1": 500, "y1": 300, "x2": 500, "y2": 1200, "duration": 300})
# Input text
result = await interact_with_screen("text", {"content": "Hello world"})
# Press back key
result = await interact_with_screen("key", {"keycode": "back"})
# Find element by text
result = await interact_with_screen("find", {"method": "text", "value": "Settings", "partial": True})
# Wait for element to appear
result = await interact_with_screen("wait", {"method": "text", "value": "Success", "timeout": 10, "interval": 0.5})
# Scroll to find element
result = await interact_with_screen("scroll", {"method": "text", "value": "Privacy Policy", "direction": "down", "max_swipes": 8})
analyze_screen
async def analyze_screen(include_screenshot: bool = False, max_elements: int = 50) -> str:
"""Analyze the current screen and provide structured information about UI elements"""
- ãã©ã¡ãŒã¿ãŒïŒ
include_screenshotïŒçµæã« Base64 ãšã³ã³ãŒããããã¹ã¯ãªãŒã³ã·ã§ãããå«ãããã©ããmax_elementsïŒåŠçãã UI èŠçŽ ã®æå€§æ°
- æ»ãå€ïŒ 詳现ãªç»é¢åæçµæãå«ã JSON æåå
create_contact
async def create_contact(name: str, phone: str) -> str:
"""Create a new contact with the given name and phone number"""
- ãã©ã¡ãŒã¿ãŒïŒ
nameïŒé£çµ¡å ã®æ°åphoneïŒé£çµ¡å ã®é»è©±çªå·
- æ»ãå€ïŒ æäœçµæãå«ã JSON æåå
- å ŽæïŒ ãã®é¢æ°ã¯ãcontacts.pyãã¢ãžã¥ãŒã«ã«ãããUI ãªãŒãã¡ãŒã·ã§ã³ãå®è¡ããŠé£çµ¡å ãäœæããŸã
launch_app_activity
async def launch_app_activity(package_name: str, activity_name: Optional[str] = None) -> str:
"""Launch an app using package name and optionally an activity name"""
- ãã©ã¡ãŒã¿ãŒïŒ
package_nameïŒèµ·åããã¢ããªã®ããã±ãŒãžåactivity_nameïŒèµ·åããç¹å®ã®ã¢ã¯ãã£ããã£ïŒä»»æïŒ
- æ»ãå€ïŒ æäœçµæãå«ã JSON æåå
- å ŽæïŒ ãã®é¢æ°ã¯ãapps.pyãã¢ãžã¥ãŒã«ã«ãããŸã
launch_intent
async def launch_intent(intent_action: str, intent_type: Optional[str] = None, extras: Optional[Dict[str, str]] = None) -> str:
"""Launch an activity using Android intent system"""
- ãã©ã¡ãŒã¿ãŒïŒ
intent_actionïŒå®è¡ããã¢ã¯ã·ã§ã³intent_typeïŒã€ã³ãã³ãã® MIME ã¿ã€ãïŒä»»æïŒextrasïŒã€ã³ãã³ããšãšãã«æž¡ã远å ããŒã¿ïŒä»»æïŒ
- æ»ãå€ïŒ æäœçµæãå«ã JSON æåå
- å ŽæïŒ ãã®é¢æ°ã¯ãapps.pyãã¢ãžã¥ãŒã«ã«ãããŸã
ð ã©ã€ã»ã³ã¹
Apache License, Version 2.0
é£çµ¡å äœæããŒã«
ãã®ããŒã«ã¯ãADB ã䜿çšã㊠Android ããã€ã¹äžã«é£çµ¡å ãç°¡åã«äœæã§ããŸãã
åææ¡ä»¶
- Python 3.x
- ADBïŒAndroid Debug BridgeïŒãã€ã³ã¹ããŒã«ãããèšå®ãããŠããããš
- Android ããã€ã¹ãæ¥ç¶ãããADB ã§ã®æäœãèš±å¯ãããŠããããš
äœ¿çšæ¹æ³
åºæ¬çãªäœ¿ãæ¹
ã¹ã¯ãªãããå®è¡ããã ãã§ãã
python create_contact.py
ããã«ãããæ¬¡ã®ããã©ã«ãå€ã䜿çšããŠé£çµ¡å ãäœæãããŸãã
- ã¢ã«ãŠã³ãåïŒãããªãã®ã¢ã«ãŠã³ãåã
- ã¢ã«ãŠã³ãã®çš®é¡ïŒ"com.google"
é«åºŠãªäœ¿ãæ¹
JSON æååã䜿çšããŠãã¢ã«ãŠã³ãåãšã¢ã«ãŠã³ãã®çš®é¡ãæå®ã§ããŸãã
python create_contact.py '{"account_name": "your_account", "account_type": "com.google"}'
åºå
ã¹ã¯ãªããã¯æ¬¡ã®å 容ãå«ã JSON ãªããžã§ã¯ããåºåããŸãã
successïŒæäœãæåãããã©ããã瀺ãããŒã«å€messageïŒã³ãã³ãã®åºåãŸãã¯ãšã©ãŒã¡ãã»ãŒãž
æåæã®åºåäŸïŒ
{"success": true, "message": ""}
ãšã©ãŒåŠç
- ADB ãå©çšã§ããªãå ŽåããŸãã¯ããã€ã¹ãæ¥ç¶ãããŠããªãå Žåãã¹ã¯ãªããã¯ãšã©ãŒãè¿ããŸã
- ç¡å¹ãª JSON å ¥åã®å Žåããšã©ãŒã¡ãã»ãŒãžãè¿ãããŸã
- ADB ã³ãã³ãã®ãšã©ãŒã¯ãã¹ãŠææããã
messageãã£ãŒã«ãã«è¿ãããŸã
泚æäºé
- Android ããã€ã¹ãæ¥ç¶ãããADB ã®äœ¿çšãèš±å¯ãããŠããããšã確èªããŠãã ãã
- ã³ãã³ãã®å®è¡äžã¯ãããã€ã¹ã®ç»é¢ã®ããã¯ãè§£é€ããŠããå¿ èŠããããŸã
- é£çµ¡å ã倿Žããããã«ã远å ã®æš©éãå¿ èŠãªããã€ã¹ããããŸã
ã¢ããªãšã·ã§ãŒãã«ãã
# Get app shortcuts (with pagination)
phone-cli shortcuts --package "com.example.app"
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã