blink-camera-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLINK_FFMPEG | No | Path to the ffmpeg executable, if it is not on PATH. Only needed for the snapshot tool. | |
| BLINK_2FA_FILE | No | Path to a file containing the current 2FA code. Read once and deleted. Only needed if Blink requires two-factor authentication. | |
| BLINK_PASSWORD | No | Your Blink account password. Required on first run unless a valid token cache already exists. | |
| BLINK_USERNAME | No | Your Blink account email address. Required on first run unless a valid token cache already exists. | |
| BLINK_STATE_FILE | No | Path to the token cache file. Defaults to ~/.blink-mcp/state.json. | |
| BLINK_CAMERA_NAME | No | Name of the camera to control. Defaults to the only camera on the account. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 |
|---|---|
| camera_statusA | Report the camera's orientation, travel limits and session state. Call this first: |
| pan_tiltA | Aim the camera at an absolute angle and wait until it gets there.
|
| pan_tilt_nudgeA | Turn the camera relative to where it points now, in degrees. Prefer this when you have not read the current angle: it reads the mount's own report first and keeps the move small. Deltas are clamped to the mount's angle range. |
| pan_tilt_stopB | Stop the mount's motors immediately. Harmless when it is already idle. |
| pan_tilt_homeA | Send the camera to its saved home position and report where it ends up. |
| pan_tilt_set_homeA | Save the camera's current angle as its home position. |
| pan_tilt_overviewA | Start a full 360 degree pan overview. Returns immediately; the sweep takes a while. |
| snapshotA | Capture one still frame of whatever the camera is pointed at. This looks into the room, so call it only when the user asks to see the camera. The frame comes from the stream the camera is already sending, so it does not start a second session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes, especially camera_status and snapshot. The only potential confusion is between pan_tilt and pan_tilt_nudge, but their absolute-vs-relative distinction is clearly explained.
The pan_tilt_* prefix gives the movement tools a consistent pattern, and the suffixes are predictable actions like stop, home, set_home, and overview. camera_status and snapshot deviate from the verb_noun style but are still clear and not chaotic.
Eight tools is a well-scoped size for a camera control server. Each tool covers a meaningful capability without redundancy or bloat.
The tool surface covers status, absolute and relative movement, stopping, homing, setting home, overview scanning, and snapshot capture. The main gap is the lack of an explicit session start/stop tool, though session state is reported and failures are surfaced.