markly-mcp-server
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., "@markly-mcp-serverAdd 'Copyright 2026' as a watermark to this image: https://example.com/photo.jpg"
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.
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 |
| Add a text watermark to an image via URL |
| Add a logo watermark to an image via URL |
| Watermark up to 20 images, get a ZIP |
| 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 |
| No | - (anonymous free tier) |
| No |
|
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 toolsmarkly_batch_watermarkB
Watermark multiple images at once. Upload image URLs, apply text watermark, get a ZIP. Supports up to 20 images.
| Name | Required | Description | Default |
|---|---|---|---|
| image_urls | Yes | Array of image URLs to watermark (max 20) | |
| text | Yes | Watermark text to apply to all images | |
| size | No | Font size in pixels (12-200, default 48) | |
| color | No | Hex color (e.g. #ffffff) | |
| opacity | No | Opacity percentage (5-100, default 50) | |
| position | No | Watermark position | |
| tile | No | Tile watermark across all images |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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_logoA
Add a logo/image watermark to an image. Provide image and logo URLs. Returns a download URL (valid 30 min).
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | URL of the image to watermark | |
| logo_url | Yes | URL of the logo to use as watermark (PNG or WebP recommended) | |
| position | No | Logo position (default center) | |
| opacity | No | Opacity percentage (5-100, default 50) | |
| scale | No | Logo scale as % of image width (5-80, default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states the operation (add watermark) and output (download URL with expiry). However, it omits details like potential file size limits, format constraints beyond recommendations, and whether the original image is modified (it is not). Some gaps in transparency remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loading the action and key inputs. It is efficient, though the sentence is slightly run-on. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description covers the core action and output but lacks mention of customization options (position, opacity, scale) and format recommendations (PNG/WebP for logo). These are in parameter descriptions but not in the main description, leaving the agent somewhat under-informed about available features.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, merely restating that image and logo URLs are needed and that a download URL is returned. It does not elaborate on optional parameters like position, opacity, or scale, which are already documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a logo/image watermark to an image'), specifies inputs (image and logo URLs), and mentions the output (download URL with 30 min validity). It is specific and distinguishes from siblings like markly_watermark_text and markly_batch_watermark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single image logo watermarking but does not explicitly guide when to use alternatives (e.g., text watermarking via markly_watermark_text or batch via markly_batch_watermark). Sibling names provide context, but the description itself lacks explicit when-to-use and when-not-to-use 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).
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | URL of the image to watermark (must be publicly accessible) | |
| text | Yes | Watermark text (max 200 characters) | |
| size | No | Font size in pixels (12-200, default 48) | |
| color | No | Hex color (e.g. #ffffff, default white) | |
| opacity | No | Opacity percentage (5-100, default 50) | |
| angle | No | Rotation angle in degrees (-180 to 180, default -30) | |
| position | No | Watermark position (default center) | |
| tile | No | Tile the watermark across the entire image (default false) | |
| font | No | Font (default inter) |
TDQS
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.
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.
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.
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.
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.
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
Each tool has a distinct function: batch watermarking, usage check, logo watermark, and text watermark. Descriptions clearly differentiate them with no overlap.
All tools follow the consistent pattern 'markly_verb_noun' with snake_case, making the set predictable and easy to navigate.
With 4 tools, the server covers essential watermarking operations (single text, single logo, batch, and usage check) without being excessive or sparse.
The tool set covers core watermarking needs, but lacks optional parameters for customization (e.g., position, opacity). However, the basic workflow is complete.
Maintenance
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
URL intelligence for AI agents and developers. 16 tools, 25 signal weights, 20 free checks.
Pay-per-use tool API for AI agents. Free tier, x402 USDC micropayments, or API key.
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to download images from URLs and perform basic image optimization tasks.22017Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with tools to convert images between formats and inspect image metadata, enabling seamless image processing within agent workflows.253MIT
- AlicenseAqualityDmaintenanceEnables AI agents to analyze images, extract text, compare images, and analyze video through any OpenAI-compatible vision model.411920MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to add text and image watermarks, search for existing watermarks, and remove watermarks from documents. Supports over 50 document and image formats including PDF, DOCX, and XLSX.MIT
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/Whitemarmot/markly-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server