Skip to main content
Glama
smythmyke

MarkItUp - AI Image Marketing and Annotation

by smythmyke

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.2

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: checking credits, extending canvas, generating marketing variations, regenerating a specific variation, and removing background. There is no ambiguity between them.

    Naming Consistency4/5

    All tools share the 'markitup_' prefix and use snake_case, but 'credit_balance' is a noun phrase while others are verb phrases (extend, generate, regen, remove_background). This minor inconsistency prevents a perfect score.

    Tool Count4/5

    With 5 tools covering core image generation and editing needs, the count is reasonable for a specialized marketing tool. Slightly more tools could be added (e.g., template listing), but it's well-scoped.

    Completeness4/5

    The tool surface covers the primary workflow: credit check, generate, regenerate, extend, and background removal. A minor gap is the lack of a tool to list available templates or manage credits, but the core pipeline is complete.

  • Average 4.3/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • 0 of 1 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • 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.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to 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?

    Without annotations, the description carries the full burden. It mentions the credit cost but does not disclose other behavioral traits such as output format, synchronous/asynchronous behavior, error conditions, or whether the operation is reversible. The description provides minimal behavioral context beyond the basic action.

    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 sentences that front-load the purpose and immediately follow with usage context and parameters. No redundant or unnecessary information is present.

    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 the complexity (7 parameters, no output schema, no annotations), the description covers the essential purpose and usage but lacks details on output format, direction of extension, or error handling. It is adequate for a basic understanding but not fully comprehensive.

    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 has 71% description coverage, so the description's added value is limited. It reiterates that parameters include source image (URL or base64) and target dimensions, but does not explain the 'image_size' enum or add semantics beyond what the schema already provides. This meets the baseline for moderate 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's purpose: 'AI-outpaint an image to a larger canvas.' It provides specific use cases like converting a square asset to different aspect ratios, which distinguishes it from sibling tools that generate, regenerate, or remove backgrounds.

    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 gives explicit use cases ('converting a square asset to 16:9 or 9:16, or extending a tight crop') and mentions cost ('Costs 1 credit'). However, it lacks explicit comparison to alternatives or when not to use it, though the context from sibling names implies differentiation.

    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 carries full burden. It correctly implies a safe, read-only operation without causing side effects, which is adequate for a simple balance check.

    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?

    Two concise, front-loaded sentences with no wasted words. Every sentence adds value: purpose first, usage guidance second.

    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?

    While adequate for the tool's simplicity, it lacks details about the return structure (e.g., whether balance is an object or just a number). With no output schema, more specificity would improve completeness.

    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?

    No parameters exist (0 params, 100% schema coverage). Description adds value by explaining what the tool returns, fulfilling the baseline expectation for zero-parameter tools.

    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 explicitly states it returns 'current MarkItUp credit balance and subscription status for the authenticated account', clearly distinguishing it from sibling generation tools.

    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?

    It gives explicit guidance: 'Use this before calling generation tools to verify the account has credits available.' No explicit when-not, but context is clear.

    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?

    Discloses output is transparent PNG, cost of 1 credit, free for Pro/Power subscribers. No annotations provided, so description carries burden; it covers key behaviors but omits error handling or rate limits.

    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?

    Two sentences, front-loaded with purpose, then cost and input format. No wasted words.

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

    Completeness5/5

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

    For a medium-complexity tool, description covers purpose, input, output, and cost. No output schema, but output described as transparent PNG. Enough for agent to decide.

    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 has 67% description coverage. Description adds context that image_url and image_base64 are mutually exclusive and mentions mime_type default. Adds some value, but schema already covers basics.

    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 it removes background from an image using Photoroom HD AI, returns transparent PNG. Distinct from siblings (credit_balance, extend, generate, regen) which are unrelated.

    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?

    Specifies input format (URL or base64) and credit cost. Implicitly suggests usage for background removal, but no explicit when-to-use or alternatives among siblings.

    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?

    Without annotations, the description discloses important behaviors: credit cost (if charge_credit=true), the need to reuse previous text_analysis to maintain visual consistency, and the use of variation_index to select a slot. This goes beyond simple purpose.

    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 front-loaded with the main purpose and logically organized. Each sentence adds distinct value (prerequisite, cost, required arguments, slot selection). No redundant or irrelevant information.

    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?

    Despite no output schema, the description covers key usage aspects: required inputs from previous call, variation selection, credit cost. It does not explain the return format, but the regeneration context is adequately described for an agent to infer the output.

    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 coverage is 78%, and the description adds context by explaining the relationship between text_analysis and the previous generate's structuredContent.text, and clarifying variation_index as a slot. This provides meaning beyond the schema definitions.

    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 the specific verb 'Regenerate' and clearly identifies the resource as 'a single variation from a previous markitup_generate call'. It distinguishes from sibling tools (e.g., markitup_generate) by referencing the prerequisite generation call.

    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 provides instructions on when to use the tool (after a markitup_generate call) and how to pass required data (source image, text_analysis object, variation_index). It also mentions credit cost. Missing explicit when-not-to-use scenarios, but context is clear.

    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 covers cost (1 credit), the multi-model pipeline (Claude + Gemini), and return value (images + copy), providing adequate behavioral context.

    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?

    Description is only 3 sentences, each serving a purpose: purpose/pipeline, cost/input constraint, template IDs/output. Perfectly front-loaded.

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

    Completeness5/5

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

    Given 7 parameters and no output schema, the description covers necessary context: input methods, cost, style options, and what is returned. No 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 coverage is 100%, but the description adds value by clarifying the mutual exclusivity of image_url/image_base64 and listing example template_ids beyond schema defaults.

    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 generates polished marketing-visual variations using a specific pipeline, distinguishing it from siblings like markitup_extend or markitup_remove_background.

    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 explicitly says to provide either image_url or image_base64 (exactly one) and lists common template IDs, but lacks explicit when-not-to-use guidance or comparisons to siblings.

    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

markitup-mcp-server MCP server

Copy to your README.md:

Score Badge

markitup-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

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/smythmyke/markitup-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server