tai-mcp
Provides tools for generating and editing images using OpenAI-compatible APIs, including image generation, image editing, model capabilities listing, and model listing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tai-mcpGenerate an image of a futuristic city skyline at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tai-mcp
tai-mcp 是一个可独立部署的 MCP 服务,把 tai-openapi 的 OpenAI 兼容图片生成和编辑接口
封装为 MCP 工具。MCP 客户端调用 generate_image 或 edit_image 后会直接收到标准 MCP
ImageContent,不依赖 tai-openapi 返回的本地图片 URL。
功能
generate_image:调用POST /v1/images/generations,返回一张可直接显示的图片及元数据。edit_image:调用POST /v1/images/edits,支持多张输入图、mask、size 和模型专属参数。get_image_model_capabilities:调用GET /v1/image-models/{model}/capabilities,查询 edit 模型实际接受的输入。list_image_models:调用GET /v1/models,查看当前上游启用的模型。Streamable HTTP:MCP 地址为
http(s)://<host>:8001/mcp。无状态 JSON 响应,适合反向代理和横向扩容。
MCP 入口支持独立 Bearer Token;上游 API Key 不暴露给 MCP 客户端。
/healthz检查本服务,/readyz同时检查tai-openapi。
Related MCP server: MCP OpenAI Image Generation Server
与 tai-openapi 的接口契约
本项目使用官方 OpenAI Python SDK 的
AsyncOpenAI 与上游通信。图片生成、图片编辑和模型列表分别直接使用
client.images.generate()、client.images.edit() 和 client.models.list();
get_image_model_capabilities 与 /readyz 所需的 capabilities、health 接口属于
tai-openapi 扩展,通过同一个官方客户端的底层 get() 方法访问。
seed 和 parameters 不是 OpenAI Image API 的标准字段,分别通过 SDK 的
extra_body 合并到 generation JSON 和 edits multipart 请求中。多图编辑采用官方 SDK
生成的 image[] 字段,tai-openapi 会将其规范化为内部的 image 输入。
generate_image 固定向上游发送:
{
"model": "tai-text-to-image",
"prompt": "A quiet library at night",
"size": "1024x1024",
"seed": 42,
"response_format": "b64_json"
}size 和 seed 未传时不会出现在请求中。固定使用 b64_json 是为了让远程 MCP
客户端直接获得图片,并避免公网部署时误返回仅服务器本机可访问的图片 URL。
一次 MCP 调用只发起一次上游生图请求;超时或网络中断不会自动重试,以免重复生成。
编辑前应先调用 get_image_model_capabilities(model)。返回结果会明确说明:
input.min_images/input.max_images:images所需的图片数量。input.mask:forbidden、optional或required。input.size:是否允许传size。input.prompt_required:是否需要 prompt 字段。parameters_schema:parameters必须满足的 JSON Schema。parameters_example:该模型扩展参数的可用示例。
edit_image.images 和 mask 接受 PNG、JPEG、WebP 的纯 base64 字符串或
data:image/png;base64,... 形式的 Data URL。MCP 服务把它们解码后作为文件上传给上游;
response_format 固定为 b64_json。例如 tai-image-to-image 的典型参数为:
{
"prompt": "Make the bodywork brighter",
"images": ["data:image/png;base64,<base64-data>"],
"model": "tai-image-to-image",
"parameters": {"denoise": 0.55}
}图片顺序会原样保留,具体每个位置代表原图还是参考图由所选模型的 capabilities 决定。
seed 等 edit 专属字段放在 parameters 中,不能作为顶层参数传入。
本地运行
要求 Python 3.12+ 和 uv。
Copy-Item .env.example .env
# 编辑 .env,至少填写 TAI_OPENAPI_API_KEY
uv sync --extra dev
uv run python -m tai_mcp默认监听 0.0.0.0:8001:
MCP:
http://127.0.0.1:8001/mcp存活检查:
http://127.0.0.1:8001/healthz就绪检查:
http://127.0.0.1:8001/readyz
stdio 模式
本地 Codex 可以通过 stdio 按需启动 MCP,无需监听端口:
uv run python -m tai_mcp --transport stdiostdio 模式会继续从项目目录的 .env 读取上游地址、API Key 和默认模型;
MCP_HOST、MCP_PORT、MCP_API_KEY 和 CORS 配置在该模式下不生效。
注册到 Codex 时使用项目启动脚本。脚本会先切换到项目目录,确保 .env 能被读取:
codex mcp add tai-images -- `
powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass `
-File C:\Users\xiuzhenpeng\Desktop\vscode-dev\tai-mcp\run-stdio.ps1不要在 codex mcp add --env 中直接写 API Key;该值会进入 Codex 配置。启动脚本让密钥
继续只保存在项目的 .env 中。
用 MCP Inspector 验证:
npx -y @modelcontextprotocol/inspector在 Inspector 中把地址设为 http://127.0.0.1:8001/mcp。如果配置了
MCP_API_KEY,添加请求头:
Authorization: Bearer <MCP_API_KEY>配置
环境变量 | 默认值 | 说明 |
|
| 上游地址,必须以 |
| 无 | 上游 |
|
|
|
|
|
|
| 空 | MCP 客户端 Bearer Token;公网部署必须设置 |
|
| 监听地址 |
|
| 监听端口 |
|
| 包含生图时间的上游总超时 |
|
| 上游连接超时 |
|
| 允许回传的最大解码图片大小 |
| 空 | 浏览器客户端的精确 Origin,逗号分隔 |
工具的 model 参数可以覆盖默认模型,但仍受上游 API Key 权限和模型配置约束。
生成 MCP_API_KEY
MCP_API_KEY 是客户端访问 /mcp 时使用的 Bearer Token。公网部署必须使用独立的
强随机值,不要复用 TAI_OPENAPI_API_KEY。
在项目目录中运行以下命令,生成一个基于 48 字节随机数据的 URL 安全密钥:
uv run python -c "import secrets; print(secrets.token_urlsafe(48))"如果系统已经安装 OpenSSL,也可以生成 32 字节随机值并输出为 64 位十六进制:
openssl rand -hex 32复制命令输出的完整一行,写入 .env:
MCP_API_KEY=这里替换为刚生成的随机密钥不要把真实密钥写入 .env.example、提交到 Git 或粘贴到公开日志。修改密钥后需要重启
容器:
docker compose up -d --force-recreateMCP 客户端访问 https://<你的域名>/mcp 时需要发送:
Authorization: Bearer <MCP_API_KEY>Docker
先创建配置:
Copy-Item .env.example .env如果 tai-openapi 跑在 Docker 宿主机的 8000 端口,把 .env 改为:
TAI_OPENAPI_BASE_URL=http://host.docker.internal:8000/v1然后启动:
docker compose up -d --build
docker compose ps如果两个服务位于同一个 Compose 网络,建议直接使用服务名,例如
TAI_OPENAPI_BASE_URL=http://tai-openapi:8000/v1。
公网发布检查清单
为
MCP_API_KEY生成至少 32 字节的随机值,不要和上游 API Key 共用。只通过 HTTPS 暴露 MCP;可参考
deploy/nginx.conf.example。防火墙只开放 80/443,不直接暴露 8001;上游 8000 更不应直接暴露。
Nginx 的读写超时要大于
tai-openapi的最大生图时间。将
.env保留在服务器,不提交到 Git。若启用 CORS,只配置实际 MCP Web 客户端的 Origin,不要在公网使用
*。发布后验证
/healthz、/readyz、工具列表以及一次真实生图。
静态 Bearer Token 适合私有客户端或能够配置自定义请求头的 MCP Host。如果需要面向 不受控第三方用户开放,应在反向代理或独立授权服务中实现 MCP OAuth 2.1,而不是共享 同一个静态 Token。
测试与质量检查
uv run --extra dev pytest
uv run --extra dev ruff check .
uv run --extra dev ruff format --check .Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceProvides tools for generating and editing images using OpenAI's gpt-image-1 model via an MCP interface, enabling AI assistants to create and modify images based on text prompts.Last updated15Apache 2.0
- Alicense-quality-maintenanceEnables AI assistants to generate and edit images through OpenAI's DALL-E models via MCP tools. Supports text-to-image generation and image-to-image editing with configurable parameters for size, quality, and style.Last updated
- Alicense-qualityCmaintenanceExposes multiple image generation backends as independent MCP tools for generating images with configurable models and parameters.Last updatedMIT
- Alicense-qualityCmaintenanceMCP server that exposes multiple image generation backends (Sensenova, ModelScope) as configurable tools, enabling AI-powered image generation and editing via natural language.Last updatedMIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate on-brand images from your AI agent: design, edit, and render templates over MCP.
MCP server for NanoBanana AI image generation and editing
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iat-tai/tai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server