Krita MCP
Drive a live Krita document from Claude Desktop, Codex, or any other MCP client.
thuanlm215 maintains version 1.8.0, 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
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, inspection, and export. Anything that writes pixels or history needs Linux, Krita 6.0.4, Qt6, little-endian, plus the helper in native/README.md: draw, filters, selections, brush strokes, warp, batches, Undo, and raster frames. 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.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| krita_mcp-1.8.0.tar.gz | 400.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| krita_mcp-1.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 539.3 kB
Release files / krita_mcp-1.8.0.tar.gz
| Download URL | krita_mcp-1.8.0.tar.gz |
|---|---|
| Size | 400.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a2617bd6f4a29eed1a86cbb5f131a889f9bf5802d31ae877c8e440840883b08
|
|
BLAKE2b-256 checksum How to use checksums |
dd44a684f16e4b67e379c2466a9c8108e05cec3e2cf2d27ebafc591685d6c76d
|
| 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 16, 2026.
Transparency logRelease files / krita_mcp-1.8.0-py3-none-any.whl
| Download URL | krita_mcp-1.8.0-py3-none-any.whl |
|---|---|
| Size | 138.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fec1d1a8a34f10bc3a01a5df23ede7a2d9a64b6201aeff68bf88cb9956c1fcf9
|
|
BLAKE2b-256 checksum How to use checksums |
f7e8d9e3758ae6b57b89629602bad1edd35f09135edc06817bf8a7ea1efec9c6
|
| 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 16, 2026.
Transparency logSecurity for krita-mcp 1.8.0
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.
Attestation for krita_mcp-1.8.0.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 16, 2026.
Transparency logA 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.