Axis MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connect_cameraA | Connect to an Axis IP camera via VAPIX. Must be called before other tools. |
| get_device_infoA | Get detailed device information (model, serial, firmware, etc.). |
| discover_apisA | Discover all VAPIX APIs supported by the connected camera. |
| get_snapshotA | Capture a JPEG snapshot from the camera. |
| get_image_settingsA | Get current image sensor settings (brightness, contrast, white balance, etc.). |
| set_image_settingsB | Update image sensor settings (brightness, contrast, white balance, WDR, exposure, etc.). |
| get_overlayA | Get text and image overlays configured on the video stream. Queries all cameras by default. |
| add_text_overlayA | Add a text overlay to the video stream. Supports format modifiers like %F (date), %T (time). |
| remove_overlayB | Remove an overlay by its identity number. |
| get_datetimeA | Get the camera's current date, time, and timezone. |
| set_datetimeB | Set the camera's date, time, or timezone. |
| get_ntpA | Get NTP (time synchronization) configuration. |
| set_ntpA | Configure NTP time synchronization. |
| get_network_infoA | Get network parameters (IP, DNS, hostname, etc.) via legacy param.cgi. |
| get_network_configA | Get network configuration via the modern Network Settings API. |
| set_network_configA | Update network settings (hostname, IP, subnet, gateway). |
| reboot_cameraA | Reboot the camera. |
| get_system_logA | Get the camera's system log. |
| get_access_logA | Get the camera's client access log. |
| get_server_reportB | Get a detailed server report from the camera. |
| factory_defaultA | Reset camera to factory defaults. WARNING: This is destructive and will reboot the camera. |
| get_stream_profilesA | List all stream profiles configured on the camera. |
| create_stream_profileA | Create a new stream profile with specified parameters. |
| update_stream_profileB | Update an existing stream profile. |
| remove_stream_profileB | Remove a stream profile. |
| get_usersA | Get the list of user accounts and their groups. |
| create_userA | Create a new user account on the camera. |
| update_userB | Update an existing user's password or role. |
| remove_userA | Remove a user account from the camera. |
| setup_initial_userA | Set up the initial admin user on a factory-fresh Axis camera. Does NOT require connect_camera — connects directly without authentication. |
| get_storage_infoA | Get information about storage/SD card on the camera. |
| get_capture_modeA | Get available capture modes (resolution/FPS combinations) for each channel. |
| get_ptz_positionA | Get current PTZ (Pan/Tilt/Zoom) position. |
| set_ptz_positionB | Set absolute PTZ position. |
| ptz_moveA | Send a relative PTZ move command (home, up, down, left, right, upleft, upright, downleft, downright, stop). |
| get_ptz_presetsB | List all PTZ preset positions. |
| goto_ptz_presetA | Move camera to a named PTZ preset position. |
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 37 tools
Most tools have distinct purposes, but there is some overlap: get_network_info and get_network_config both retrieve network information via different APIs, which could confuse an agent. Also, multiple log retrieval tools (get_system_log, get_access_log, get_server_report) might cause similar ambiguity.
Tools follow a consistent verb_noun pattern (e.g., get_storage_info, set_ptz_position, create_user, factory_default). Even ptz_move and goto_ptz_preset fit the pattern. No mixing of conventions.
37 tools is excessive for typical MCP server scope. While the domain (camera management) is broad, this feels overwhelming. Most well-scoped servers have under 20 tools.
The tool set covers the full lifecycle and major features of Axis cameras: user management, network config, PTZ, overlays, stream profiles, logs, NTP, reboot, factory reset. No obvious gaps for camera administration.