OpenMV MCP Server
An MCP (Model Context Protocol) server for controlling OpenMV cameras over HTTP + JSON-RPC 2.0.
Install
Linux (x86_64 / arm64):
curl -fsSL https://raw.githubusercontent.com/SingTown/openmv-mcp/main/install.sh | sh
Pin a version or pick a different install dir:
curl -fsSL https://raw.githubusercontent.com/SingTown/openmv-mcp/main/install.sh | sh -s -- --version 2.4.0
curl -fsSL https://raw.githubusercontent.com/SingTown/openmv-mcp/main/install.sh | sh -s -- --dir ~/.local/bin
macOS (Apple Silicon):
brew install SingTown/openmv/openmv-mcp
Windows:
winget install SingTown.openmv-mcp
Or grab a prebuilt binary from the Releases page.
Run
openmv_mcp_server # ensure the HTTP server is running in the background
openmv_mcp_server --port 9000 # ensure a background server on a custom port
openmv_mcp_server --mode stdio # stdio MCP proxy; starts the HTTP server if needed
openmv_mcp_server --level trace
openmv_mcp_server --version # print version and exit
Background Server
The CLI starts the HTTP server in the background automatically and exits once it is ready. Logs are written to ./openmv-mcp-server-log.txt by default:
openmv_mcp_server
openmv_mcp_server --log /tmp/openmv.log # custom log path
Stop a running server:
openmv_mcp_server --mode shutdown # default port 15257
openmv_mcp_server --mode shutdown --port 9000 # custom port
Flags: --mode (shutdown, stdio, or internal_server), --log (write HTTP server logs to a file, default ./openmv-mcp-server-log.txt), --level (log level: trace|debug|info|warn|error|critical|off, default info).
Stdio mode
Use stdio mode for MCP hosts that launch local command-based servers instead of connecting to Streamable HTTP:
openmv_mcp_server --mode stdio
The stdio process keeps stdin/stdout reserved for MCP JSON-RPC messages and forwards stdio requests to . It starts the HTTP server automatically if needed. Pass to use a non-default server port, and to override the default HTTP server log path.