Repository navigation
Releases: aidev-iprokszin/ipcam-mcp
Releases · aidev-iprokszin/ipcam-mcp
Release list
v0.4.0
What's Changed
✨ Features
- Add MCP tool annotations and titles to every tool by @aidev-iprokszin in #63
- Ship as a Claude Code plugin by @aidev-iprokszin in #64
📚 Documentation
- Release v0.4.0 by @aidev-iprokszin in #66
Full Changelog: v0.3.2...v0.4.0
v0.3.2
What's Changed
✨ Features
- Publish to PyPI and the MCP Registry by @aidev-iprokszin in #58
📚 Documentation
- Release v0.3.2 by @aidev-iprokszin in #60
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
🐛 Bug fixes
- Keep camera.json history safe when it is corrupt or hand-edited by @aidev-iprokszin in #41
- Fix scene period bookkeeping edge cases by @aidev-iprokszin in #42
- Migration and config-writing edge cases by @aidev-iprokszin in #43
- Keep unclosed connections queued when close_retired is cancelled by @aidev-iprokszin in #44
- rename_camera keeps a secrets file shared with another camera by @aidev-iprokszin in #46
- Finish closing an old ONVIF client when the caller is cancelled by @aidev-iprokszin in #47
- Follow-ups to the shared-secrets rename and shielded close by @aidev-iprokszin in #50
📚 Documentation
- Release v0.3.1 by @aidev-iprokszin in #53
- Show who is working on an issue by @aidev-iprokszin in #55
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Upgrading from 0.2
0.3.0 reorganizes the files on disk. The first start does it automatically:
- Camera uids and per-camera folders. Every camera in
cameras.tomlgets a permanent
uid = "..."line, and existing snapshots, recordings and baselines move from the flat
layout into<media_dir>/<uid>/. Files of cameras that are no longer configured get folders
of their own (removed cameras:list_cameras(include_removed=true),delete_camera).- Only files named like a camera's capture (
<name>_YYYYmmdd-HHMMSS.jpg|mp4) move; other
files, such asIMG_…photos, stay. A file whose target already exists is left in place
with a warning. - An empty
.flat-layout-migratedfile inmedia_dirkeeps the move from running again;
delete it to repeat it. cameras.tomlmust be writable while cameras still need a uid; if it is read-only, the
server stops with an error.
- Only files named like a camera's capture (
- Scenes. Every camera is in a scene, by default its name, so existing snapshots and
baselines stay in scenes named after their cameras.camera_comparenow compares only within
the camera's current scene. - Changed arguments.
add_cameraandremove_cameratakenameinstead ofid. - New tools.
delete_camera,set_scene,list_scenes,scene_snapshot,
scene_compare,scene_timeline.camera_snapshotacceptsfrom_pathwithoutcamera.
What's Changed
✨ Features
- Start without a config file so add_camera can create the first camera by @aidev-iprokszin in #20
- Stable camera uids and per-camera media folders by @aidev-iprokszin in #24
- Add delete_camera with an approval form by @aidev-iprokszin in #26
- Scenes: cameras belong to a scene by @aidev-iprokszin in #28
- Scene tools: list, snapshot, compare, timeline by @aidev-iprokszin in #30
- Declare a camera the successor of a removed camera in a scene by @aidev-iprokszin in #32
🐛 Bug fixes
- Move baselines and snapshots along when a camera is renamed by @aidev-iprokszin in #22
📚 Documentation
- Add a Code of Conduct by @aidev-iprokszin in #6
- Release v0.3.0 by @aidev-iprokszin in #34
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Highlights
First public release of ipcam-mcp, an MCP server that lets Claude Code (or any MCP
client) see through and control the IP cameras on your local network, over ONVIF and RTSP.
- 📸 Snapshots: full-resolution JPEGs, with crops or named regions to zoom into a detail
- 🎥 Recordings: 1–60 s clips as mp4
- 🕹️ Pan/tilt and presets: move PTZ cameras, save, recall and remove positions
- 🔍 Change detection: compare the current view with the previous snapshot or a named baseline
- ➕ Camera management: add, rename and remove cameras; ONVIF port and PTZ support are detected
- 🔒 Credentials never reach the model: entered through a client form or a local file,
scrubbed from every error, masked in RTSP URLs
Works with any ONVIF camera that has a local account; tested on TP-Link Tapo.
Requires Python 3.13+ (installed by uv) and ffmpeg. See the
README to get started.
What's Changed
✨ Features
- Release and contribution workflow by @aidev-iprokszin in #2
New Contributors
- @aidev-iprokszin made their first contribution in #2
Full Changelog: https://github.com/aidev-iprokszin/ipcam-mcp/commits/v0.2.0