Krita AI控制插件

KritaMCP是一个允许通过AI助手控制Krita绘图软件的插件,提供文档管理、图层操作和Python脚本执行等功能。

  • by halby24
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 halby24/KritaMCP

使用说明

克里塔MCP

用于Krita的MCP(Model Context Protocol)服务器。这是一个允许AI助手操作Krita的插件。

体系结构

AI Client (Claude等)
    │
    │  MCP (SSE transport, port 8001)
    ▼
MCP Server (kritamcp-server)
    │
    │  HTTP/SSE Bridge (port 8000)
    ▼
Krita Plugin (krita-plugin/)
    │
    │  Krita Python API
    ▼
  Krita
  • MCP服务器:基于FastMCP的MCP服务器。接受AI客户端的请求,通过HTTP/SSE向Krita插件发送命令
  • Krita插件:Krita的Python插件。从MCP服务器通过SSE接收命令,使用Krita API执行

可用的MCP工具

工具|说明| |--------|------| | ping 与Krita的连接确认 | get_document_info 获取活动文档的信息 | create_document 创建新文档 | save_document 保存文档 | get_layers 获取图层层次 | execute_python 在Krita嵌入式Python环境中运行代码

所需环境

  • Python 3.12+
  • 支持插件
  • 紫外线 在工作空间的边缘 pipx

安装

1.安装MCP服务器

方法A:uvx直接运行(无需安装)

uvx kritamcp-server

依赖关系将自动安装在临时环境中,并在运行后进行清理。

方法B:作为工具安装

# uvの場合
uv tool install kritamcp

# pipxの場合
pipx install kritamcp

安装后kritamcp-server 可以使用命令。

2.安装Krita插件

krita-plugin/kritamcp/ 目录和 krita-plugin/kritamcp.desktop 复制到Krita的pykrita目录或符号链接:

# Linux
ln -s /path/to/krita-plugin/kritamcp ~/.local/share/krita/pykrita/kritamcp
ln -s /path/to/krita-plugin/kritamcp.desktop ~/.local/share/krita/pykrita/kritamcp.desktop

# macOS
ln -s /path/to/krita-plugin/kritamcp ~/Library/Application\ Support/krita/pykrita/kritamcp
ln -s /path/to/krita-plugin/kritamcp.desktop ~/Library/Application\ Support/krita/pykrita/kritamcp.desktop

# Windows (管理者権限のPowerShell)
New-Item -ItemType SymbolicLink -Path "$env:APPDATA\krita\pykrita\kritamcp" -Target "C:\path\to\krita-plugin\kritamcp"
New-Item -ItemType SymbolicLink -Path "$env:APPDATA\krita\pykrita\kritamcp.desktop" -Target "C:\path\to\krita-plugin\kritamcp.desktop"

3.在Krita上启用插件

  1. 启动Krita
  2. 设置>配置Krita>Python插件管理器 的双曲正切值
  3. 克里塔MCP 启用
  4. 重新启动Krita

用法

启动MCP服务器

方法A:Krita内启动(推荐)

  1. 在Krita 设置>Dockers>KritaMCP 启用
  2. 单击功能区上的 开始 按钮关闭对话框

插件自动 kritamcp-server 中所述修改相应参数的值。

方法B:从命令行启动

kritamcp-server

可以在环境变量中更改端口:

MCP_SERVER_PORT=8001 MCP_BRIDGE_PORT=8000 kritamcp-server

AI客户端设置

对Claude Desktop等MCP客户端设定以下内容:

{
  "mcpServers": {
    "krita": {
      "type": "sse",
      "url": "http://localhost:8001/sse"
    }
  }
}

开発

开发容器(Docker環境)

此项目附带Dev Container配置。开发环境将自动构建到VSCode或Claude Code中。

# Dev Containerを起動後
uv sync

以下服务将在Dev Container中启动:

  • 开发:开发容器(Python3.12,uv,Claude Code CLI)
  • Krita:Krita GUI容器(从浏览器 localhost:3001 访问)

本地开发

# 編集可能インストール
uv tool install -e .

# 変更後は再インストール
uv tool install --force -e .

目录结构

krita-plugin/              # Kritaプラグイン
  ├── __init__.py           # エントリーポイント
  ├── kritamcp.desktop      # プラグインメタデータ
  └── kritamcp/
      ├── __init__.py       # Extension・Dockerウィジェット登録
      ├── krita_actions.py  # Krita API操作の実装
      ├── mcp_client.py     # MCPサーバーとのSSE通信クライアント
      ├── server_manager.py # MCPサーバープロセスの管理
      └── docker_widget.py  # Krita UIウィジェット
mcp_server/                # MCPサーバー
  ├── __init__.py
  ├── server.py             # サーバーエントリーポイント
  ├── tools.py              # MCPツール定義
  └── krita_bridge.py       # Kritaプラグインとの通信ブリッジ
.devcontainer/             # Dev Container設定

许可证

麻省理工学院