Skip to main content
Glama

markly-mcp-server

MCP (Model Context Protocol) server for Markly.cloud - add watermarks to images via AI agents.

Works out of the box without an API key (free tier with branding). Add an API key to remove branding and increase limits.

Tools

Tool

Description

markly_watermark_text

Add a text watermark to an image via URL

markly_watermark_logo

Add a logo watermark to an image via URL

markly_batch_watermark

Watermark up to 20 images, get a ZIP

markly_check_usage

Check API quota and usage stats (requires API key)

Related MCP server: img-convert MCP Server

Quick start (no API key needed)

Add to your Claude Desktop config or Claude Code settings:

{
  "mcpServers": {
    "markly": {
      "command": "npx",
      "args": ["-y", "markly-mcp-server"]
    }
  }
}

That's it. Ask your AI agent:

"Add 'Copyright 2026' as a watermark to this image: https://example.com/photo.jpg"

With an API key (optional)

Get an API key at markly.cloud/developers to remove the "markly.cloud" branding and get higher rate limits.

{
  "mcpServers": {
    "markly": {
      "command": "npx",
      "args": ["-y", "markly-mcp-server"],
      "env": {
        "MARKLY_API_KEY": "mkly_your_token_here"
      }
    }
  }
}

Environment variables

Variable

Required

Default

MARKLY_API_KEY

No

- (anonymous free tier)

MARKLY_API_URL

No

https://www.markly.cloud/api/v1

Plans

Plan

Rate limit

Daily limit

Branded watermark

Anonymous

5/min

50/day

Yes ("markly.cloud")

Credit

60/min

1,000/day

No (while credits last)

Pro

60/min

1,000/day

No

Business

120/min

5,000/day

No

Buy credits at markly.cloud/developers - starting at 250 credits for 5 EUR.

License

MIT


Available Tools

4 tools
markly_batch_watermarkB

Watermark multiple images at once. Upload image URLs, apply text watermark, get a ZIP. Supports up to 20 images.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlsYesArray of image URLs to watermark (max 20)
textYesWatermark text to apply to all images
sizeNoFont size in pixels (12-200, default 48)
colorNoHex color (e.g. #ffffff)
opacityNoOpacity percentage (5-100, default 50)
positionNoWatermark position
tileNoTile watermark across all images

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description must cover behavior. It only mentions the output (ZIP) and limit, but fails to disclose if the operation is read-only, destructive, or requires authentication. No details on error handling 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/5

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

The description is concise with three sentences, front-loading the core action. Each sentence adds essential information without redundancy.

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

Completeness2/5

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

With 7 parameters, no output schema, and no annotations, the description leaves gaps: no details on return format (e.g., ZIP file naming), error handling, or optional parameter behavior. It is insufficient for a tool of this complexity.

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 coverage is 100% with good descriptions for each parameter. The description adds minimal new semantics beyond summarizing the text watermark and ZIP output. Baseline 3 is appropriate given full 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's purpose: 'Watermark multiple images at once' with specifics about uploading URLs, applying text watermarks, and outputting a ZIP. It distinguishes from siblings like markly_watermark_text (single image) and markly_watermark_logo (logo watermark).

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 batch usage but does not explicitly state when to use this tool versus single-image tools. It mentions a limit of 20 images, offering some guidance, but lacks when-not-to-use or alternative suggestions.

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

markly_check_usageA

Check your Markly API usage and quota. Shows plan, daily requests, limits, and total images processed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that it checks usage and quota, implying a read-only, non-destructive operation. Lacks details on data freshness or quota refresh cycles, but sufficient for a simple status 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 sentences, front-loaded with action and resource. No filler. Efficient and clear.

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?

No parameters, no output schema, simple tool. Description fully captures what the tool does and what it returns. Complete for its complexity.

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 (schema has no properties). Baseline for 0 parameters is 4. No parameter info needed; description covers purpose adequately.

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?

Description clearly states the tool checks API usage and quota, listing specific data shown (plan, daily requests, limits, total images). Verb 'check' matches resource 'usage'. Clearly distinguishes from sibling watermarking tools.

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?

No explicit when or when-not to use. No mention of alternatives, though siblings are different operations. Implied usage is before watermarking or for monitoring, but lacks explicit guidance.

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

markly_watermark_textA

Add a text watermark to an image. Provide an image URL and watermark text. Returns a download URL (valid 30 min).

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to watermark (must be publicly accessible)
textYesWatermark text (max 200 characters)
sizeNoFont size in pixels (12-200, default 48)
colorNoHex color (e.g. #ffffff, default white)
opacityNoOpacity percentage (5-100, default 50)
angleNoRotation angle in degrees (-180 to 180, default -30)
positionNoWatermark position (default center)
tileNoTile the watermark across the entire image (default false)
fontNoFont (default inter)

TDQS

A3.9/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses the input requirements (image URL, text) and output behavior (returns a download URL valid for 30 minutes). It does not, however, discuss whether the original image is modified or mention any authorization 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?

The description is extremely concise: two sentences that front-load the purpose and required inputs, then state the output and its validity period. Every sentence earns its place with no unnecessary 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?

With 9 parameters and no output schema, the description covers the essentials but lacks guidance on common parameter combinations or tips for effective usage. It is not misleading but feels slightly sparse given the tool's complexity.

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 coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema, only mentioning the two required parameters. It does not explain default values or other parameter details that could aid understanding.

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 ('Add a text watermark to an image') and identifies the resource ('image'). It distinguishes from sibling tools like 'markly_watermark_logo' (logo watermark) and 'markly_batch_watermark' (batch processing).

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 when to use (when adding a text watermark) but does not explicitly state when not to use or suggest alternatives. There is no mention of when to use sibling tools instead.

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

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct function: batch watermarking, usage check, logo watermark, and text watermark. Descriptions clearly differentiate them with no overlap.

Naming Consistency5/5

All tools follow the consistent pattern 'markly_verb_noun' with snake_case, making the set predictable and easy to navigate.

Tool Count5/5

With 4 tools, the server covers essential watermarking operations (single text, single logo, batch, and usage check) without being excessive or sparse.

Completeness4/5

The tool set covers core watermarking needs, but lacks optional parameters for customization (e.g., position, opacity). However, the basic workflow is complete.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/Whitemarmot/markly-mcp-server'

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