onsense
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHONE_BASE | No | Phone HTTP base URL, e.g. http://192.168.1.5:8080 | |
| PHONE_TOKEN | No | Pairing auth token | |
| ONSENSE_CLIP_DIR | No | Directory where pushed files are saved | <tempdir>/onsense |
| ONSENSE_TEST_FRAME | No | Local JPEG path returned by get_live_frame when phone is unreachable | |
| ONSENSE_CLIP_MAX_MB | No | Maximum incoming file size in MB (0 = unlimited) | 200 |
| ONSENSE_CLIP_ALLOW_PULL | No | Set to '1' to enable PC→phone pull without the CLI flag | 0 |
| ONSENSE_CLIP_SET_CLIPBOARD | No | Set to '1' to auto-inject into OS clipboard without the CLI flag | 0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_live_frameA | One current frame from the phone camera (JPEG). Falls back to a local test image (if configured) when the phone is unreachable. |
| read_sensorsA | The phone's current sensor values (battery level/charging, illuminance lux, acceleration x/y/z) as JSON. |
| recent_photos | JSON list of the device's recent photos (id, name, date_added, w, h). Get the image via get_photo(id). If the user designated content in the phone app (LIVE / Capture / File / Phone clipboard), prefer get_reference — it returns exactly what they picked; this gallery list may not include it. |
| get_photo | Fetch the photo for the id returned by recent_photos (downscaled to max_width). |
| get_referenceA | Download whatever the phone currently designates as the 'share target' to the PC, save it, and return the path and metadata (JSON). Depends on the phone app's reference mode: LIVE = real-time camera frame, Capture = a fixed captured image, File = an arbitrary file the user chose. Non-image files (PDF, video, documents, etc.) are fetched as-is too. (If you only need an image preview, get_live_frame is simpler.) Returns: {"path", "mime", "bytes", "name"} — path is the PC-local save path (the user's Downloads folder, so it's easy to find and use later — not a temp folder). Always call this to fetch the phone's CURRENT designation — never reuse files already sitting in the save folder (they are stale copies from earlier fetches, not what the user has designated now). |
| get_cam_fpsA | Query the phone's current camera FPS setting (15=high performance, 2=balanced, 0=on-demand). |
| set_cam_fps | Change the phone's camera FPS setting. fps: 15 (high performance), 2 (balanced, recommended), 0 (power-saving/on-demand) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hufirst/onsense'
If you have feedback or need assistance with the MCP directory API, please join our Discord server