Skip to main content

Krita MCP

License: CC0 Works with Claude Desktop Krita 5.2+ MCP Compatible PyPI

Drive a live Krita document from Claude Desktop, Codex, or any other MCP client.

thuanlm215 maintains version 1.6.1, published as krita-mcp. Fifty-seven tools. The list is in docs/usage.md. Pose, warp, frame, and repair order is in docs/workflows.md.

Demo

Layer studies, a selection swung around a pivot, a pressure stroke, four animation cells, and a cracked pane beside a repaired one

The three sheets are a layer stack: wash, line, color. The dashed loop and the pins are a selection swung around a pivot. The bristle mark is one native stroke that starts light and ends heavy. The four cells are raster frames. The split lens is a repair: the crack on one side, the same pane whole on the other.

Install

Krita 5.2 or newer covers documents, layers, geometric drawing, filters, and export. Brush pressure, native pixel Undo, warp, batches, and exact raster frames need Linux, Krita 6.0.4, Qt6, little-endian, plus the helper in native/README.md. Anywhere else those calls return unsupported.

The server is Python 3.8 or newer and the standard library. Krita loads a plugin in its own process. The MCP client runs krita-mcp beside it. Close Krita before the installer writes kritarc.

uvx krita-mcp install
uvx krita-mcp --selftest

Start Krita first. Tools → Scripts should show Start/Stop MCP Bridge and MCP Bridge Status….

Linux with Krita 6.0.4 can build the native helper from a clone, then install that copy:

python3 build_native.py
python3 mcp_server.py install

./install.sh and install.ps1 call the same installer. --force writes the enable flag while Krita is still open. By hand, copy pykrita/krita_mcp/ and pykrita/krita_mcp.desktop into Krita's pykrita folder and enable MCP Bridge under Settings → Configure Krita → Python Plugin Manager.

Clients

Restart the client after editing its config. Krita has to be running before a tool can touch a document.

Claude Desktop

{
  "mcpServers": {
    "krita": {
      "command": "uvx",
      "args": ["krita-mcp"]
    }
  }
}

Codex (~/.codex/config.toml)

[mcp_servers.krita]
command = "uvx"
args = ["krita-mcp"]
startup_timeout_sec = 30
tool_timeout_sec = 360
enabled = true

Claude Code

claude mcp add krita -- uvx krita-mcp

A checkout works the same way with python3 and an absolute path to mcp_server.py.

A session

Ask for the open layer tree and set the top layer to multiply at 60%. Ask to cut a forearm onto its own layer, rotate it around the elbow, and paint the seam with a dry bristle. Ask to duplicate three raster keys, export an atlas, then repair one cracked pane on the held frame and show the before and after.

Reconnect the client after a plugin update. An open chat keeps the schema it saw at startup.

close_document can still bring Krita down on some teardown paths. File → Close can hit the same fault. Leave the file open and close it yourself when the session matters. docs/usage.md has the rest.

Build and tests: docs/development.md. Reports and changes: SECURITY.md, CONTRIBUTING.md.

License

The Python server and the Krita plugin are CC0 1.0. native/bridge.cpp is GPL-2.0-or-later. Vendored Krita headers keep their own GPL and LGPL notices. See native licensing and native/LICENSES/.

The wheel that uvx installs is the CC0 server and plugin. It does not contain the helper binary or the vendored headers.

Metadata

Release files for krita-mcp 1.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for krita-mcp 1.6.1
File Size Uploaded Provenance
krita_mcp-1.6.1.tar.gz 402.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for krita-mcp 1.6.1
File Interpreter ABI Platform
krita_mcp-1.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 543.2 kB

Release files / krita_mcp-1.6.1.tar.gz

Download URL krita_mcp-1.6.1.tar.gz
Size 402.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bb4c98c554d2f05a3e525385337397db9a56cb6102d31eb15f6971f6f23525c2
BLAKE2b-256 checksum
How to use checksums
f8de3df2e8aa40284fe3646ea9fde4b679ec17b1ebae4813165b9bb18fd50ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / krita_mcp-1.6.1-py3-none-any.whl

Download URL krita_mcp-1.6.1-py3-none-any.whl
Size 141.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d51e6fa06244fea36a03c93bb3778b0e3afb4d3bac7a309b54bf202578bdf494
BLAKE2b-256 checksum
How to use checksums
e033cbf54740f420692731e79517028d4f929229edfb6f3a4ff33d7a914ac712
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Security for krita-mcp 1.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for krita_mcp-1.6.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page