2Xapi.com GPT-image MCP Server
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool has a clearly distinct purpose: get_config reads settings, set_config updates general settings, set_moderation toggles the moderation gate, generate_image creates images, and list_image_models queries available models. No two tools overlap in action or target.
Naming Consistency5/5All tool names follow the consistent verb_noun pattern in snake_case: get_config, set_config, set_moderation, generate_image, list_image_models. The naming is predictable and uniform.
Tool Count5/5With 5 tools, the server is well-scoped for configuration and image generation. Each tool serves a necessary function without redundancy or bloat.
Completeness4/5The tool surface covers the core lifecycle: configuration retrieval/update, moderation control, image generation, and model listing. A minor gap is the lack of an explicit delete/clear configuration tool, but the existing set is sufficient for the stated purpose.
Average 4.2/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 9 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses return values (image URL, local path) and configuration behavior (per-call overrides). It does not address potential API failures, rate limits, or side effects of saving files, but it does provide useful context about how the tool operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the primary action and then add configuration and return details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no annotations, and an output schema, the description covers purpose, configuration, and key outputs. It omits details on count, size, and quality, but these are accessible in the schema and the description otherwise gives a solid overview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the prompt (text prompt), model (config default with overrides), and save (save_dir/save flag), but does not clarify n, size, or quality despite the schema having 0% coverage. It adds some meaning but leaves several parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Generate one or more images from a text prompt via the configured OpenAI-compatible image API.' This clearly identifies the action (generate), resource (images), and method (API), and is distinct from sibling tools like get_config and list_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 Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions that endpoint/key/model come from config and that per-call args override them, directing users to get_config/set_config for configuration concerns. However, it does not explicitly state when not to use this tool vs. list_image_models or set_moderation, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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. It discloses that the operation is a list/GET, implying read-only behavior, and specifies the HTTP endpoint. However, it does not mention potential pagination, error handling, or whether it requires authentication, though these may be less relevant for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource. It includes the endpoint in parentheses without fluff, making every word meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no annotations) and the presence of an output schema, the description is largely complete. It explains what is listed and from where. A brief note about usage in the image generation workflow could add context but is not strictly necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so schema coverage is 100% vacuously. Per the rubric, 0 parameters warrants a baseline of 4. The description adds no parameter-specific details, but none are needed since there are no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb 'List' and resource 'models exposed by the configured image backend'. It also includes the HTTP endpoint (GET /models), which distinguishes it from sibling tools like generate_image or set_config.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. The context implies it is for viewing available models before image generation, but there is no direct statement such as 'use this before calling generate_image' or 'instead of other configuration tools'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explains persistence to a config file, that null/omitted fields remain unchanged, and that changes apply immediately without restart. This is valuable behavioral insight beyond a basic 'update' statement, though it does not cover potential validation or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, behavior, and field list. It is front-loaded and each sentence earns its place. No filler or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a config-update tool with no annotations and 5 parameters, the description covers the key aspects: partial update semantics, persistence, immediate effect, and the relevant fields. An output schema exists, so not explaining the return value is acceptable. It could have added a note about validation or file location, but overall it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all five field names and explains the null/omitted behavior, which adds meaning beyond the raw schema. However, it does not elaborate on the role or allowed values of each field, relying on the self-explanatory names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update one or more GPT-image settings and persist them to the config file,' which is a specific verb + resource. It also lists the exact fields involved, making it easy to distinguish from sibling tools like get_config (read) and generate_image (use).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by noting that changes take effect immediately for subsequent generate_image calls, implying this is the tool to use before generating images. It does not explicitly name alternatives or exclusions, but the intended usage is clear from the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It covers the screening timing, rejection of disallowed prompts, persistence to config.json, immediate effect, and the null-unchanged semantics, which is comprehensive and goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with four sentences each adding unique value: purpose, behavior, null semantics, persistence, and disabling. There is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers the tool's behavior and effects, and an output schema exists to document return values. However, it leaves the meanings of key parameters undefined, which is a significant gap for a configuration tool with no schema descriptions. This prevents full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its five parameters, so the description must compensate. It only explains that null arguments are unchanged and that enabled=false turns moderation off, leaving model, prompt, api_key, and api_base_url unexplained. This is insufficient for an agent to correctly set these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: configuring a moderation gate for pre-generation screening. It uses a specific verb 'Configure' and identifies the resource as the moderation gate, effectively distinguishing it from sibling tools like set_config and 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool—to configure moderation screening before image API calls—and explains how to disable it. However, it does not explicitly mention alternatives or exclusion criteria, though the focus on moderation makes the use case fairly unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears responsibility for behavioral disclosure. It usefully reveals that the API key is masked, and the verb 'Show' implies a read-only operation. However, it does not mention potential errors (e.g., missing config file) or other side effects, though for a simple getter this is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and immediately listing the returned fields. The second sentence adds the masking detail and a pointer to set_config, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless getter with an output schema present, the description fully covers what the tool does and what it returns. It names all output fields and notes masking, which is sufficient context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no param details and the description doesn't need to explain any. The baseline for 0 parameters is 4, which is appropriate; no additional param semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action ('Show') on a specific resource ('the current GPT-image configuration') and enumerates the exact fields returned. It clearly distinguishes from the sibling set_config by indicating this tool displays rather than modifies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (to view configuration) and provides an alternative: 'Use set_config to change any of these values.' This effectively explains when not to use it for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/2xapi/2Xapi.com-GPT-image-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server