Getting Started

Get the Inigami Media Processor running on your system in a few steps.

1. System Requirements

Required

  • Linux (Ubuntu 20.04+ recommended)
  • GCC 9+ or Clang 12+ with C++17 support
  • CMake 3.16+
  • Make
  • 4 GB RAM minimum (8 GB recommended)

Automatically Installed

  • OpenCV 4.x (built from source)
  • ImageMagick 7.x
  • nlohmann/json
  • Qt 5.12+ (for GUI only)

2. Building the Server

The server build process installs system dependencies, builds OpenCV from source with DNN support, and compiles the Inigami server binary. The initial setup takes 30-60 minutes due to the OpenCV build; subsequent builds are fast.

Build Server
$ cd inigami-media-processor-cpp
# Install system packages (cmake, build tools, etc.)
$ make system-deps
# Build all dependencies including OpenCV (30-60 min first time)
$ make setup
# Build the Inigami server binary
$ make build

Tip: The make setup command only needs to run once. After that, use make build for subsequent builds.

3. Building the GUI Client

The Qt 5.12 QML desktop application provides a graphical interface with image gallery, bounding box overlay, and real-time processing feedback. The GUI is optional -- you can use the server with any TCP client.

Build GUI
$ cd inigami-media-processor-gui-cpp
# Install Qt5 development packages
$ make system-deps
# Build the GUI application
$ make build

Important: When modifying QML files, always rebuild with cd build && cmake .. && make to recompile QML resources. Running just make will not pick up QML changes.

4. Running Inigami

Start the server and optionally launch the GUI client. The top-level Makefile provides convenience targets for managing both components.

Run Inigami
# From the top-level inigami directory
$ make run-server # Start server on localhost:10210
$ make run-gui # Launch Qt GUI (separate terminal)
# Or manage both together:
$ make status # Check what's running
$ make stop # Stop all services

5. Your First Request

With the server running, send a test request using any TCP client. Here is an example using Python:

first_request.py python
1import socket
2import json
3
4# Connect to the Inigami server
5sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
6sock.connect(("localhost", 10210))
7
8# Send an object detection request
9request = {
10    "request_id": "test-001",
11    "type": "detect_objects",
12    "image_path": "/path/to/your/image.jpg"
13}
14sock.sendall(json.dumps(request).encode() + b"\n")
15
16# Read the response
17response = json.loads(sock.recv(65536).decode())
18print(json.dumps(response, indent=2))
19
20sock.close()

You should receive a JSON response containing detected objects with class labels, confidence scores, and bounding box coordinates.

6. MCP Tools Setup

To use Inigami as MCP tools with AI assistants like Claude, add the following to your MCP client configuration:

mcp_settings.json json
1{
2  "mcpServers": {
3    "inigami": {
4      "command": "inigami-mcp-server",
5      "args": ["--host", "localhost", "--port", "10210"],
6      "env": {}
7    }
8  }
9}

Once configured, AI assistants can invoke Inigami tools for object detection, image processing, text analysis, and more -- all through natural language requests.

Available MCP Tools

detect_objects
estimate_depth
segment_image
resize_image
apply_filter
analyze_text
analyze_sentiment
extract_entities
detect_language
detect_edges

Ready to Explore the Full API?

See complete documentation for all 20+ request types with examples.

API Reference