A public Android/MCP toolset that enables reading life state, screenshots, app control, notifications, and reminders via MCP with a server backend. It is self-hosted and deployable to Render or Hugging Face; project files are organized into android/, server/, mcp/, docs/.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
掌心窗 Public Clean is a self-deployed Android app plus a back-end server and MCP service that, with user authorization, allows MCP-enabled AI clients to view phone state, request screenshots, open apps, navigate home/recents, interact with the UI, send notifications, set alarms, and record lightweight life-state. The public version removes private nicknames and defaults certain fields; it uses android-phone as the default device ID. It exposes MCP tools such as peek_screen, latest_screen, linjian_status, get_life_state, open_app, phone_home, phone_back, phone_recents, send_notification, set_alarm, run_sequence, run_preset, save_known_app, and read/write screen nodes and text actions, plus XiaoHongShu (Little Red Book) comment draft/confirm flows.
How it works
The repo contains three main components: android/ (mobile app named 掌心窗), server/ (unified backend for screenshots, command queues, execution results, and life-state), and mcp/ (MCP service exposing tools to MCP-enabled AI clients). The system uses a shared token, LINJIAN_TOKEN, across server, MCP, and mobile client. Deployment can be done via Render or Hugging Face Spaces with render.yaml or Docker configurations, and there are instructions for local/Codespaces setups.
Getting started
Installation approach:
- Use the one-click Render deployment button in README to deploy both server and MCP services and share LINJIAN_TOKEN across components.
- If deploying manually on Render:
- For server: Root Directory: server; Build Command: 留空 或 echo ok; Start Command: python linjian_server.py; Environment: LINJIAN_TOKEN, LINJIAN_HOST, LINJIAN_KEEP.
- For MCP: Root Directory: mcp; Build Command: npm install; Start Command: npm start; Environment: LINJIAN_URL, LINJIAN_TOKEN, LINJIAN_DEFAULT_DEVICE.
- Mobile setup steps include entering server URL and LINJIAN_TOKEN, with default device android-phone.
- Alternative deployment paths include Hugging Face Spaces and local/Codespaces with corresponding docker and environment variable configurations.
Recent releases
- The latest release notes show v0.2.4-public in the README title, with a series of public changes listed under 本版公开化改动 (public edition changes). There are no GitHub RELEASES entries (latest 0: none).
Traction
- Stars: 16
- Forks: 4
- Open issues: 0
Behind the repo
- Repository is linzhi-524/linjian-peek-public; description indicates a self-hosted Android + MCP phone status window with authorization for screenshots, app control, notifications, and reminders. The README discusses Render and Hugo/Spaces deployment and token sharing across server and MCP components.
Caveats
- License: MIT
- Created: 2026-07-14
- Last push: 2026-07-15
- Important safety notes: screenshots, screen reading, phone control, notifications, alarms, and automatic target app launching are sensitive capabilities; use only on personal devices/servers with explicit authorization; do not share tokens.
- Default device ID is android-phone; also discusses changing to other nicknames or package names.
- v0.2.2 hotfix: allow LAN HTTP backend for self-hosted users.
