ImgKits MCP

io.github.yichong1Published by GitHub account yichong1v1.0.1Updated Nov 5, 2026

ImgKits MCP: translate, blind watermark, audio, PDF→MD→translate, text utils, colorize.

VerifiedStreamable HTTPWeb executableFiles & StorageMedia & DesignAI & ML

Overview

AI-generated overview

Remote ImgKits MCP server for translating text, documents, images and subtitles, converting PDFs to Markdown, OCR, audio jobs and image enhancement.

What you can do
  • Convert PDFs and images to Markdown, extract OCR text and tables
  • Translate text, documents, images and subtitles, and detect languages
  • Transcribe audio, generate subtitles, synthesize or clone voices, split stems, make sound effects
  • Embed and decode blind watermarks in images
  • Colorize and upscale photos
  • Transform and count text with local utilities
When to use it
Useful when you need document or image conversion, OCR, multilingual translation, audio transcription or subtitle work from an assistant without running your own models. Handy for preparing PDFs and scans for RAG ingestion or for quick image cleanup and enhancement.
Requirements
Remote Streamable HTTP endpoint; no local install. A bearer API key in the Authorization header is required for tool calls, issued manually by the operator (no self-service page). Inputs must be public http(s) file URLs within the stated size limits. Credits are consumed per call.
Before you install
Calls spend credits, charged before the upstream job runs, so costs add up across translation, audio and image tools. The API key is a live secret and should be kept private. Files are fetched from public URLs, so anything you pass becomes accessible to the service. Voice cloning requires an authorization confirmation, and watermark removal is limited to material you own or are licensed to edit.

Installation

In SourceWeft

  1. Open ImgKits MCP in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.yichong1%2Fmcp-imgkits/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "imgkits": {
      "type": "http",
      "url": "https://mcp.imgkits.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

mcp-imgkits

Public monorepo for ImgKits MCP Workers.

PathRole
transmonkey/Translation MCP (text / document / image / subtitle + language detect)
markany/Watermark MCP (add / remove / blind embed & decode)
imgkits-core/Core image MCP (colorize, upscale with face enhance, background, cartoon, extend, resize, compress)
gateway/Credit gateway (auth, metering, Service Binding aggregation)
audio/Audio MCP (stems / whisper / TTS / clone / tangoflux; extract_html deferred)
doc-translate/PDF→MD→translate combo (pdf_to_markdown_then_translate)
text-utils/pure text style/count tools (convert_text_style, count_text)

Use the MCP

  • Endpoint: https://mcp.imgkits.com/mcp (Streamable HTTP)
  • Privacy / get API key / balance: https://mcp.imgkits.com
  • Clients should prefer the gateway URL, not individual *.workers.dev hosts.

initialize / tools/list / ping are public; tools/call requires Authorization: Bearer sk_live_… issued by the gateway.

Copyright note (MarkAny)

remove_watermark is for material you own or are licensed to edit. Callers must pass confirm_authorization=true; each caller key is rate-limited (default 5 calls / 60 seconds). See markany/README.md for the full copyright / abuse gate.

Layout notes

  • Business product repos are not modified here.
  • Secrets (UPSTREAM_API_TOKEN, etc.) stay in Cloudflare Worker secrets — never commit .dev.vars or real keys.
  • Grey-release Workers may still appear on workers.dev; production entry is the gateway domain above.

Source: README.md at commit 09e56c9

Tools

21

convert_to_markdown

Convert PDF or image to Markdown

Convert PDF and image files to clean Markdown for RAG, LLM ingestion, and knowledge bases. Optionally include MinerU layout JSON (content list with blocks and bounding boxes). Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Processing is asynchronous upstream; this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md

Parametersfilesrequiredinclude_layout_json

ocr_image

Image OCR with bounding boxes

Extract text from images, screenshots, and scanned PDF pages. Returns text blocks with block-level bounding boxes [x0, y0, x1, y1] and page indexes. Coordinates are MinerU content-list coordinates, not character-level boxes and not rescaled to pixels. Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Tables inside an image are returned as positioned table_cell blocks. Processing is asynchronous and this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md

Parametersfilesrequired

extract_tables

Extract tables from PDF or image

Extract tables from PDFs and images as HTML plus a row/column matrix. Merged cells are expanded; only the top-left cell carries content and other covered cells are empty strings. Returns row_count, column_count, page_idx, and bbox for each table. Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Table structure is model-recognized, so complex, borderless, or handwritten tables may contain errors. Processing is asynchronous and this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md

Parametersfilesrequired

translate_text

Translate text

Translate up to 50,000 characters of plain text (up to 50 strings). Long inputs are split into <=1,900-character chunks automatically. Synchronous. Cost: 1 credit per call; mcp-credit-gateway charges before forwarding the request. Requires Authorization: Bearer sk_live_... on the MCP endpoint.

Parameterstorequiredfromtexttextsidempotency_key

translate_document

Translate document

Translate a document from a public URL. Supported formats include PDF, DOCX/DOC, XLSX/XLS, PPTX/PPT, EPUB, TXT, HTML, MD and CSV. Upstream size limits: PDF <= 30 MB, other formats <= 80 MB. This is an async job: the call waits up to wait_seconds (default 30, max 120) and returns a job_id if still running. Call again with the same job_id to poll; polling does not start a new translation job. Upstream deletes temporary/original files after processing and result URLs expire (about 24 hours), so download promptly. Cost: 5 credits per new job, charged by mcp-credit-gateway before forwarding the request.

Parameterstofromjob_iddoc_urlfile_namewait_secondsidempotency_key

translate_image

Translate image text

Translate text inside 1-10 images supplied as public URLs (JPG/PNG/WebP recommended; keep each image <= 10 MB). This is an async job: the call waits up to wait_seconds (default 30, max 120) and returns a job_id if still running. Call again with the same job_id to poll; polling does not start a new translation job. Upstream result URLs expire (about 24 hours), so download promptly. Cost: 2 credits per new job, charged by mcp-credit-gateway before forwarding the request.

Parameterstofontfrompastejob_idimage_urlswait_secondsidempotency_key

translate_subtitle

Translate subtitle

Translate SRT, WebVTT or ASS/SSA subtitle content (up to 1,000,000 characters). Timestamps, cue order, SRT/VTT indices and ASS event fields are preserved exactly; only cue text is translated. Synchronous. Cost: 3 credits per call, charged by mcp-credit-gateway before forwarding the request.

Parameterstorequiredfromformatidempotency_keysubtitle_contentrequired

detect_language

Detect language

Detect the language of up to 20,000 characters. Uses a local Unicode-script + stopword/diacritic heuristic; no upstream call. Returns a language code, confidence, reliability flag and alternatives. Billing: free by default (COST_DETECT_LANGUAGE=0).

Parameterstextrequiredidempotency_key

embed_blind_watermark

Embed blind watermark

Embed an invisible/blind watermark into an image supplied as a public URL (JPG/PNG/WebP/BMP, <= 10 MB; at least 64x64 px recommended). Uses the AiController EncodeBlindWatermark / Alibaba Cloud IMM path. Pass `watermark_text` (<= 512 chars, e.g. an order id), or omit it to use the server-held BLIND_WATERMARK_KEY secret; the embedded content is never echoed back. `model` is DWT (default, more robust) or DCT; optional `strength` 1-10. Synchronous. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding.

Parametersmodelstrengthsource_urlrequiredwatermark_textidempotency_key

decode_blind_watermark

Decode blind watermark

Read a blind watermark from an image (public http(s) URL). Uses the AiController CreateDecodeBlindWatermarkTask + GetDecodeBlindWatermarkResult async path. Start with `source_url`; the call waits up to `wait_seconds` (default 15, max 60) and returns a `job_id` if still running. Poll by calling again with only `job_id`; polling never creates a new upstream decode task. Returns `content` when readable. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding.

Parametersjob_idsource_urlwait_secondsidempotency_key

text_to_sound_effect

Text to sound effect (TangoFlux)

Generate a short sound-effect WAV from a text prompt via TangoFlux (async create + result poll). Pass `prompt` (<= 2000 chars) with optional `duration` (default 10s) and `steps` (default 25); the call waits up to `wait_seconds` (default 30, max 55) and returns `job_id` if still running. Poll by calling again with only `job_id`. Returns `audio_url` when done. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding. Compliance: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parametersstepsjob_idpromptdurationwait_secondsidempotency_key

separate_stems

Separate stems (Spleeter 2stems)

Split a public audio URL into vocals + accompaniment stems via Spleeter 2stems (async create + result poll). Pass `audio_url` (http(s), <= 2048 chars) to start, or `job_id` to poll. Waits up to `wait_seconds` (default 30, max 55). Returns `vocals_url`, `accompaniment_url`, and optional `zip_url` when done. Cost: 3 credits per call, charged by mcp-credit-gateway before forwarding. Compliance / SSRF: only http(s) URLs; Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parametersjob_idaudio_urlwait_secondsidempotency_key

transcribe_audio

Transcribe audio (Faster-Whisper)

Transcribe a public audio URL via Faster-Whisper (async create + result poll; no status endpoint). Pass `audio_url` (http(s)) to start or `job_id` to poll. Optional `language`, `response_format` (simple|raw). Empty transcript is still success (no speech detected). Cost: 2 credits per call. Compliance / SSRF: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parametersjob_idlanguageaudio_urlwait_secondsidempotency_keyresponse_format

generate_subtitles

Generate subtitles (Faster-Whisper → SRT/VTT)

Transcribe a public audio URL with Faster-Whisper and assemble SRT or VTT in the Worker. Pass `audio_url` to start or `job_id` to poll; `format` is `srt` (default) or `vtt`. Cost: 2 credits per call. Compliance / SSRF: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parametersformatjob_idlanguageaudio_urlwait_secondsidempotency_key

text_to_speech

Text to speech (Qwen-TTS)

Synthesize speech from text via Qwen-TTS using a short `refer_audio` sample (http(s) URL). Pass `text` (<= 5000) + `refer_audio` (+ recommended `refer_audio_text`) to start, or `job_id` to poll. voiceId library voices are not exposed this wave. Cost: 2 credits per call. Compliance: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parameterstextspeedjob_idlanguagerefer_audiowait_secondsidempotency_keyrefer_audio_text

clone_voice_tts

Clone voice TTS (Qwen-TTS)

Clone a voice from `clone_audio_url` and speak `text` via Qwen-TTS. Requires `authorization_confirmed=true` (own voice or written authorization). Pass `text` + `clone_audio_url` (+ recommended `clone_audio_text`) to start, or `job_id` to poll. Cost: 3 credits per call. VOICE AUTHORIZATION: Voice cloning is allowed ONLY for your own voice or a voice you have explicit written authorization to clone. Unauthorized cloning of another person's voice is prohibited. Calls are rate-limited/metered. (声音克隆仅限本人音色或已获书面授权的音色;禁止未授权克隆他人声音;调用限频。) Also: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Parameterstextspeedjob_idlanguagewait_secondsclone_audio_urlidempotency_keyclone_audio_textauthorization_confirmed

pdf_to_markdown_then_translate

PDF → Markdown → Translate

Convert a public PDF URL to Markdown via MinerU, then translate the markdown via the public text API. Pass `file_url` (or `files` with exactly 1 PDF http(s) URL; path must end in .pdf) and required `target_lang`. Optional: `source_lang` (default auto), `include_source_markdown` (default true), `wait_seconds` (default 45, max 55). URL max 2048 chars. Returns `markdown`, `translated_markdown`, `bilingual_markdown`, `task_id`, `target_lang`. Cost: 2 credits per call (MinerU 1 + translate_text 1), charged by mcp-credit-gateway before forwarding. DOCX input is not supported this wave. Compliance: Use only on documents you own or are explicitly licensed/authorized to convert and translate. Do not upload or redistribute copyrighted material without permission. Output markdown is ephemeral and must not be abused for bulk scraping. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权文档;禁止滥用转换/翻译他人受版权保护材料;调用限频。)

Parametersfilesfile_urlsource_langtarget_langrequiredwait_secondsidempotency_keyinclude_source_markdown

convert_text_style

Convert Text Style

Transform text with a pure in-Worker algorithm (no upstream HTTP). Pass required `text` (≤8000 chars) and `mode` one of: morse, binary, old_english, fancy, upper, lower, title, reverse. Modes: morse / binary (mappable chars only; others kept + optional skipped note), old_english (Fraktur Unicode), fancy (Math Sans-Serif Bold Unicode), upper / lower / title / reverse. Returns { text, mode, result }. Cost: 1 credit per call, charged by mcp-credit-gateway before forwarding. Privacy: Text is processed in-memory for this request only and is not stored. Do not send secrets, passwords, or personal data you would not paste into a public tool. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (文本仅在本请求内存中处理、不落盘;请勿提交密钥/密码等敏感信息;调用限频。)

Parametersmoderequiredtextrequired

count_text

Count Text

Count characters, words, lines, and UTF-8 bytes for `text` (≤8000 chars). Latin words + CJK ideographs counted separately; pure algorithm, no upstream. Returns characters, characters_no_whitespace, words, lines, bytes_utf8. Cost: 1 credit per call, charged by mcp-credit-gateway before forwarding. Privacy: Text is processed in-memory for this request only and is not stored. Do not send secrets, passwords, or personal data you would not paste into a public tool. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (文本仅在本请求内存中处理、不落盘;请勿提交密钥/密码等敏感信息;调用限频。)

Parameterstextrequired

colorize_photo

Colorize photo

Colorize a photo from a public URL. POST {img} to ai.imgkits.com/api/deoldify (AiController Shangse). Black-and-white photos work best; a response with a null URL is treated as failure. Synchronous. Cost: 2 credits per call; mcp-credit-gateway charges before forwarding. Requires Authorization: Bearer sk_live_... on tools/call.

Parameterssource_urlrequiredidempotency_key

upscale_image

Upscale image

Upscale an image from a public URL. POST {img, upscale} to ai.imgkits.com/api/restoration. `scale` is 2 (default) or 4 and is sent as `upscale`. Optional `face_enhance` is sent on the same body. There is no separate enhance_photo or enhance_face tool. Synchronous. Cost: 2 credits per call; mcp-credit-gateway charges before forwarding.

Parametersscalebucketsource_urlrequiredface_enhanceidempotency_key

Version history

2
  1. v1.0.1LatestNov 5, 2026
  2. v1.0.0Nov 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts