프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Crabcrop

제작자: dayvson버전 0.1.0i★ 4 (다른 저장소의 별)i내 컴퓨터에서 실행
레지스트리 이름io.github.crabcrop/crabcrop

설치 방법

What it does

Sign and explain crabcrop image URLs, fetch processed-image metadata, and purge cached results.

  • Connects 내 컴퓨터에서 실행
  • Account or key Needs CRABCROP_SECRET
  • Category 디자인, 이미지 및 오디오

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 2/3 통과 · 내 컴퓨터에서 실행돼요 · ✓ 명령 확인 2026년 11월 14일

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. Crabcrop에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  3. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  4. 이 설정을 붙여 넣고 저장

    {
      "mcpServers": {
        "crabcrop": {
          "command": "npx",
          "args": [
            "-y",
            "@crabcrop/mcp"
          ],
          "env": {
            "CRABCROP_SECRET": "your-value"
          }
        }
      }
    }

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  5. Claude를 끄고 다시 열기

  6. 해 보기

    Crabcrop을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Crabcrop을 쓰고 있다고 하거나 답에 Crabcrop 도구 이름이 나오면 연결된 거예요

추가 설정 1개 (입력하지 않아도 사용 가능)

위 명령은 이 값들 없이도 동작합니다. 바꾸고 싶을 때만 제작자 설명대로 추가하세요.

  • CRABCROP_BASE Base URL of the crabcrop server the tools act on (for example https://images.example.com).

설명은 아직 영어 원문입니다.

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Crabcrop에 연결할 수 없어요

Crabcrop는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Crabcrop에 연결되는 앱 쓰기

  • Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

B · 디자인, 이미지 및 오디오에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. Crabcrop에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  3. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  4. 이 명령을 붙여 넣고 Enter

    claude mcp add --scope user crabcrop --env CRABCROP_SECRET=your-value -- npx -y @crabcrop/mcp

    Enter 전에 “your-value”를 내 키로 바꾸세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  5. Claude Code에서 /mcp 입력

    Crabcrop이 목록에 있고 연결됨으로 보이면 돼요

  6. 해 보기

    Crabcrop을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Crabcrop을 쓰고 있다고 하거나 답에 Crabcrop 도구 이름이 나오면 연결된 거예요

추가 설정 1개 (입력하지 않아도 사용 가능)

위 명령은 이 값들 없이도 동작합니다. 바꾸고 싶을 때만 제작자 설명대로 추가하세요.

  • CRABCROP_BASE Base URL of the crabcrop server the tools act on (for example https://images.example.com).

설명은 아직 영어 원문입니다.

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. Crabcrop에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  3. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  4. 키 입력

    Crabcrop 설정에서 CRABCROP_SECRET가 비어 있어요. 내 키를 넣고 저장하세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  5. Cursor에서 AI 채팅을 Agent 모드로 열기

  6. 해 보기

    Crabcrop을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Crabcrop을 쓰고 있다고 하거나 답에 Crabcrop 도구 이름이 나오면 연결된 거예요

추가 설정 1개 (입력하지 않아도 사용 가능)

위 명령은 이 값들 없이도 동작합니다. 바꾸고 싶을 때만 제작자 설명대로 추가하세요.

  • CRABCROP_BASE Base URL of the crabcrop server the tools act on (for example https://images.example.com).

설명은 아직 영어 원문입니다.

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

Crabcrop 키가 필요해요 (제작자 사이트에서 만들기) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. Crabcrop에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  3. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  4. 키 입력

    Crabcrop 설정에서 CRABCROP_SECRET가 비어 있어요. 내 키를 넣고 저장하세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  5. VS Code에서 AI 채팅을 Agent 모드로 열기

  6. 해 보기

    Crabcrop을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Crabcrop을 쓰고 있다고 하거나 답에 Crabcrop 도구 이름이 나오면 연결된 거예요

추가 설정 1개 (입력하지 않아도 사용 가능)

위 명령은 이 값들 없이도 동작합니다. 바꾸고 싶을 때만 제작자 설명대로 추가하세요.

  • CRABCROP_BASE Base URL of the crabcrop server the tools act on (for example https://images.example.com).

설명은 아직 영어 원문입니다.

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Crabcrop을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

claude mcp add --scope user crabcrop --env CRABCROP_SECRET=your-value -- npx -y @crabcrop/mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "crabcrop": {
      "command": "npx",
      "args": [
        "-y",
        "@crabcrop/mcp"
      ],
      "env": {
        "CRABCROP_SECRET": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "crabcrop": {
      "command": "npx",
      "args": [
        "-y",
        "@crabcrop/mcp"
      ],
      "env": {
        "CRABCROP_SECRET": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "crabcrop": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@crabcrop/mcp"
      ],
      "env": {
        "CRABCROP_SECRET": "your-value"
      }
    }
  }
}

직접 입력할 값

  • CRABCROP_BASE env
    Base URL of the crabcrop server the tools act on (for example https://images.example.com).
  • CRABCROP_SECRET 비밀 필수 env
    The server's signing secret, used by sign_url and purge_result. Keep it in the environment, not in tool arguments.

설명은 아직 영어 원문입니다.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

GitHub 스타i
4 (다른 저장소의 별)
이 항목은 다른 사람의 저장소를 가리켜서 별을 순위에 넣지 않아요
주간 다운로드i
53/주
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.1.0
레지스트리 공개i
2026년 10월 25일
코드 마지막 변경i
2026년 11월 13일
제작자
dayvson
패키지
npm: @crabcrop/mcp
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 14일 점검

  • ! 주의

    제작자와 저장소 일치

    게시자(crabcrop)가 저장소 소유자(dayvson)가 아니에요. 다른 사람이 등록했을 수 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 어제

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

디자인, 이미지 및 오디오 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 3042개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 3042개 중 61%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 3042개 중 50%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Crabcrop, 안전한가요?

해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: CRABCROP_SECRET

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 어제 변경됐고, 최신 버전(0.1.0)은 20일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Figma Context MCP, AutoClip, Next AI Draw.io

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

제작자: GLips널리 사용됨↓ 15.2만/주★ 1.6만5개월 전 업데이트

내 컴퓨터에서 실행

AutoClip

Clip long videos into short clips with covers and captions. Local CLI and MCP.

제작자: zhouxiaoka널리 사용됨↓ 205/주★ 1만17일 전 업데이트

내 컴퓨터에서 실행

Next AI Draw.io

draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand

제작자: DayuanJiang널리 사용됨↓ 2.2만/주★ 3.7만 저장소 전체의 별오늘 업데이트

내 컴퓨터에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

crabcrop

Website · Documentation · Playground

Blazing fast, on-demand images.

crabcrop is a Rust-built, lightning-fast on-demand image API supporting all major formats in and out, with over 50 filters and AI features like background removal. It resizes, crops, converts, and filters your images straight from a signed URL. One binary, no pre-generated thumbnails, no build step: the URL is the API.

Everything an image pipeline does, in one signed URL: resize, crop, adjust, shape, overlay, and encode, chained in the order written, plus background removal, studio mode, smart face-safe crops, redaction, and content provenance. Ask for JSON instead of an image and the meta endpoint describes the picture: dimensions, detections, OCR text, and more.

crabcrop is for sites and apps that serve the same images at many sizes and want signed, cacheable image URLs in front of an origin image store.

Install

Shell installer (macOS and Linux):

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dayvson/crabcrop/releases/latest/download/crabcrop-installer.sh | sh

Docker: the base image, and the AI variant with background removal and face detection on board:

docker pull ghcr.io/dayvson/crabcrop:0.9.9

docker pull ghcr.io/dayvson/crabcrop-ai:0.9.9 docker run -e CRABCROP_SECRET=your-secret-change-me -p 3000:3000 ghcr.io/dayvson/crabcrop:0.9.9

A secret of at least 16 bytes is the only required configuration; the server will not start without one. By default the loader fetches public sources and refuses sources that resolve to private addresses, and an allowlist names any exceptions. See Configuration.

Release binaries: prebuilt tarballs for macOS and Linux, on x86_64 and arm64, are on the releases page.

crates.io: cargo install crabcrop builds the current release from source; the prerequisites are in Deployment.

Quickstart

1. Start the server. For local development, also allow unsigned URLs:

CRABCROP_SECRET=local-dev-secret CRABCROP_ALLOW_UNSAFE=1 cargo run --release

crabcrop listening on port 3000

2. Request an image. This resizes a source photo to 300x200:

curl "http://localhost:3000/unsafe/300x200/https://example.com/photo.jpg" --output photo.jpg

Replace example.com/photo.jpg with the URL of an image you control. You get back a 300x200 JPEG.

3. Sign your URLs in production. Drop CRABCROP_ALLOW_UNSAFE and put an HMAC signature in the first path segment:

curl "http://localhost:3000/9e24ae8bf61c0d40cb6f1ca9f9e1d3e771f6c8bc8b8ab7270e6d15458d4c14ab/300x200/https://example.com/photo.jpg" --output photo.jpg

That signature is HMAC-SHA256 of 300x200/https://example.com/photo.jpg under the secret from step 1. The SDKs and the crabcrop sign command compute it for you; the full signing rules are in URL grammar and signing.

How requests work

Every image request has three parts:

GET /<signature>/<operations>/<source-url>

The signature is an HMAC-SHA256 (hex) of everything after it, or the literal unsafe on a server that allows it. Operations are zero or more segments, applied in path order. The source is a full URL, a bucket or file locator, or a short root: reference the server expands against origins it keeps to itself.

A signed URL names a transformation of a source locator, not the source's contents: the cache key is built from the operations and the locator, so if the image at a source changes, a purged entry re-renders the new image under the same URL. Because successful responses carry a one year immutable cache lifetime, a source that must stay fixed under its URL should be versioned or immutable itself (a content hash in the source path is the usual way). A render is cached under the canonical form of its operations, so equivalent spellings share one entry. A preset: segment names an operation string held on the server, so templates stay short and the transformation menu stays operator controlled.

One URL, decoded

https://img.example.com/<signature>/crop:1200x630:smart/filters:format(webp):quality(80)/https://example.com/photo.jpg

Smart-crops the photo to the 1200x630 social card size, keeping the subject and any detected faces whole, then encodes it as WebP at quality 80. Sign it with the TypeScript or Python SDK, the crabcrop-url Rust crate, the CLI, or plain curl: same inputs, same URL.

Send Accept: application/json with the same URL and the answer is the render's meta document instead of its bytes: dimensions, format, byte size, and provenance, with richer annotations as opt-ins.

Features

  • All major formats, in and out. JPEG, PNG, WebP, GIF, AVIF, and JPEG XL, in and out. HEIC and HEIF decode only; SVG decodes, sanitized and rasterized. Name no format and the Accept header decides: AVIF first, then JPEG XL, then WebP. An explicit format(...) always wins.
  • More than photos. The source can be one frame of a video, one page of a PDF, an object in S3 or GCS, a local file, or a short root: reference. Originals can also arrive through the signed upload endpoint, off by default.
  • 51 filters, one chain. Resize, crop, fit-in, and pad are their own path segments. The 51 filters chain inside one filters: segment, everything running in the order written.
  • Smart crop, face safe. The crop window finds the subject, and keeps detected faces whole instead of clipping them at the edge.
  • Studio mode. The listing shot in one filter: cut out, backdrop, contact shadow, margin. Or studio(scene) reframes the photo on its subject and corrects the light and color.
  • Background removal. Your ONNX model, in process. The subject stays, the background becomes real alpha.
  • AI upscale. Super-resolution from a model you supply rebuilds detail instead of stretching pixels, and it never falls back to a plain resize.
  • Object removal. Name a rectangle and an inpainting model fills it in from the surrounding pixels. Everything outside the rectangle comes back bit-identical.
  • Face detection and redaction. Blur or pixelate faces, or every detected object of a class, following the object's silhouette when a segmentation model is configured. Redaction never guesses: a detection failure fails the request.
  • Metadata that describes the picture. JSON meta for every render: dimensions, format, byte size, provenance. Richer answers are opt-ins with their own model sets: CLIP tags and alt text, detections, moderation verdicts, embeddings, an aesthetic score.
  • Reads the text in the picture. Opt a meta request in and the answer reads the picture: the text lines in reading order, each with its box and a confidence score. The annotation never touches the image bytes.
  • Provenance, checked and signed. Meta reports the C2PA Content Credentials a source carries: manifest present, whether it validates, who signed it. With your own certificate, outputs are signed as served, the source recorded as an ingredient, so the chain survives the transform.
  • Sealed URLs. For links that stay public but unreadable: the whole recipe, operations and source, encrypted into one opaque token in the signature slot. Only the server opens it. The readable form stays the default.
  • Presets and purge. Server-side preset names keep templates short. Purge one result, or a whole preset group, with signatures from their own subkey.
  • URLs that explain themselves. Put explain/ in front of any signed URL and the server reports on it instead of serving the image.
  • Sources on your terms. The loader fetches only what your policy allows: host allowlists, private address blocking, the source policy re-checked on every redirect hop, and fixed fetch and decode bounds, so a small file cannot expand into gigabytes.

Documentation

This README is the front door. The full reference lives on the website and in this repo's docs folder:

  • Full documentation: every operation with examples and interactive demos, section by section.
  • Playground: build, sign, preview, and debug URLs in the browser. The secret never leaves the page.
  • The reference, in this repo:
  • URL grammar and signing: request anatomy, signing, sealed and expiring URLs, source images and source roots.
  • Operations: resize, fit-in, pad, the crop family, focal forms, debug view, presets.
  • Filters: the pixel filters, encoding directives, watermark, overlay, text, the AI filters, and studio mode.
  • Media sources: format negotiation, video output, video frames, PDF pages.
  • Meta and provenance: meta responses and C2PA verification and signing.
  • Responses and errors: response headers, the cache tiers, color management, the fallback image, and the error table.
  • Endpoints and CLI: health, metrics, purge, uploads, self-explaining URLs, cache groups, and the command line verbs.
  • Configuration: every environment variable, server-wide default operations, rotating the secret.
  • AI features: the model-backed features and declared detectors.
  • Clients and SDKs: the Rust crate, the TypeScript and Python SDKs, framework loaders, the WordPress plugin, and the MCP server.
  • Deployment: platform recipes, CDN guides, and production notes.

SDKs and integrations

Build and sign URLs from code: @crabcrop/url for TypeScript, crabcrop_url for Python, and the crabcrop-url Rust crate, all running the same spec test vectors, so client and server cannot drift. Loaders and integrations cover Next.js, Nuxt, Hydrogen, Astro, and SvelteKit, plus a WordPress plugin. For coding agents, a first-party MCP server exposes signing, explaining, meta, and purge over the same surface. Details in Clients and SDKs.

The server binary doubles as its own operator CLI: crabcrop sign, explain, meta, purge, seal, upload, and convert-thumbor run against a server (or offline, for the grammar-only verbs) with the same configuration conventions.

Migrating from another service: guides for Thumbor, imgproxy, Cloudinary, imgix, Cloudflare Images, ImageKit, and Gumlet.

Deployment

Every recipe runs the same server, configured entirely through the environment. Release images are published to GHCR as ghcr.io/dayvson/crabcrop, with the AI variant at ghcr.io/dayvson/crabcrop-ai. Recipes ship for Kubernetes (Helm and Kustomize), ECS Fargate, Cloud Run, Container Apps, Docker Compose, and a binary on a VM, plus CDN guides for Cloudflare, CloudFront, Fastly, BunnyCDN, and Akamai. See Deployment.

Development

cargo build --locked

bash scripts/test_all.sh

Security

Found a security vulnerability? Please report it privately: see SECURITY.md. Please do not open a public issue, pull request, or discussion for security problems.

License

MIT. See LICENSE.