A minimal server for controlling Canon cameras via the Canon Camera Control API (CCAPI), using FastMCP for streamable HTTP transport.
- Control Canon cameras remotely via CCAPI.
- Expose camera functions over HTTP using FastMCP.
- Image compression and streaming support.
- Python 3.10+
- Canon camera with CCAPI enabled (CCAPI activation guide)
- See
requirements.txt
for Python dependencies.
-
Install dependencies:
pip install -r requirements.txt
-
Activate CCAPI on your Canon camera:
- Follow the official Canon CCAPI activation instructions.
-
Configure camera IP:
- Set the
CANON_IP
environment variable to your camera’s IP address, or pass it as an argument.
- Set the
To run the server with Claude Desktop Client
{
"mcpServers": {
"Canon Camera Controller": {
"command": "uv",
"args": [
"--directory",
"/path/to/dir",
"run",
"server.py"
],
"env": {
"CANON_IP": "192.168.0.111"
}
}
}
}
Or with plain Python:
python server.py
- Based on laszewsk/canon-r7-ccapi
canon_camera.py
: Canon camera CCAPI interface.server.py
: FastMCP HTTP server exposing camera controls.requirements.txt
: Python dependencies.
The license terms of CCAPI access do not permit sharing the API reference.
Once you have access, it's quite straightforward to get it working.
You may also refer to the Canon CCAPI Feature list