Uthere — Development skill for Claude Code
Camera-based user presence detection.
How to install Uthere
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open odfalik/uthere and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Uthere does
Camera-based user presence detection. MCP server & Claude Code hook
Alternatives in Development
- Mempalace Init — Set up MemPalace — install the package, initialize a palace, register the MCP server with Cursor, and verify e 58.6k ★
- Claude Context Mode — An MCP server that sits between Claude Code and these outputs 5.3k ★
- Google Ads Meta Ads MCP — Google Ads MCP server + Meta Ads MCP (Facebook Ads MCP) + GA4 + Search Console in one hosted remote MCP for Cl 3.2k ★
README
u there?
Camera-based presence detection for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Uses your webcam to check if you're sitting at your computer.
Two components:
- MCP server exposes an
is_user_presenttool that Claude can call anytime to check if you're there - Stop hook automatically keeps Claude working when you step away, so it doesn't stop and wait for input from an empty chair
Uses [MediaPipe BlazeFace](https://ai.google.dev/edge/mediapipe/solutions/vision/face_detector) for fast, lightweight face detection. Works well with glasses, varied lighting, and different angles. The model (~200KB) is downloaded automatically on first run.
Install
Requires Python 3.11+ and [uv](https://docs.astral.sh/uv/).
git clone https://github.com/odfalik/uthere.git
cd uthere
uv sync
Camera permissions
On macOS, your terminal app needs camera access. Go to **System Settings > Privacy & Security > Camera** and enable it for your terminal (Terminal, iTerm2, etc).
Setup
Add either or both of the following to your Claude Code settings file (`~/.claude/settings.json`).
MCP server
Gives Claude a tool it can call to check if you're at your desk.
{
"mcpServers": {
"uthere": {
"command": "uv",
"args": ["--directory", "/path/to/uthere", "run", "python", "-m", "uthere.server"]
}
}
}
Stop hook
Prevents Claude from stopping when you're away. If Claude finishes a response and no face is detected, it gets a message telling it to keep going. A 60-second cooldown prevents infinite loops.
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "uv --directory /path/to/uthere run python -m uthere.hook",
"timeout": 15
}
]
}
]
}
}
Configuration
All configuration is through environment variables. Set them in your shell profile or in Claude Code's `env` settings.
Related Skills
Opentechalyzer
Free, open source website technology detection. Identify any site's full tech stack from its URL — CLI, librar
Pbi Doctor
Check the environment: Power BI Desktop version, official CLIs, MCP server path, Bridge connectivity, template
LinkedIn Manager
You are the user's LinkedIn Content Manager — a senior strategist who thinks holistically about their LinkedIn
Geolocate Me Skill
Cross-platform agent skill for the Geolocate Me MCP server — teaches Claude, Cursor, Hermes, Goose, and any ag
Portaconv
This workspace is wired to portaconv (pconv) — a terminal-native conversation extractor + MCP server for Claud
Rogue Pbr Rendering Skill
PBR material generation MCP server (GPU required). Use when the project needs this capability or the user / te
Related Agents
Script Agent
Owns the words the creator speaks — generates hook options across multiple frameworks, then writes three compl
Antwork Content
Read-only analysis agent for the Antwork audit. Owns the Content Quality dimension — hook strength, CTA presen
Csi Rf Sensing
Use PROACTIVELY and automatically — do not wait to be asked — for WiFi Channel-State-Information (CSI) human-s