캘린더에 넣어 줘
채팅에 “목요일 3시 치과”라고 칩니다. 잠긴 아이폰의 캘린더에 일정이 생기고, 에이전트가 “추가됨: 치과 · 목 오후 3:00”을 읽어 줍니다.
Askew는 클로드, 챗GPT, Cursor 등 MCP를 쓰는 에이전트가 잠긴 아이폰에서 단축어를 실행하게 하는 릴레이입니다. 캘린더, 미리 알림, 메모, 연락처, 건강, 사진, HomeKit. 애플의 개인 데이터에는 서버 API가 없고, 유일한 문은 내 폰입니다. 에이전트가 그 문을 드나듭니다. 단축어를 실행하고, 결과를 돌려받고, 폰이 스스로 보내는 것을 받습니다.
Claude Code, ChatGPT, Codex, Cursor, n8n 등 MCP 서버를 붙일 수 있는 모든 에이전트와 함께 씁니다. 아직 출시 전입니다.
Askew는 로컬 MCP 서버로 제공됩니다. 에이전트가 MCP 서버를 추가할 수 있으면 아이폰을 쓸 수 있습니다. SDK도, 플러그인도, 브라우저 확장도 없습니다.
각 제품명은 해당 소유자의 상표입니다. Askew는 이들과 제휴하거나 보증받은 관계가 아닙니다.
에이전트에는 한 줄, 폰에는 자동화 하나. 그게 전부입니다. 컴퓨터에 상주 프로세스도, 브라우저 확장도 없습니다.
로컬 Askew 커넥터를 MCP 서버로 에이전트에 추가합니다. 에이전트에 run, notify, inbox 같은 도구가 생깁니다.
$ claude mcp add askew -s user -e ASKEW_CONNECTOR_KEY=akc_… -- npx -y askew-mcpAskew 앱에서 링크 하나를 탭합니다. 단축어 자동화 하나가 아이폰에 들어옵니다. 토글을 켜세요. 앞으로 만들 자동화는 이것 하나뿐입니다.
첫 실행 때 잠금 해제된 폰에서 “항상 허용”을 한 번 누릅니다. 그 뒤로는 잠긴 폰에서 1~2초 만에, 확인창 없이 돕니다.
폰에 앱 하나, 에이전트에 MCP 서버 하나, 자동화 하나. 릴레이 api.askew.my가 기본값이라 서버 쪽에서 손댈 것은 없습니다.
아이폰(iOS 27)에 Askew 앱을 설치합니다. 아직 App Store에는 없습니다 — 첫 TestFlight 빌드는 대기 명단으로 보내드립니다. 앱에서: 설정 → 서버에 등록 → 알림 허용 → 새 커넥터 만들기 → 키 복사. 키는 akc_로 시작하고 한 번만 보입니다.
커넥터는 npm의 askew-mcp 패키지입니다(Node 22 이상). 쓰는 에이전트를 고르세요:
claude mcp add askew -s user -e ASKEW_CONNECTOR_KEY=akc_… -- npx -y askew-mcp
{
"mcpServers": {
"askew": {
"command": "npx",
"args": ["-y", "askew-mcp"],
"env": { "ASKEW_CONNECTOR_KEY": "akc_…" }
}
}
}
[mcp_servers.askew]
command = "npx"
args = ["-y", "askew-mcp"]
env = { ASKEW_CONNECTOR_KEY = "akc_…" }
첫 실행 때 커넥터 지문이 출력됩니다. 앱의 커넥터 화면에 뜨는 지문과 같은지 한 번만 비교하세요 — 그게 종단 간 키 확인입니다.
앱에서 프리셋 → Askew 디스패처 → 설치. 공유 시트에서 단축어를 고르고 → 단축어 추가 → 열어서 맨 위 자동화 토글을 켭니다. 폰을 잠그지 않은 채 설정 → 세팅 점검에서 테스트 푸시를 한 번 보내고 “항상 허용”을 누르세요. 그다음 에이전트에게:
“폰 캘린더에 목요일 3시 치과 넣어.”
에이전트에 도구 9개가 생깁니다 — askew_run, askew_notify, askew_inbox_wait 등. 프리셋에서 레시피를 더하는 건 링크 탭 한 번이고, 자동화는 그대로입니다.
에이전트가 폰에 묻고, 폰이 에이전트에 알리고, 에이전트가 잠금 화면에 보여줍니다.
채팅에 “목요일 3시 치과”라고 칩니다. 잠긴 아이폰의 캘린더에 일정이 생기고, 에이전트가 “추가됨: 치과 · 목 오후 3:00”을 읽어 줍니다.
미리 알림을 추가하고, 찾고, 완료합니다. 메모를 만들고 검색합니다. 복제본이 아니라 지금 쓰는 앱 그대로입니다.
“방금 찍은 영수증 기록해 줘.” 폰이 최근 사진에서 글자를 뽑아 돌려줍니다. 사진은 허락하지 않는 한 폰을 떠나지 않습니다.
에이전트가 “잘 자” 나 “외출” 장면을 실행합니다. 지금 쓰는 HomeKit 설정과 권한 그대로 폰에서 돕니다.
수면 집중 모드가 끝나면 폰이 오늘 일정, 남은 미리 알림, 날씨를 모아 에이전트에 보냅니다. 브리핑이 잠금 화면에 도착합니다.
지갑 결제마다 금액·가맹점·카드가 자동으로 넘어갑니다. 에이전트가 장부, 시트, Notion에 적습니다. 결제 뒤에 할 일이 없습니다.
동작 버튼을 누르고 말하세요. Safari에서 글이나 PDF를 공유하세요. 음성 메모를 보내세요. 전부 에이전트 인박스로 가고, 답은 알림으로 옵니다.
브리핑, 초안, 경고가 진짜 잠금 화면 알림으로 오고 Apple Watch에도 뜹니다. 전문은 앱에 남습니다.
로컬 커넥터를 쓰면 작업과 결과는 내 컴퓨터에서 봉인되고 내 폰에서 열립니다(HPKE). 릴레이는 봉투만 나릅니다. 페어링은 앱의 짧은 지문으로 한 번만 확인합니다.
| 릴레이가 보는 것 | 릴레이가 절대 못 보는 것 |
|---|---|
| 작업이 있다는 사실, 어느 레시피인지, 시각, 배달 상태 | 내가 보낸 입력, 폰이 돌려준 결과, 첨부 |
| 암호화된 알림 힌트 | 알림 본문의 평문 |
| 기기의 푸시 토큰 | 캘린더, 미리 알림, 메모, 건강, 사진 |
로컬 프로세스를 못 띄우는 에이전트를 위한 서버 경유 모드도 가능하며, 그 모드에서는 릴레이가 작업 내용을 봅니다. 어느 모드인지는 앱이 표시합니다.
네. iPhone 전용입니다. Askew는 iOS 단축어 자동화와 App Intents 위에 만들어졌습니다. Android 버전은 없고 계획도 없습니다. iPad는 첫 출시 대상이 아닙니다.
iOS 27 이상. 잠긴 폰에서 단축어를 깨우는 iOS 27의 알림 트리거 자동화에 의존합니다. iOS 26 이하를 위한 대체 경로는 없고, App Store 최소 버전으로 막습니다.
MCP 서버를 붙일 수 있으면 됩니다. Claude Code, Codex, Cursor, n8n과 대부분의 에이전트 프레임워크가 해당합니다. 로컬 커넥터는 에이전트가 필요할 때 띄우는 작은 프로세스입니다. 백그라운드 데몬도, 웹소켓도, 브라우저 확장도 없습니다.
하나, 한 번입니다. 디스패처 자동화 하나가 모든 레시피를 처리합니다. 레시피 설치는 링크 탭이고, 첫 실행 때 잠금 해제된 폰에서 “항상 허용”을 한 번 누릅니다.
됩니다. 실기기 실측으로 잠긴 상태에서 푸시부터 결과까지 1~2초, 20회 연속 확인창 없이 통과했습니다.
미정입니다. 릴레이는 작고 커넥터는 종단 간 암호화라 셀프호스팅 옵션은 검토 중입니다. 대기 명단에 등록하면서 필요하다고 알려 주세요.
미정입니다. 실기기 테스트와 App Store 심사를 거치는 동안 대기 명단을 받습니다. 가격은 출시 전에 공개합니다.
이메일만 받습니다. 설치할 빌드가 생기면 연락드립니다. iOS 27 아이폰이 필요합니다.