GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
AI control of Android/iOS devices. Screenshots, UI tree, AI vision, Flutter, video. 49 tools.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GOOGLE_API_KEY, MOBILE_MCP_LICENSE_KEY, MCP_ADB_PATH, MCP_DEFAULT_DEVICEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"mobile-device": {
"command": "npx",
"args": [
"-y",
"mobile-device-mcp"
],
"env": {
"GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"MOBILE_MCP_LICENSE_KEY": "ใส่ค่าของคุณ",
"MCP_ADB_PATH": "ใส่ค่าของคุณ",
"MCP_DEFAULT_DEVICE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add mobile-device --env GOOGLE_API_KEY='ใส่ค่าของคุณ' --env MOBILE_MCP_LICENSE_KEY='ใส่ค่าของคุณ' --env MCP_ADB_PATH='ใส่ค่าของคุณ' --env MCP_DEFAULT_DEVICE='ใส่ค่าของคุณ' -- npx -y mobile-device-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mobile-device": {
"command": "npx",
"args": [
"-y",
"mobile-device-mcp"
],
"env": {
"GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"MOBILE_MCP_LICENSE_KEY": "ใส่ค่าของคุณ",
"MCP_ADB_PATH": "ใส่ค่าของคุณ",
"MCP_DEFAULT_DEVICE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mobile-device": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mobile-device-mcp"
],
"env": {
"GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"MOBILE_MCP_LICENSE_KEY": "ใส่ค่าของคุณ",
"MCP_ADB_PATH": "ใส่ค่าของคุณ",
"MCP_DEFAULT_DEVICE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_ADB_PATH envMCP_DEFAULT_DEVICE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub saranshbamania ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GOOGLE_API_KEY, MOBILE_MCP_LICENSE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.9) เข้า registry 8 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
mobile-device-mcp
MCP server that gives AI coding assistants (Claude Code, Cursor, Windsurf) the ability to see and interact with mobile devices. 49 tools for screenshots, UI inspection, touch interaction, AI-powered visual analysis, Flutter widget tree inspection, video recording, and test generation.
AI assistants can read your code but can't see your phone. This fixes that.
| Feature | mobile-device-mcp | mobile-next/mobile-mcp | appium/appium-mcp |
|---|---|---|---|
| Total tools | 49 | 20 | ~15 |
| Setup | npx (30 sec) | npx | Requires Appium server |
| AI visual analysis | 12 tools (Claude + Gemini) | None | Vision-based finding |
| Flutter widget tree | 10 tools (Dart VM Service) | None | None |
| Smart element finding | 4-tier (<1ms local search) | Accessibility tree only | XPath/selectors |
| Companion app (23x faster UI tree) | Yes | No | No |
| Video recording | Yes | No | No |
| Test script generation | TS, Python, JSON | No | Java/TestNG only |
| iOS simulator support | Yes | Yes | Yes |
| iOS real device | Planned | Yes | Yes |
| Screenshot compression | 89% (251KB->28KB) | None | 50-80% |
| Multi-provider AI | Claude + Gemini | N/A | Single provider |
| Price | Free + Pro (₹499/mo) | Free | Free |
Web developers have browser DevTools, Playwright, and Puppeteer -- AI assistants can click around, take screenshots, and verify fixes. Mobile developers? They're stuck manually screenshotting, copying logs, and describing what's on screen. They're human middleware between the AI and the device.
Developer: "The login button doesn't work"
Without this tool: With this tool:
npx mobile-device-mcp
No global install needed. Runs directly via npx.
macOS / Linux:
{
"mcpServers": { "mobile-device": { "type": "stdio", "command": "npx", "args": ["-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key" } } } }
Windows:
{
"mcpServers": { "mobile-device": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key" } } } }
With Pro license key (after purchasing Pro):
macOS / Linux (Pro)
{
"mcpServers": { "mobile-device": { "type": "stdio", "command": "npx", "args": ["-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key", "MOBILE_MCP_LICENSE_KEY": "MDMCP-XXXXX-XXXXX-XXXXX-XXXXX" } } } }
</details>
Windows (Pro)
{
"mcpServers": { "mobile-device": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key", "MOBILE_MCP_LICENSE_KEY": "MDMCP-XXXXX-XXXXX-XXXXX-XXXXX" } } } }
</details>
The server starts and stops automatically -- you never run it manually. Your AI assistant manages it as a background process via the MCP protocol.
Claude Code: type /mcp -- you should see mobile-device: Connected
Cursor: check MCP panel in settings
Then just talk to your phone:
You: "Open my app, tap the login button, type test@email.com in the email field"
AI: [takes screenshot -> sees the screen -> smart_tap("login button") -> smart_type("email field", "test@email.com")]
You: "Find all the bugs on this screen" AI: [analyze_screen -> inspects layout, checks for overflow, missing labels, broken states]
You: "Navigate to settings and verify dark mode works" AI: [smart_tap("settings") -> take_screenshot -> smart_tap("dark mode toggle") -> visual_diff -> reports result]
No test scripts. No manual screenshots. Just describe what you want in plain English.
| Tool | Config file | Docs |
|---|---|---|
| Claude Code | .mcp.json in project root | claude.ai/docs |
| Cursor | .cursor/mcp.json | cursor.com/docs |
| VS Code + Copilot | MCP settings | code.visualstudio.com |
| Windsurf | MCP settings | windsurf.com |
All use the same JSON config -- just put it in the right file for your editor.
Copy .mcp.json into any mobile project -- Flutter, React Native, Kotlin, Swift -- and your AI assistant gets device superpowers in that directory. No global install needed.
| Tool | What it does |
|---|---|
list_devices | List all connected Android devices/emulators |
get_device_info | Model, manufacturer, Android version, SDK level |
get_screen_size | Screen resolution in pixels |
take_screenshot | Capture screenshot (PNG or JPEG, configurable quality & resize) |
get_ui_elements | Get the accessibility/UI element tree as structured JSON |
tap | Tap at coordinates |
double_tap | Double tap at coordinates |
long_press | Long press at coordinates |
swipe | Swipe between two points |
type_text | Type text into the focused field |
press_key | Press a key (home, back, enter, volume, etc.) |
list_apps | List installed apps |
get_current_app | Get the foreground app |
get_logs | Get logcat entries with filtering |
[Get Pro License](https://rzp.io/rzp/r4ijQsJY) -- unlock all 49 tools. After payment, you'll receive your license key via email within 1 hour. Add it to your .mcp.json:
{
"mcpServers": { "mobile-device": { "type": "stdio", "command": "npx", "args": ["-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key", "MOBILE_MCP_LICENSE_KEY": "your-license-key" } } } }
Use AI vision (Claude or Gemini) to understand what's on screen.
| Tool | What it does |
|---|---|
analyze_screen | AI describes the screen: app name, screen type, interactive elements, visible text, suggestions |
find_element | Find a UI element by description: *"the login button"*, *"email input field"* |
smart_tap | Find an element by description and tap it in one step |
smart_type | Find an input field by description, focus it, and type text |
suggest_actions | Plan actions to achieve a goal: *"log into the app"*, *"add item to cart"* |
visual_diff | Compare current screen with a previous screenshot -- what changed? |
extract_text | Extract all visible text from the screen (AI-powered OCR) |
verify_screen | Verify an assertion: *"the login was successful"*, *"error message is showing"* |
wait_for_settle | Wait until the screen stops changing |
wait_for_element | Wait for a specific element to appear on screen |
handle_popup | Detect and dismiss popups, dialogs, permission prompts |
fill_form | Fill multiple form fields in one step |
Connect to running Flutter apps via Dart VM Service Protocol. Maps every widget to its source code location (file:line).
| Tool | What it does |
|---|---|
flutter_connect | Discover and connect to a running Flutter app on the device |
flutter_disconnect | Disconnect from the Flutter app and clean up resources |
flutter_get_widget_tree | Get the full widget tree (summary or detailed) |
flutter_get_widget_details | Get detailed properties of a specific widget by ID |
flutter_find_widget | Search the widget tree by type, text, or description |
flutter_get_source_map | Map every widget to its source code location (file:line:column) |
flutter_screenshot_widget | Screenshot a specific widget in isolation |
flutter_debug_paint | Toggle debug paint overlay (shows widget boundaries & padding) |
flutter_hot_reload | Hot reload Flutter app (preserves state) |
flutter_hot_restart | Hot restart Flutter app (resets state) |
macOS only. Control iOS simulators via xcrun simctl.
| Tool | What it does |
|---|---|
ios_list_simulators | List available iOS simulators |
ios_boot_simulator | Boot a simulator by name or UDID |
ios_shutdown_simulator | Shut down a running simulator |
ios_screenshot | Take a screenshot of a simulator |
| Tool | What it does |
|---|---|
record_screen | Start recording the device screen |
stop_recording | Stop recording and save the video |
| Tool | What it does |
|---|---|
start_test_recording | Start recording your MCP tool calls |
stop_test_recording | Stop recording and generate a test script |
get_recorded_actions | Get recorded actions as TypeScript, Python, or JSON |
| Tool | What it does |
|---|---|
launch_app | Launch an app by package name |
stop_app | Force stop an app |
install_app | Install an APK |
uninstall_app | Uninstall an app |
The server is optimized to minimize latency and AI token costs:
smart_tap is 35x faster than naive AI calls (205ms vs 7.6s).Promise.all().| Variable | Description | Default |
|---|---|---|
GOOGLE_API_KEY or GEMINI_API_KEY | Google API key for Gemini vision (recommended) | -- |
|
ตัดมาแค่ช่วงต้น อ่านต่อใน repo