Canon Camera MCP
A minimal server for controlling Canon cameras via the Canon Camera Control API (CCAPI), using FastMCP for streamable HTTP transport.
Demo 🎥
Features
- Control Canon cameras remotely via CCAPI.
- Expose camera functions over HTTP using FastMCP.
- Image compression and streaming support.
Requirements
- Python 3.10+
- Canon camera with CCAPI enabled (CCAPI activation guide)
- See
requirements.txt
for Python dependencies.
Setup
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
Usage
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
References
- Based on laszewsk/canon-r7-ccapi
Project Structure
canon_camera.py
: Canon camera CCAPI interface.server.py
: FastMCP HTTP server exposing camera controls.requirements.txt
: Python dependencies.
Extending the project
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