
MCP server for configuring Axis IP cameras via VAPIX.
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"Axis": {
"command": "npx",
"args": ["-y", "@hemla/axis-mcp@0.2.1"]
}
}
}
Connect to a camera first, then use any tool:
Connect to my Axis camera at 192.168.1.100 with user admin and password secret
Show me the camera's device info
| Tool |
Description |
connect_camera |
Connect to an Axis camera via VAPIX |
| Tool |
Description |
get_device_info |
Get device properties (model, serial, firmware) |
discover_apis |
Discover all VAPIX APIs supported by the camera |
get_capture_mode |
Get available capture modes (resolution/FPS) |
| Tool |
Description |
get_snapshot |
Capture a JPEG snapshot |
| Tool |
Description |
get_image_settings |
Get sensor settings (brightness, contrast, etc.) |
set_image_settings |
Update sensor settings |
| Tool |
Description |
get_overlay |
Get text and image overlays |
add_text_overlay |
Add a text overlay to the video stream |
remove_overlay |
Remove an overlay by identity |
| Tool |
Description |
get_datetime |
Get current date, time, timezone |
set_datetime |
Set date, time, or timezone |
get_ntp |
Get NTP configuration |
set_ntp |
Configure NTP synchronization |
| Tool |
Description |
get_network_info |
Get network parameters (IP, DNS, hostname) |
get_network_config |
Get network config via modern API |
set_network_config |
Update network settings |
| Tool |
Description |
get_stream_profiles |
List all stream profiles |
create_stream_profile |
Create a new stream profile |
update_stream_profile |
Update an existing stream profile |
remove_stream_profile |
Remove a stream profile |
| Tool |
Description |
get_ptz_position |
Get current PTZ position |
set_ptz_position |
Set absolute PTZ position |
ptz_move |
Send relative move command |
get_ptz_presets |
List PTZ preset positions |
goto_ptz_preset |
Move to a named preset |
| Tool |
Description |
reboot_camera |
Reboot the camera |
get_system_log |
Get system log |
get_access_log |
Get client access log |
get_server_report |
Get detailed server report |
factory_default |
Reset to factory defaults |
| Tool |
Description |
get_users |
Get user accounts and groups |
create_user |
Create a new user account |
update_user |
Update a user's password or role |
remove_user |
Remove a user account |
setup_initial_user |
Set up the first admin user on a factory-fresh camera (no auth required) |
get_storage_info |
Get storage/SD card information |
git clone https://github.com/hemla-com/axis-mcp.git
cd axis-mcp
npm install
npm run dev
Copyright (c) 2026 Hemla. Licensed under GPL-3.0.
Derivative works must use the same license and acknowledge Hemla as the original author.