Control a USB (UVC) pan/tilt/zoom camera, with every move confirmed from the picture.
Connect Runs on your machine
claude mcp add uvc-ptz-camera-mcp -e UVC_PTZ_STATE_DIR=<UVC_PTZ_STATE_DIR> -e UVC_PTZ_SIM_SOURCE=<UVC_PTZ_SIM_SOURCE> -- uvx uvc-ptz-camera-mcp==0.2.0
{
"mcpServers": {
"uvc-ptz-camera-mcp": {
"command": "uvx",
"args": [
"uvc-ptz-camera-mcp==0.2.0"
],
"env": {
"UVC_PTZ_STATE_DIR": "<UVC_PTZ_STATE_DIR>",
"UVC_PTZ_SIM_SOURCE": "<UVC_PTZ_SIM_SOURCE>"
}
}
}
}
{
"mcpServers": {
"uvc-ptz-camera-mcp": {
"command": "uvx",
"args": [
"uvc-ptz-camera-mcp==0.2.0"
],
"env": {
"UVC_PTZ_STATE_DIR": "<UVC_PTZ_STATE_DIR>",
"UVC_PTZ_SIM_SOURCE": "<UVC_PTZ_SIM_SOURCE>"
}
}
}
}
{
"servers": {
"uvc-ptz-camera-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"uvc-ptz-camera-mcp==0.2.0"
],
"env": {
"UVC_PTZ_STATE_DIR": "<UVC_PTZ_STATE_DIR>",
"UVC_PTZ_SIM_SOURCE": "<UVC_PTZ_SIM_SOURCE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
UVC_PTZ_STATE_DIROptional | Where to store what has been learned about each camera. Defaults to ~/.uvc-ptz-camera-mcp. Holds angles, never credentials. |
UVC_PTZ_SIM_SOURCEOptional | Path to an image to use as the simulator's panorama instead of the synthesised one. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 7 Oct 2026 |
| Last updated | 7 Oct 2026 |
| Registry name | io.github.AbhijatSaxena/uvc-ptz-camera-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
