MCP集成Claude Code图像编辑教程:实现AI绘画技能

学习使用MCP协议教Claude Code实现图像编辑功能,包含配置安装、API调用、有状态技能构建及图像保存完整流程

MCP集成Claude Code图像编辑教程:实现AI绘画技能

MCP在Claude Code中如何配置安装?

Claude Code 通过 npm 包形式提供 MCP 服务器支持。在项目终端中运行基础安装命令:

npm install @anthropic-ai/claude-code-mcp

完成安装后,需在项目根目录创建 mcp.json 配置文件定义服务器参数。配置文件通常包含服务器名称、端口号、认证信息等关键项。以下是一个简化示例结构:

{
  "mcpServers": {
    "claude-code": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/claude-code-mcp"]
    }
  }
}

对于需要图像生成功能的开发者,社区还提供了专用 MCP 服务器。例如,serkanhaslak/gemini-imagen-mcp-server 支持 Google Gemini Imagen API,可直接调用 Imagen 3、4 或 4 Ultra 模型生成图像,无需手动安装,仅需配置 API 密钥即可在项目 imagen 文件夹中输出结果 [2]。

配置完成后,启动 Claude Code 即可自动加载 MCP 服务器,通过标准化协议调用 Claude Code 的代码生成、文件操作等工程能力。

Claude Code通过MCP调用外部API的工作原理是什么?

MCP(Model Context Protocol)是Claude Code与外部服务之间的桥梁协议,通过标准化接口将外部API能力封装为Claude可调用的工具[1]。

核心工作流程

  1. Claude Code 作为 MCP 客户端发送请求
  2. MCP 服务器接收请求并解析意图
  3. 服务器调用外部 API(如图像生成/编辑接口)
  4. API 返回结果后,MCP 服务器将数据传回 Claude Code

例如,要让 Claude Code 具备图像编辑能力,开发者可构建一个 MCP 服务器,集成 Google Gemini Imagen API 或其他图像处理服务[2]。Claude Code 通过发送自然语言指令,MCP 服务器解析指令并调用对应的图像编辑 API,最后将生成的图像或处理结果返回给用户[3]。

这种架构使 Claude Code 无需直接管理 API 密钥和网络请求,只需专注于理解用户意图并调度工具,极大降低了 AI 绘画类应用的开发门槛。

Gemini Interactions API如何用于图像编辑场景?

通过MCP服务器配置Gemini Imagen API端点,发送包含原图像URL和编辑指令的JSON请求,API返回编辑后的图像Base64数据或新URL,完成图像编辑闭环。

具体调用步骤

  1. 配置MCP服务器:在项目中添加 gemini-imagen-mcp-server,配置Google API密钥即可使用,无需额外安装 [2]

  2. 构建编辑请求:向API发送JSON格式请求,包含原图像URL、编辑指令(如"将天空改为日落效果")、模型参数(支持Imagen 3、4和4 Ultra三版本)[2]

  3. 处理返回结果:API返回Base64编码的图像数据或新URL,直接用于下一步操作

实际应用示例

当Claude Code需要编辑产品图时,可通过MCP调用Gemini Interactions API,传入原图URL和"移除背景并添加纯色背景"指令,API返回编辑后的图像数据,整个过程在CLI环境中完成。该方案支持批量处理、负提示词、种子参数等高级控制,实现自动化图像编辑工作流 [2][3]。

实现有状态的图像编辑技能

在MCP服务器中维护会话状态(如当前图像版本、编辑历史),使Claude能够在多轮对话中基于前序操作继续编辑,而非每次从头开始[ 3]。

状态存储实现方式

  1. 内存状态:在MCP服务器进程内使用变量存储当前图像版本ID和操作历史
  2. 外部存储:通过Redis或SQLite持久化状态,支持跨会话恢复
  3. **上下文传递:每次tool_call时将状态注入prompt,使Claude理解当前编辑进度

工作流程示例

首次调用:Claude发送「在图片上添加蓝色天空」,MCP调用Imagen生成并返回图像ID=001,状态记录为{version: "001", operations: ["add blue sky"]}。

二次调用:Claude发送「将天空改为黄昏」,MCP查询状态获知当前图像为001,基于前序操作继续编辑,而非重新生成完整图像[ 3]。

关键代码结构

MCP服务器返回的图像如何集成到Claude Code工作流?

MCP服务器生成的图像通过标准协议响应结构传回Claude Code后,可作为后续工具的输入参数继续处理,或作为资源URI在对话界面展示,实现多步骤编辑流程的无缝衔接。

两种主要集成方式

  1. 文件路径方式:部分MCP服务器(如Gemini Imagen MCP)直接在项目指定文件夹生成图像文件,后续工具通过文件路径引用进行编辑 [2]
  2. 资源URI方式:通过MCP的资源URI机制,Claude Code可访问返回的图像资源,供对话上下文中的其他工具调用

典型工作流示例

用户通过Claude Code调用MCP服务器生成图像后,可执行以下操作链:

  • 将图像路径作为参数传给图像编辑工具(如局部重绘、风格迁移)
  • 在对话中展示图像供用户确认效果
  • 再次调用MCP服务器基于编辑结果进行下一轮生成

这种设计使得AI绘画过程可以多轮迭代,每次编辑结果自动传递给下一步,无需手动复制粘贴图像数据。

实现要点

确保MCP服务器返回的图像格式与下游工具兼容是关键,常见做法是服务器生成标准图像文件(如PNG/JPG)并存放在项目可访问目录,后续工具通过文件路径引用实现自动化流程。

Claude Code图像编辑与纯图像生成有何区别优势?

图像编辑基于现有图像进行局部修改或风格转换,保留原图主体结构;纯图像生成则从零创建,编辑模式更适合照片修图、Logo细化等需要保持一致性的场景。

具体区别体现在三个维度:一是输入源不同,编辑需要用户提供基准图,生成则是无中生有;二是可控性差异,编辑能精准修改局部区域(如换天空、调整人物表情),而生成需通过提示词整体控制;三是输出一致性,编辑模式下Logo的矢量结构、品牌色等可保持不变,生成图可能每次差异较大。

以电商产品图为例:用纯图像生成重新创建整个场景费时费力,而通过MCP协议集成图像处理功能,可直接对原图替换背景、添加光影效果,保留产品本体不变——这就是Claude Code怎么实现图像编辑功能的核心优势。

选择建议:需要保留原图元素时优先用编辑模式;需要全新创意构图时用纯生成。

MCP工具定义(tools)与资源定义(resources)的区别

tools定义可执行的动作(如图像编辑API调用),resources定义只读的数据源(如图像文件URI),tools产生副作用和结果,resources提供上下文信息供Claude参考 [3]。

核心差异:tools用于执行操作,会改变状态或产生新数据;resources用于提供信息,仅供读取不产生副作用。例如,调用图像编辑API生成新图片是tool操作,而读取已有图像的URI路径作为参考则是resource调用 [3]。

在实际工作流中,Claude Code通过MCP调用外部工具时,tool会将执行结果返回给模型用于后续推理,resource则作为上下文背景帮助模型理解当前任务状态 [1]。当构建有状态的图像编辑技能时,工具定义负责实际渲染操作,资源定义负责维护图像状态链供模型参考 [3]。

选择使用tools还是resources取决于任务需求:需要执行创作/修改动作时用tools,需要提供参考数据或上下文时用resources,二者可配合使用实现复杂工作流。

如何在终端环境中查看和保存编辑后的图像?

answerFirst:通过MCP服务器将编辑后的图像写入本地文件系统(如/tmp目录),使用open命令(macOS)或xdg-open(Linux)在终端直接预览,或通过Claude Code的file资源类型读取保存的图像路径。

MCP服务器处理完图像后,通常会将结果保存到指定目录。以Gemini Imagen MCP服务器为例,编辑后的图像会直接生成在项目的imagen文件夹中 [2]。查看图像的常用方法包括:

保存路径设置:在MCP工具调用时指定输出路径,如/tmp/edited_image.png或项目内的相对路径。服务器完成图像编辑后,返回包含文件路径的响应。

终端预览操作:

  • macOS系统:执行open /tmp/edited_image.png直接打开默认图片应用查看
  • Linux系统:使用xdg-open /tmp/edited_image.png调用系统默认图片查看器

Claude Code集成读取:Claude Code的file资源类型可读取保存后的图像路径 [1],在后续工作流中继续处理或进行二次编辑。

这种方式实现了从图像编辑到终端查看的完整闭环,编辑结果立即可验证,无需额外导出步骤。

常见问题

MCP服务器需要认证吗?如何配置API密钥?

MCP服务器通过环境变量或配置文件传递API密钥,建议使用.googleapikey等环境变量存储Gemini API凭证,避免硬编码在配置文件中。

Claude Code支持哪些图像格式的编辑?

Claude Code通过MCP调用Gemini API,支持常见格式(PNG、JPEG、WebP)的输入输出,具体支持范围取决于上游API能力。

有状态编辑会话可以保持多久?

会话状态存储在MCP服务器内存中,会话时长取决于服务器配置和运行状态,建议在长时间任务中定期保存中间结果。

参考资料

  1. Claude Code MCP is an implementation of Claude Code as a Model Context Protocol (MCP) server
  2. Perfect Claude Code MCP server for AI-powered image generation with Google's Gemini Imagen API
  3. Teaching Claude Code to Paint: A Stateful Image-Editing Skill Built on Gemini's Interactions API and MCP