{
  "slug": "io-github-gabrielelozupone-kokon",
  "name": "Kokon",
  "auditedAt": "2026-10-24T00:12:35Z",
  "version": "0.10.2",
  "ecosystem": "npm",
  "package": "kokon-mcp",
  "disclaimer": "Automated smoke test, not a security guarantee.",
  "complete": true,
  "checks": {
    "versionPin": {
      "status": "pass",
      "detail": "Pinned npm kokon-mcp@0.10.2",
      "version": "0.10.2"
    },
    "vulnerabilities": {
      "status": "pass",
      "detail": "No critical, high, or medium advisories were returned.",
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0,
      "packagesScanned": 1
    },
    "license": {
      "status": "pass",
      "detail": "AGPL-3.0-only",
      "spdx": "AGPL-3.0-only"
    },
    "installScripts": {
      "status": "pass",
      "detail": "No preinstall, install, postinstall, or prepare script.",
      "scripts": []
    },
    "secrets": {
      "status": "pass",
      "detail": "No credential patterns in the published artifact.",
      "findings": []
    },
    "packageSize": {
      "status": "pass",
      "detail": "250694 bytes",
      "bytes": 250694
    },
    "activity": {
      "status": "pass",
      "detail": "Active 0 days ago.",
      "ageDays": 0
    },
    "sandbox": {
      "status": "pass",
      "detail": "MCP handshake completed. 8 tools listed.",
      "starts": true,
      "handshake": true,
      "timeToReadyMs": 186,
      "tools": [
        {
          "name": "generate_image",
          "description": "Generate an image from a text prompt with the local Qwen-Image 2.1 model, optionally using reference images (a person, a product, a style) in a new scene. Write the full, detailed prompt yourself (see the prompt field): it is used as is. Di"
        },
        {
          "name": "edit_image",
          "description": "Edit an existing image with a natural-language instruction (e.g. 'make the background nighttime, keep the foreground unchanged'). Preserves the input's width, height and aspect ratio by default. The input file is never overwritten."
        },
        {
          "name": "edit_images",
          "description": "Edit image 1 with the help of other images (up to 10 in all) and an instruction, e.g. put the product from image 2 in the hand of the person in image 1. Order matters: refer to them as image 1, image 2, ... in the prompt. The output follows"
        },
        {
          "name": "outpaint_image",
          "description": "Extend an image beyond its borders. Give the expansion per side in pixels or percent; the canvas, mask and model-aligned sizes are built automatically and the original pixels are preserved exactly."
        },
        {
          "name": "inpaint_image",
          "description": "Change only the masked area of an image (mask: white = change, black = keep): edit it, remove what is there, replace it, or add something inside it. The model is shown the area marked on a copy of the image; pixels outside the mask are pres"
        },
        {
          "name": "upscale_image",
          "description": "Enlarge an image (default 2x, or to a width/height up to 8192 px). Runs the upscaler model chosen in Kokon (Superscale-SP by default; seconds on a PC GPU, longer on a Mac; adds no new content). Saves a new file; the input is never overwritt"
        },
        {
          "name": "get_image_info",
          "description": "Width, height, aspect ratio, file type and, for images made by Kokon, the generation metadata (prompt, seed, model, steps...)."
        },
        {
          "name": "get_generator_status",
          "description": "Whether the local inference server is running and the model loaded, GPU and VRAM, the active job and the queue."
        }
      ],
      "toolCount": 8,
      "resourceCount": null,
      "promptCount": null,
      "stderrExcerpt": "",
      "requiresCredentials": false,
      "network": "disabled",
      "networkAttemptedWhileOffline": false,
      "outboundHosts": []
    }
  },
  "tier": "gold",
  "tierReason": "Sandbox handshake completed and the published checks passed.",
  "logExcerpt": ""
}
