FusionBrain MCP服务器

FusionBrain MCP服务器 是一个基于Java+Spring Boot的MCP服务器应用程序 FusionBrain SDK入门.\ 服务器提供了使用FusionBrain API生成图像的工具。
______________________________________________________________________
特性
- 用途 FusionBrain SDK入门 可通过以下方式配置
application.yml、环境变量或JVM选项。 - 支持三种主要的MCP工具:
- startGenerateImage --启动图像生成并返回任务id - checkStatus --按id检查已启动任务的状态 - generateImageSync --开始图像生成并阻塞,直到图像准备就绪
______________________________________________________________________
配置
SDK配置
FusionBrain MCP服务器使用 默认SDK设置,但它们可以被覆盖。 一些属性,如 api密钥 和 密钥 是强制性的,必须加以定义。
| 属性 | 描述 | 默认值 |
|---|---|---|
fusionbrain.api-key | 用于FusionBrain访问的API密钥 | - _(必填)_ |
fusionbrain.api-secret | FusionBrain访问密钥 | -- _(必填)_ |
fusionbrain.base-url | FusionBrain服务器URL | https://api-key.fusionbrain.ai |
可以找到sdk属性的完整列表 这里.
MCP配置
此服务器基于Spring AI MCP服务器启动启动器. 如果需要,可以覆盖Spring AI的属性。
此MCP服务器可以与 stdio 运输和 SSE (默认选项)。
stdio 通过激活弹簧配置文件可以设置运输 stdio:
java -Dspring.profiles.active=stdio ... -jar fusionbrain-mcp-server.jar
请注意,在 stdio 控制台的配置文件日志已禁用,您必须通过定义来激活文件日志:
logging.file.path=/app/logs # directory where rolling log files are collected
logging.file.name=/app/logs/mcp-server.log # path to a log file设置参数的方法:
- 通过JVM选项:
java -jar \
-Dfusionbrain.api-key= \
-Dfusionbrain.secret-key= \
fusionbrain-mcp-server.jar- 通过环境变量:
export FUSIONBRAIN_APIKEY=
export FUSIONBRAIN_SECRETKEY=
java -jar fusionbrain-mcp-server.jar______________________________________________________________________
构建
构建 .jar 来源
cd
make build构建文件将位于:
target/fusionbrain-mcp-server-.jar构建Docker镜像
cd
make docker构建的映像将命名为:
fusionbrain-mcp-server:latest______________________________________________________________________
跑
通过Java(JAR)
java -jar \
-Dfusionbrain.api-key=your-api-key \
-Dfusionbrain.secret-key=your-secret-key \
target/FusionBrain-mcp-server.jar通过Docker
docker run --rm \
-e FUSIONBRAIN_APIKEY=your-api-key \
-e FUSIONBRAIN_SECRETKEY=your-api-key \
-e JAVA_OPTS= \
-p 8080:8080 \
fusionbrain-mcp-server:latest______________________________________________________________________
工具
startGenerateImage
开始图像生成。接受以下请求格式:
{
"request": {
"style": "",
"width": 1024,
"height": 1024,
"prompt": "your prompt"
}
}默认情况下,宽度和高度值为1024。 该工具接受这些生成参数并调用图像生成API。 由于生成需要一些时间才能完成,因此此工具不会等待它并返回 taskId,通过该功能可以请求生成的状态。
响应格式:
{
"status": "STARTED",
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"description": "nullable",
"statusRequestDelay": 10
}status 可以相等 STARTED 或 ERROR在后一种情况下 description 提供。
taskId 是某个生成任务的UUID。
statusRequestDelay 是以秒为单位估计完成生成所需的时间。 为了避免徒劳的状态轮询请求,建议致电 checkStatus 在经过这段延迟后,首先使用工具。
______________________________________________________________________
checkStatus
通过UUID检查资源状态。如果完成,则返回结果。
作为唯一的论据 taskId 调用后返回的UUID格式 startGenerateImage.
响应格式:
{
"status": "FINISHED",
"result": "image in base64 format"
}或
{
"status": "IN_PROCESS | INTERNAL_ERROR"
}如果返回 status 是 IN_PROCESS,应该稍后调用工具。 如果你不想实现轮询逻辑,并且假设没有那么多客户端-服务器连接,你可以调用下面的工具,该工具会一直阻塞,直到映像准备就绪。
______________________________________________________________________
generateImageSync
开始图像生成并阻止,直到图像准备就绪。警告:此工具保持此服务器和您的客户端之间的http连接。
请求格式与相同 startGenerateImage的格式,而响应格式与 checkStatus 回应。
一旦执行了对图像生成API的请求,该工具将轮询API,检查任务的状态,并返回 FINISHED | INTERNAL_ERROR 状态或 POLLING_TIMEOUT 如果达到重试次数的限制。
重复调用之间的间隔和最大重试次数可以通过属性设置 fusionbrain.poll-interval 和 fusionbrain.max-retries 分别。
______________________________________________________________________
下载
准备好了 .jar 文件将可供下载 发布.
______________________________________________________________________
需求
- Java 17+
- Docker(可选,用于容器构建)
______________________________________________________________________
📝 许可证
该项目根据MIT许可证获得许可。
