AI 에이전트와 MCP
droidline mcp로 Claude, Cursor, VS Code 등 MCP 클라이언트가 안드로이드 폰을 보고 쓸 수 있게 합니다. 클라이언트별 설정과 좋은 결과를 얻는 요령을 다룹니다.
번역된 페이지입니다. 영어 문서와 내용이 다르면 영어 문서가 기준입니다. English
MCP(Model Context Protocol)는 AI 어시스턴트가 외부 도구를 쓰는 표준 방식입니다. droidline mcp는 MCP 서버입니다. 어시스턴트를 여기에 연결하면, 어시스턴트가 스크립트에서 쓰는 것과 같은 명령으로 폰 화면을 보고, 탭하고, 입력하고, 스크롤할 수 있습니다.
동작 방식
- Droidline의 모든 명령은 같은 이름의 도구가 됩니다. 점이 들어간 이름은 밑줄로 바뀝니다.
chrome.go는chrome_go가 됩니다. dump는 빈 속성을 뺀 간결한 화면 트리를 돌려주므로 모델이 쓰는 토큰이 줄어듭니다.screenshot은 모델이 볼 수 있는 이미지를 돌려줍니다.- 서버는 에이전트에게 작업 방식을 알려 줍니다.
dump로 화면을 보고,text,id,desc로 요소를 다루고, 요소가 없는 화면에서만 좌표를 쓰라고 안내합니다. droidline serve가 실행 중이 아니면droidline mcp가 자기 프로세스 안에서 서버를 띄웁니다. 그래도 폰은droidline pair로 한 번 페어링해 두어야 합니다.
클라이언트 설정
사용하는 어시스턴트의 탭을 고르세요. 어느 경우든 명령은 droidline mcp입니다. droidline이 PATH에 없다면 C:\\Tools\\droidline\\droidline.exe처럼 프로그램의 전체 경로를 대신 쓰세요(JSON 안에서는 백슬래시를 두 번 씁니다).
claude mcp add droidline -- droidline mcp그런 다음 claude를 실행하고 폰을 봐 달라고 요청하세요. 서버가 연결됐는지는 claude mcp list로 확인합니다.
Settings, Developer, Edit Config를 차례로 열거나, 파일을 직접 고치세요.
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"droidline": { "command": "droidline", "args": ["mcp"] }
}
}Claude Desktop을 다시 시작하세요. 새 채팅의 도구 메뉴에 Droidline 도구가 나타납니다.
모든 프로젝트에서 쓰려면 ~/.cursor/mcp.json에, 한 프로젝트에서만 쓰려면 그 프로젝트 안의 .cursor/mcp.json에 다음을 추가하세요.
{
"mcpServers": {
"droidline": { "command": "droidline", "args": ["mcp"] }
}
}Cursor 설정에서 MCP를 열고 droidline이 목록에 있고 켜져 있는지 확인하세요.
워크스페이스의 .vscode/mcp.json에 다음을 추가하세요.
{
"servers": {
"droidline": { "type": "stdio", "command": "droidline", "args": ["mcp"] }
}
}그 위에 나타나는 코드 렌즈에서 서버를 시작한 뒤, Copilot의 에이전트 모드에서 도구를 쓰세요.
표준 입출력으로 서버를 시작할 수 있는 MCP 클라이언트라면 무엇이든 됩니다. 다음 명령을 실행하도록 설정하세요.
droidline mcp필요한 환경 변수는 없습니다. DROIDLINE_DEVICE, DROIDLINE_TOKEN 같은 설정이 있으면 읽어 들입니다.
폰 고르기
온라인인 폰이 한 대면 에이전트는 그 폰을 씁니다. 여러 대면 에이전트가 devices를 호출하고, 도구마다 device를 넘깁니다. 에이전트가 폰 한 대만 쓰게 하려면 --device를 추가하세요.
{
"mcpServers": {
"droidline": { "command": "droidline", "args": ["mcp", "--device", "shelf-01"] }
}
}
이름과 폰이 서로 다른 항목을 두 개 만들면, 어시스턴트 하나가 폰 두 대를 이름으로 구분해 쓸 수 있습니다.
좋은 결과를 얻는 요청
에이전트는 목표가 분명하고 그 목표를 확인할 방법이 있을 때 가장 잘합니다. 잘 통하는 프롬프트 몇 가지입니다.
- "내 폰에서 설정을 열고 어떤 Wi-Fi 네트워크에 연결돼 있는지 알려 줘."
- "데모 앱에서 knife로 로그인한 다음, 메인 화면의 잔액을 읽어 줘."
- "스크린샷을 찍고, 이 팝업을 닫는 버튼을 찾아서 눌러 줘."
- "방금 한 작업을 droidline 패키지를 써서 Python 스크립트로 작성해 줘."
마지막 요청은 좋은 습관입니다. 새 앱은 에이전트가 한 번 살펴보게 한 다음, 그 과정을 에이전트 없이 실행할 수 있는 스크립트로 바꾸세요.
연결할 대상에 주의하기
droidline mcp에 연결된 에이전트는 메시지 보내기, 설정 바꾸기를 포함해 사람이 폰에서 할 수 있는 일을 무엇이든 할 수 있습니다. 시험해 보는 동안에는 테스트용 폰이나 개인 계정이 없는 폰을 쓰세요. 그리고 clear_data, input, notification_reply처럼 데이터를 바꾸는 명령에 대해서는 클라이언트의 도구별 확인 기능을 켜 두세요.