mcpField
I
imagegen-go MCP 服务器

imagegen-go MCP 服务器

本地服务
github.com/shawnzxx媒体与设计085 周前更新

关于 imagegen-go MCP 服务器

imagegen-go MCP 服务器通过 OpenAI 的 DALL-E API 根据提示词生成图像,面向需要在 MCP 客户端中调用图像生成的用户。生成结果可保存到指定路径,未指定时默认写入 Downloads 目录。

主要功能

  1. 01通过提示词生成图像
  2. 02设置图像宽度和高度
  3. 03指定图像保存路径
  4. 04提供 MCP 调试测试脚本

适用场景

  1. 01从 MCP 客户端生成图像
  2. 02调整生成图像尺寸
  3. 03将生成图像保存到指定位置

MCP 相关

服务器向 MCP 客户端提供 `generate-image` 工具,并实现初始化、工具列表、资源列表和提示词列表等 MCP 方法。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

imagegen-go MCP 服务器

这是一个基于 MCP (Model Control Protocol) 协议的图像生成服务器,使用 OpenAI 的 DALL-E API 生成图像。

环境要求

  • Go 1.23.5 或更高版本
  • OpenAI API 密钥

设置环境变量

在使用前,请设置 OpenAI API 密钥:

export OPENAI_API_KEY="你的OpenAI API密钥"

编译

如果需要重新编译项目:

go build -o bin/imagegen-go main/*.go

测试脚本

本项目提供了多个测试脚本,用于调试 MCP 服务器:

1. 基本测试

运行基本测试,包括初始化、获取工具列表和生成图像:

./test_mcp.sh
2. 详细调试

运行详细调试,将日志和响应保存到文件:

./debug_mcp.sh
3. 交互式测试

运行交互式测试,允许输入自定义的提示词:

./interactive_test.sh
4. 单独请求测试

测试单个请求:

# 初始化请求
./test_single_request.sh init

# 获取工具列表
./test_single_request.sh list

# 生成图像
./test_single_request.sh generate "一只可爱的猫咪" 1024 1024

日志

所有测试脚本都会将日志保存到 logs 目录中,方便查看和分析。

MCP 协议

MCP 是一种基于 JSON-RPC 2.0 的协议,用于模型与工具之间的通信。本服务器实现了以下 MCP 方法:

  • initialize - 初始化服务器
  • tools/list - 获取可用工具列表
  • tools/call - 调用工具(生成图像)
  • resources/list - 获取可用资源列表
  • prompts/list - 获取可用提示列表

生成图像工具

本服务器提供了一个名为 generate-image 的工具,用于生成图像。参数如下:

  • prompt (必需) - 图像描述
  • width (可选) - 图像宽度,默认为 1792
  • height (可选) - 图像高度,默认为 1024
  • destination (可选) - 保存图像的路径,默认为用户的 Downloads 目录

调试步骤

  1. 设置环境变量:

    export OPENAI_API_KEY="你的OpenAI API密钥"
    
  2. 运行初始化请求:

    ./test_single_request.sh init
    
  3. 获取工具列表:

    ./test_single_request.sh list
    
  4. 生成图像:

    ./test_single_request.sh generate "你的提示词" [宽度] [高度]
    
  5. 查看日志:

    cat logs/single_request_*.log
    

项目结构

imagegen-go/
├── bin/                # 编译后的二进制文件
│   └── imagegen-go     # 主程序
├── main/               # 主程序源代码
│   ├── main.go         # 主程序入口
│   ├── types.go        # 数据类型定义
│   ├── utils.go        # 工具函数
│   └── pretty-json.go  # JSON 格式化
├── pkg/                # 依赖包
│   └── openai/         # OpenAI API 客户端
│       └── client.go   # OpenAI API 交互
├── logs/               # 日志目录
├── test_mcp.sh         # 基本测试脚本
├── debug_mcp.sh        # 详细调试脚本
├── interactive_test.sh # 交互式测试脚本
├── test_single_request.sh # 单独请求测试脚本
└── README.md           # 本文档

注意事项

  1. 确保 OpenAI API 密钥有效且有足够的额度
  2. 生成的图像默认保存在用户的 Downloads 目录
  3. 如果提供的目标路径无效,将使用默认路径
  4. 服务器通过标准输入/输出与客户端通信,不是传统的 HTTP 服务器

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。