Skip to main content
Glama

RelayOne Image MCP

이것은 RelayOne Image의 MCP 연동 패키지로, Image2와 Gemini Banana 두 가지 이미지 생성 경로를 동시에 지원합니다. 각 사용자는 RelayOne API Key 하나만 설정하면 됩니다.

두 가지 이미지 생성 Provider

Provider

프로토콜

기본 모델

적합한 시나리오

image2

OpenAI Images /v1/images/generations

gpt-image-2

정밀 픽셀 크기, Image2 이미지 생성

banana

Gemini v1beta generateContent

gemini-3.1-flash-image

Banana 텍스트-이미지 생성, 최대 14장 참조 이미지로 이미지 편집

Banana는 gemini-3-pro-image도 지원합니다. 이 모델의 imageSize는 512, 1K, 2K, 4K 해상도 단계이고, aspectRatio가 비율을 제어합니다. Image2의 고정 가로x세로 크기 프로토콜이 아닙니다.

Related MCP server: Gemini Image Generation MCP Server

지원 모델

Image2

모델

텍스트-이미지

이미지-이미지

설명

gpt-image-2

지원

지원

기본 모델, 고정 픽셀 크기 지원

gpt-image-2-low

지원

지원

low 품질 단계, 해당 그룹 활성화 필요

gpt-image-2-medium

지원

지원

medium 품질 단계, 해당 그룹 활성화 필요

gpt-image-2-high

지원

지원

high 품질 단계, 해당 그룹 활성화 필요

Gemini Banana

모델

텍스트-이미지

이미지-이미지/편집

설명

gemini-3.1-flash-image

지원

지원

기본, 속도 우선·비용 절감, 최대 14장 참조 이미지

gemini-3-pro-image

지원

지원

품질 우선, 최대 14장 참조 이미지

gemini-3-pro-image-preview는 gemini-3-pro-image로 정규화되며, 세 번째 독립 모델이 아닌 별칭입니다. Banana 두 모델의 텍스트-이미지와 이미지-이미지 생성은 모두 동일한 generateContent 인터페이스를 호출합니다. reference_images 포함 여부에 따라 텍스트-이미지인지 이미지-이미지인지 결정됩니다.

Provider를 선택하면 MCP가 자동으로 프로토콜을 선택합니다:

  • image2는 reference_images가 없을 때 /v1/images/generations JSON을 호출하고, 참조 이미지가 있을 때 /v1/images/edits multipart를 호출하며 image[]로 참조 이미지를 업로드합니다.

  • banana는 항상 /v1beta/models/{model}:generateContent를 호출합니다. 참조 이미지는 contents[].parts[].inlineData로 변환되며, multipart도 OpenAI Images JSON도 아닙니다.

사이트에서 작성해야 할 내용

  1. config/providers.json에 RelayOne 주소, 모델, Images 경로가 이미 구성되어 있습니다. 사이트를 전환하려면 이 파일을 수정하세요.

  2. 각 agent는 .env.example을 .env로 복사하고 SITE_IMAGE_API_KEY만 작성하세요. Key를 도구 매개변수에 넣지 마세요.

  3. 프록시가 필요하면 MCP를 실행하는 머신에 SITE_IMAGE_PROXY_URL을 추가로 설정하세요. 이는 선택 사항입니다.

  4. 사이트가 Bearer 인증이 아니거나 OpenAI-compatible 요청 형식이 아니라면, src/index.ts의 callProvider와 요청 schema에서 어댑터 로직을 수정하세요.

  5. npm install, npm run build를 실행한 후 dist/index.js를 MCP 클라이언트에 등록하세요.

.env는 MCP 시작 시 자동으로 읽히므로 agent가 시작 명령을 수정할 필요가 없습니다.

MCP 등록 예시

mcp-server.example.json의 PACKAGE_DIRECTORY를 현재 패키지 디렉터리로 바꾼 다음, 사용 중인 MCP 클라이언트의 구성 형식에 맞춰 등록하세요. .env와 dist/index.js는 해당 디렉터리와 같은 레벨에 있어야 합니다.

도구

  • list_image_providers: 로컬에 구성된 채널을 표시하며, 키는 표시하지 않습니다.

  • list_remote_image_models: 실시간 모델 목록을 읽어오며, 이미지를 생성하지 않습니다.

  • get_image_capabilities: 사이트 관리자가 작성한 매개변수 기능을 확인합니다.

  • get_image_usage: 선택적 사용량 인터페이스를 읽어오며, 이미지를 생성하지 않습니다.

  • prepare_image_request: 실제 JSON을 미리 보며, 네트워크에 연결하지 않습니다.

  • generate_image: 호출 전에 로컬 절대 경로 save_directory를 반드시 제공해야 합니다. 도구는 전체 원본 응답 JSON(url 및 b64_json 포함)을 보존하고, 이미지를 해당 디렉터리에 저장하며, 동시에 MCP image 콘텐츠를 반환합니다.

호출별 사용자 정의 매개변수

표준 필드는 직접 전달하고, 사이트 전용 필드는 custom_parameters에 넣습니다. 예:

{
  "prompt": "一座雨夜城市",
  "size": "1024x1024",
  "custom_parameters": {
    "steps": 30,
    "guidance_scale": 7,
    "seed": 12345,
    "negative_prompt": "模糊、低清晰度"
  }
}

custom_parameters는 이번 요청 JSON에 병합됩니다. provider, model, prompt, custom_parameters 및 이미 전달된 표준 필드는 덮어쓸 수 없습니다.

보안 제약

  • 실제 키는 시작 환경에만 넣고, providers.json, 코드, 로그 또는 MCP 도구 매개변수에 작성하지 마세요.

  • save_directory는 사용자가 매번 이미지 생성 전에 명시적으로 선택해야 하며, MCP가 저장 위치를 스스로 결정하지 않습니다.

  • 저장 디렉터리에 .response.json 원본 응답 파일과 일련번호로 명명된 이미지 파일이 생성됩니다.

  • URL 이미지 다운로드는 HTTP(S)만 허용하며 25 MB로 제한됩니다. 다운로드 실패 시 원본 URL은 여전히 .response.json에 보존됩니다.

  • 요청과 응답에서 Authorization 헤더를 출력하지 않습니다.

  • advanced 임의 전달은 템플릿에 추가되지 않았습니다. 사이트 관리자는 자신의 인터페이스에 따라 항목별로 화이트리스트 필드를 추가해야 합니다.

Codex 등록

Codex의 MCP 구성에 node dist/index.js를 등록하고, 구성된 환경 변수를 통해 RelayOne Key를 전달하세요. 실제 값을 예시 파일에 넣거나 제3자에게 보내지 마세요.

프로젝트 주소: https://github.com/linshiqiyyds/relayone-image-mcp

이미지 생성 호출 예시

generate_image를 호출할 때 먼저 저장 디렉터리를 선택해야 합니다. 예:

{
  "prompt": "一只橘猫坐在窗边,电影感,自然光",
  "size": "1024x1024",
  "response_format": "b64_json",
  "save_directory": "D:\\RelayOne-MCP\\generated"
}

response_format: "url"을 선택하면 MCP가 URL에 해당하는 이미지를 다운로드하고, b64_json을 선택하면 MCP가 Base64를 디코딩합니다. 두 원본 필드 모두 .response.json 파일에 그대로 보존됩니다.

Image2 예시

{
  "provider": "image2",
  "model": "gpt-image-2",
  "prompt": "一张产品摄影图",
  "size": "2048x1152",
  "response_format": "url",
  "save_directory": "D:\\RelayOne-MCP\\generated"
}

Image2 이미지-이미지 생성은 로컬 참조 이미지 경로만 추가하면 되며, MCP가 자동으로 /v1/images/edits로 전환합니다:

{
  "provider": "image2",
  "model": "gpt-image-2",
  "prompt": "保留主体,把背景改成夜晚城市",
  "reference_images": ["D:\\References\\product.png"],
  "size": "2048x1152",
  "save_directory": "D:\\RelayOne-MCP\\generated"
}

Banana 예시

{
  "provider": "banana",
  "model": "gemini-3.1-flash-image",
  "prompt": "把产品放在夜晚城市街道中",
  "aspectRatio": "16:9",
  "imageSize": "2K",
  "reference_images": [
    "D:\\References\\product.png"
  ],
  "save_directory": "D:\\RelayOne-MCP\\generated"
}

Banana의 참조 이미지는 순수 Base64로 읽힌 다음 Gemini 네이티브 프로토콜에 따라 contents[].parts[].inlineData에 배치됩니다. 최대 14장, 각각 최대 20 MB이며 PNG, JPEG, WebP를 지원합니다. Banana 모델은 gpt-image-2를 사용하지 않으며 Image2의 고정 픽셀 size 필드도 사용하지 않습니다.

Available Tools

6 tools
generate_imageA

Generate an image, preserve the original URL or b64_json response, save files to the user-selected directory, and return MCP image content.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
sizeNo
modelNo
promptYes
streamNo
qualityNo
providerNoProvider id from list_image_providers.image2
imageSizeNo
backgroundNo
moderationNo
aspectRatioNo
output_formatNo
partial_imagesNo
save_directoryYesRequired absolute local directory selected by the user before generation. The response JSON and generated images are saved here.
response_formatNo
reference_imagesNoAbsolute local image paths. Banana supports up to 14; Image2 uses edit_image for references.
custom_parametersNoAdditional JSON fields for this request. Reserved fields cannot be overridden.
output_compressionNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing safety and side effects. It does disclose side effects (preserving response, saving files to disk, returning MCP content). However, it does not reveal potential write/modification behavior, provider-specific limitations, or error-prone conditions like overwriting files or moderation implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is reasonably concise and front-loaded with the main action. It covers multiple behaviors compactly. It could be slightly more structured (e.g., split into purpose and usage), but it earns its place without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 18 parameters, no output schema, and no annotations, the description is underspecified for full autonomous use. It clarifies the file-saving and response-preservation behaviors but does not explain the full output contract, provider coordination, or parameter interactions, making it adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (22%), so the description partially compensates by clarifying key behavior around save_directory and response preservation. It adds meaning beyond the schema for the main flow, especially the user-selected directory semantics, but leaves many parameters unexplained (e.g., background, moderation, stream, custom_parameters).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Generate', 'preserve', 'save', 'return') and identifies the core resource (image) and key behaviors (file saving, MCP content return). It is clear enough to distinguish from siblings like list_image_providers or get_image_capabilities, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is the main generation action, and mentions preserving URL/b64_json response and saving to a user-selected directory, which signals when file persistence is involved. However, it does not provide explicit when-to-use vs. alternatives, prerequisites (e.g., provider selection via prepare_image_request), or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_image_capabilitiesA

Show supported models, modes, limits and parameters for the selected provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoProvider id from list_image_providers.image2

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only says 'Show' which implies a read operation, but it does not explicitly state that it is safe, side-effect-free, or has no permission requirements. It also does not mention any potential rate limits or error conditions. This is a significant gap for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key information. Every word contributes to the purpose without fluff, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description sufficiently conveys what is displayed (models, modes, limits, parameters). It does not over-explain and is complete given the tool's simplicity, though it could mention the default provider or output format for extra clarity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides full coverage for the single parameter (provider) with a description referencing list_image_providers. The tool description adds no additional meaning beyond the schema, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows supported models, modes, limits, and parameters for a selected provider. This is a specific verb+resource combination that distinguishes it from siblings like list_image_providers (lists providers) and generate_image (creates images).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (when you need provider capabilities) but does not explicitly contrast it with alternatives or state when not to use it. It lacks explicit exclusions or named alternatives, so it is adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_image_usageA

Read the optional usage endpoint without generating images.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoProvider id from list_image_providers.image2

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It clearly states the operation is a read ('Read') and has no image-generation side effect ('without generating images'), which is the key safety-related behavior. However, it omits details about response format or potential errors, though the tool is simple.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It conveys the action, the resource, and the critical non-generation behavior efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description plus schema covers the essential information: what it reads and what it avoids doing. It lacks an explicit description of the returned usage data, but 'usage' and the endpoint reference provide reasonable context for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for the single parameter 'provider,' including its default and a description pointing to list_image_providers. The tool description adds no additional parameter meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Read' and identifies the resource as 'the optional usage endpoint,' clearly stating what the tool does. The phrase 'without generating images' explicitly distinguishes it from the sibling tool generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for checking usage information rather than performing generation, which provides clear context. It does not explicitly name alternative sibling tools or provide exclusion criteria, but the non-generating framing and provider reference from list_image_providers offer sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_image_providersA

List configured providers without exposing credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral burden. "Without exposing credentials" is a meaningful safety trait and adds value beyond the tool name, but it does not disclose return format, potential errors, or whether any privileged access is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, front-loaded sentence with no filler. Every word earns its place, and the key security caveat is included without bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list operation, the description is mostly complete: it states what is listed and a critical constraint. However, there is no output schema and the description does not specify what fields or identifiers are returned, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4 per the rubric. The description needs to add no parameter-level detail because there are no parameters to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: "List configured providers" clearly names the action and object. It also adds the credential-safe qualifier, which differentiates it from sibling tools like list_remote_image_models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to choose this tool over siblings such as list_remote_image_models or get_image_capabilities. No alternatives or exclusions are mentioned, so the agent must infer usage purely from the name and short description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_remote_image_modelsA

Read the live model list. This is not a generation request.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoProvider id from list_image_providers.image2

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavior. It states it is a read operation ('Read') and clarifies it is not a generation request, but provides no further details on output format, side effects, or requirements, leaving the agent with minimal behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences that front-load the purpose and add a distinguishing note. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description is adequate but does not mention the provider filter or the nature of the returned list. Since the schema covers the parameter, this is a minor gap, so a middle score is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the provider parameter includes a helpful reference ('Provider id from list_image_providers'). The tool description itself does not add parameter information, but the schema fully documents it, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read the live model list') with a specific resource, and explicitly distinguishes it from a generation request with 'This is not a generation request.' This separates it from sibling tools like generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to read available models) and gives a negative guideline by stating it is not a generation request, but does not explicitly mention when to use it relative to alternatives like list_image_providers or get_image_capabilities.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_image_requestC

Preview the outgoing JSON without contacting the provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
sizeNo
modelNo
promptYes
streamNo
qualityNo
providerNoProvider id from list_image_providers.image2
imageSizeNo
backgroundNo
moderationNo
aspectRatioNo
output_formatNo
partial_imagesNo
response_formatNo
reference_imagesNoAbsolute local image paths. Banana supports up to 14; Image2 uses edit_image for references.
custom_parametersNoAdditional JSON fields for this request. Reserved fields cannot be overridden.
output_compressionNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool does not contact the provider, which is a key behavioral trait (non-mutating). However, it does not describe the output format (e.g., whether it returns the JSON payload, any validation results, or errors). For a preview tool, this basic information is valuable but incomplete, as it leaves uncertainty about what exactly will be returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence and is front-loaded, but it is severely under-specified for a tool with 17 parameters and no annotations. It lacks any structural breakdown or elaboration on usage, output, or behavior. The brevity is not conciseness but rather an omission of critical information. A tool of this complexity requires a fuller description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (17 parameters), lack of annotations, no output schema, and low schema coverage, the description is woefully incomplete. It provides only a high-level purpose without any context about how to use the parameters, what the preview looks like, or how it relates to generate_image. This is insufficient for an agent to correctly invoke the tool with meaningful parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18%, meaning the schema leaves 82% of parameters undocumented. The description provides zero parameter details, failing to compensate for the low coverage. With 17 parameters, the lack of any explanation about parameters such as 'n', 'size', 'model', 'stream', etc., leaves the agent unable to construct a valid request without external knowledge. The description adds no semantic value beyond the schema's minimal annotations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Preview the outgoing JSON without contacting the provider.' It uses a specific verb ('preview') and resource ('outgoing JSON'), and distinguishes itself from sibling tools like generate_image by indicating it does not contact the provider. This is a clear and unambiguous purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no explicit guidance on when to use this tool versus alternatives. It does not mention that this should be used before generate_image to validate requests, nor does it provide any exclusions or conditions. The context of 'without contacting the provider' implies a dry-run use case, but that is not stated explicitly. No alternatives are referenced, so the agent must infer the usage pattern.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.3.0
    • First observedgenerate_image
    • First observedget_image_capabilities
    • First observedget_image_usage
    • First observedlist_image_providers
    • First observedlist_remote_image_models
    • First observedprepare_image_request

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct, but `list_remote_image_models` and `get_image_capabilities` both relate to model information, with the latter including supported models. Descriptions help differentiate them, so ambiguity is minimal.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (list, get, prepare, generate) using snake_case. The naming is uniform and predictable, making it easy to infer each tool's purpose.

Tool Count5/5

Six tools is well-scoped for an image generation server, covering discovery, capability inspection, usage monitoring, request preview, and actual generation. Each tool earns its place without redundancy.

Completeness5/5

The tool surface provides a complete workflow for image generation: listing providers and models, checking capabilities and usage, previewing requests, and generating images. No obvious gaps exist for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers