Baidu iRAG MCP Server
Genera imágenes usando la API de iRAG de Baidu a través de una interfaz MCP estandarizada.
Documentación
Servidor MCP de Baidu iRAG
Un servidor MCP (Model Context Protocol) basado en la API de generación de imágenes Baidu iRAG, que permite a los clientes MCP (como Claude Desktop) invocar el servicio de generación de imágenes de Baidu a través de una interfaz estandarizada.
🚨 Aviso importante
¡Asegúrese de realizar una prueba real de la API antes de usarlo!
Las pruebas básicas solo verifican que el servidor se inicia. Para garantizar su total funcionalidad, necesita:
- Obtener una clave de API real de Baidu
- Ejecutar
npm run test:apipara realizar una prueba real de la API - Verificar la generación de imágenes y la conversión a Base64
Para obtener una guía de configuración detallada, consulte: FINAL_SETUP.md
Características
- 🎨 Compatible con la API de generación de imágenes Baidu iRAG
- 🔧 Implementación completa del protocolo MCP
- 📝 Compatible con múltiples modelos (irag-1.0, flux.1-schnell)
- 🖼️ Configuración flexible del tamaño de imagen
- 🔄 Mecanismo de reintento automático
- 📊 Registro de logs completo
- ✅ Validación integral de parámetros
- 🧪 Cobertura de pruebas completa
Modelos compatibles
- irag-1.0: Modelo de generación de imágenes desarrollado por Baidu
- flux.1-schnell: Modelo de generación rápida con más parámetros avanzados
Instalación
Requisitos previos
- Node.js >= 18.0.0
- npm o yarn
Clonar el proyecto
git clone <repository-url>
cd irag-mcp-server
Instalar dependencias
npm install
Compilar el proyecto
npm run build
Configuración
1. Obtener la clave de API de Baidu
- Visite la consola de Baidu AI Cloud
- Cree una clave de API y seleccione Qianfan ModelBuilder
- Configure los recursos de la aplicación correspondiente
- Copie la clave de API (formato:
bce-v3/ALTAK-****/****)
2. Configuración de variables de entorno
Copie la plantilla de variables de entorno:
cp .env.example .env
Edite el archivo .env:
# 必需配置
BAIDU_API_KEY=bce-v3/ALTAK-your-access-key/your-secret-key
# 图片资源配置
RESOURCE_MODE=local # local: 保存到本地文件 | url: 仅返回URL和base64
BASE_PATH= # 自定义保存路径(可选,默认为桌面/irag-images)
MODEL=irag-1.0 # 默认模型: irag-1.0 | flux.1-schnell
# 可选配置
SERVER_NAME=irag-mcp-server
SERVER_VERSION=1.0.0
LOG_LEVEL=info
LOG_FILE=logs/server.log
API_TIMEOUT=30000
MAX_RETRIES=3
Notas sobre la configuración de guardado de imágenes
- RESOURCE_MODE=local: Las imágenes se guardan en el sistema de archivos local, devolviendo tanto los datos base64 como la ruta del archivo
- RESOURCE_MODE=url: Solo devuelve la URL de la imagen y los datos base64, sin guardar archivos locales
- BASE_PATH: Ruta personalizada para guardar imágenes; si se deja vacía, se usa la ruta predeterminada (carpeta irag-images en el escritorio del usuario)
- MODEL: Establece el modelo de generación de imágenes predeterminado
irag-1.0: Modelo propio de Baidu, buena versatilidad y velocidadflux.1-schnell: Admite más parámetros avanzados, mayor calidad
Uso
Iniciar el servidor
# 开发模式
npm run dev
# 生产模式
npm start
Configuración del cliente MCP
Configuración de Claude Desktop
Agregue lo siguiente al archivo de configuración de Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"irag-image-generator": {
"command": "node",
"args": ["/path/to/irag-mcp-server/dist/index.js"],
"env": {
"BAIDU_API_KEY": "bce-v3/ALTAK-your-access-key/your-secret-key"
}
}
}
}
Referencia de la API
Herramienta generate_image
Herramienta MCP para generar imágenes.
Parámetros
| Nombre del parámetro | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
prompt | string | ✅ | - | Prompt de generación de imagen |
refer_image | string | ❌ | - | URL de imagen de referencia |
n | integer | ❌ | 1 | Cantidad de imágenes a generar (1-4) |
size | string | ❌ | 1024x1024 | Tamaño de la imagen |
steps | integer | ❌ | - | Pasos de muestreo (1-50, solo flux.1-schnell) |
seed | integer | ❌ | - | Semilla aleatoria (solo flux.1-schnell) |
guidance | number | ❌ | 3.5 | Valor de densidad de guía (0-30, solo flux.1-schnell) |
Nota: El modelo se configura mediante el parámetro MODEL en el archivo de configuración, no se especifica en la solicitud.
Tamaños de imagen compatibles
512x512,768x768,1024x768,1024x1024
Ejemplo de uso
{
"name": "generate_image",
"arguments": {
"prompt": "一只可爱的橘猫坐在窗台上,阳光透过窗户洒在它身上",
"size": "1024x1024",
"n": 2
}
}
Desarrollo
Estructura del proyecto
src/
├── client/ # API客户端
├── config/ # 配置管理
├── server/ # MCP服务器
├── types/ # 类型定义
├── utils/ # 工具函数
├── __tests__/ # 测试文件
└── index.ts # 主入口
Comandos de desarrollo
# 开发模式运行
npm run dev
# 构建项目
npm run build
# 运行测试
npm test
# 监听测试
npm run test:watch
# 代码检查
npm run lint
# 修复代码风格
npm run lint:fix
# 清理构建文件
npm run clean
Pruebas
Ejecutar todas las pruebas:
npm test
Ver la cobertura de pruebas:
npm test -- --coverage
Solución de problemas
Problemas comunes
-
Clave de API no válida
- Asegúrese de que el formato de la clave de API sea correcto:
bce-v3/ALTAK-****/**** - Verifique que la clave de API tenga configurados los recursos de Qianfan ModelBuilder
- Asegúrese de que el formato de la clave de API sea correcto:
-
Tiempo de espera de conexión agotado
- Verifique la conexión de red
- Aumente el valor de configuración de
API_TIMEOUT
-
Error en la generación de imágenes
- Verifique que el prompt cumpla con los requisitos
- Confirme que los parámetros del modelo estén configurados correctamente
-
Error de validación de Base64
- El servidor descargará automáticamente la imagen y la convertirá a formato base64
- Si la descarga falla, se devolverá un mensaje de error y la URL original
- Verifique la conexión de red y la accesibilidad de la URL de la imagen
-
Problemas de conexión del cliente MCP
- Asegúrese de que la ruta del archivo de configuración de Claude Desktop sea correcta
- Verifique la versión de Node.js (se requiere >=18.0.0)
- Confirme que el proyecto se haya compilado correctamente (ejecute
npm run build)
Depuración de logs
Establezca el nivel de registro en debug:
LOG_LEVEL=debug
Consulte los registros detallados de llamadas a la API y el proceso de descarga de imágenes.
Licencia
Licencia MIT
Contribuciones
¡Bienvenidos los Issues y Pull Requests!
Registro de cambios
v1.0.0
- Lanzamiento de la versión inicial
- Compatibilidad con la API de generación de imágenes Baidu iRAG
- Implementación completa del protocolo MCP
- Compatibilidad con múltiples modelos y configuración de parámetros