Skip to main content

Krita MCP

Give an agent a real Krita file. It can build the layer stack, select a part, turn it around a pivot, lay down a pressure stroke, step through raster frames, and look at the PNG it just made.

A desk still life: layered lantern studies, a dashed selection around a handle, a bristle stroke, four animation cells, and a cracked pane beside a repaired one

Read the picture from the back of the desk forward. 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.

thuanlm215 maintains this project. Version 1.4.1 is published as krita-mcp. It exposes fifty-two tools and sixty-one bridge operations. The tool list is in docs/usage.md. The call order for a pose, a warp, a frame, and a repair is in docs/workflows.md.

What has to be installed

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. Install the plugin once.

Close Krita before the installer writes kritarc. Krita rewrites that file on exit.

uvx krita-mcp install

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.

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

uvx krita-mcp --selftest

Later releases are cut from a GitHub release. The steps are in docs/development.md.

Point a client at it

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

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

Claude Desktop and any other JSON config:

{
  "mcpServers": {
    "krita": {
      "command": "uvx",
      "args": ["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: colour space, filter types, the recovery dialog, and what a lost response means.

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.4.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.4.1
File Size Uploaded
krita_mcp-1.4.1.tar.gz 370.7 kB Details

Built distribution (wheel)

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

Total release size: 483.3 kB

Release files / krita_mcp-1.4.1.tar.gz

Download URL krita_mcp-1.4.1.tar.gz
Size 370.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e65fcc8600c7736e2ed1cf70bb3eed54da5fcfbcedadc94c1a19d15b347d2b99
BLAKE2b-256 checksum
How to use checksums
35dd00b1e82a8c2018bd766bfb8e18cfff6db040d52665518e62dcd2f35bd43e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 11, 2026.

Transparency log

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

Download URL krita_mcp-1.4.1-py3-none-any.whl
Size 112.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fedb2e60146a6bd67fb31521d8418eb76522c5336087cd26335998a398dcb3f2
BLAKE2b-256 checksum
How to use checksums
2a567424a042e5cd5e194f05f0587cf31b29fd4d0a5ebe1a9d282b14c1e92689
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.1 This release

2 release files

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