프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Etchv

제작자: etchv-labs버전 1.6.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.etchv-labs/mcp-server

설치

개요

제작자가 쓴 설명(영어 원문)

Invisible watermarking and watermark detection for images, PDFs and videos with Etchv.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타
  • 입력해야 할 값: ETCHV_API_KEY, ETCHV_FILES_ROOT

설치

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

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: ETCHV_API_KEY, ETCHV_FILES_ROOT, ETCHV_API_BASE_URL

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "etchv-labs": {
      "command": "npx",
      "args": [
        "-y",
        "@etchv-labs/mcp-server"
      ],
      "env": {
        "ETCHV_API_KEY": "your-value",
        "ETCHV_FILES_ROOT": "your-value",
        "ETCHV_API_BASE_URL": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add etchv-labs --env ETCHV_API_KEY=your-value --env ETCHV_FILES_ROOT=your-value --env ETCHV_API_BASE_URL=your-value -- npx -y @etchv-labs/mcp-server

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "etchv-labs": {
      "command": "npx",
      "args": [
        "-y",
        "@etchv-labs/mcp-server"
      ],
      "env": {
        "ETCHV_API_KEY": "your-value",
        "ETCHV_FILES_ROOT": "your-value",
        "ETCHV_API_BASE_URL": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "etchv-labs": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@etchv-labs/mcp-server"
      ],
      "env": {
        "ETCHV_API_KEY": "your-value",
        "ETCHV_FILES_ROOT": "your-value",
        "ETCHV_API_BASE_URL": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • ETCHV_API_KEY 비밀 필수 env
    Etchv API key with the scopes your workflow needs.
  • ETCHV_FILES_ROOT 필수 env
    Absolute path of an existing directory for input and output files.
  • ETCHV_API_BASE_URL env
    Optional HTTPS API origin. Defaults to https://api.etchv.com.

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

할 수 있는 일

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

기본 점검i

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

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 etchv-labs 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

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

  • – 해당 없음

    OAuth로 로그인

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

  • … 아직 점검 안 함

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

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

기타 카테고리의 다른 서버와 비교i

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

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

자주 묻는 질문

Etchv, 안전한가요?

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

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

입력해야 할 값: ETCHV_API_KEY, ETCHV_FILES_ROOT

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

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

아직 관리되고 있나요?

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

어떤 앱에서 쓸 수 있나요?

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

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

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, dotnet-mcp

대안

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

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

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211어제 업데이트
설치

dotnet-mcp

제작자: Skymly

MCP server for .NET symbols, XAML, source generators, and restricted workspace edit

내 컴퓨터에서 실행오늘 업데이트
설치

제작자의 README

README 열기

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

Etchv MCP server

A local stdio Model Context Protocol server that lets AI assistants watermark and detect images, PDFs and videos with Etchv.

Requirements

  • Node.js 24 or later
  • An Etchv API key with only the scopes you need
  • An existing directory for input and output files

Configuration

VariableRequiredDescription
ETCHV_API_KEYYesEtchv API key. Keep it in your client's secret or env config, never in chat.
ETCHV_FILES_ROOTYesAbsolute path of an existing directory. All input and output files must be inside it.
ETCHV_API_BASE_URLNoAPI origin. Defaults to https://api.etchv.com.
ETCHV_LARGE_FILE_THRESHOLDNoFiles above this many bytes are uploaded once to a signed URL and sent by ID. Defaults to 40 MiB.
Claude Code
claude mcp add etchv --scope user \

-e ETCHV_API_KEY="$ETCHV_API_KEY" \ -e ETCHV_FILES_ROOT="$HOME/etchv-media" \ -- npx -y @etchv-labs/mcp-server@1

Editor plugins

This repository is also a Cursor plugin (.cursor-plugin/plugin.json with mcp.json) and a Gemini CLI extension (gemini-extension.json). Both run the same package and need ETCHV_API_KEY and ETCHV_FILES_ROOT. Gemini CLI asks for them at install; in Cursor, set them under Plugins, then Configure:

gemini extensions install https://github.com/etchv-labs/mcp-server
Claude Desktop, Cursor and other mcpServers clients

Add this to the client's MCP config (for example claude_desktop_config.json or ~/.cursor/mcp.json) and restart it:

{

"mcpServers": { "etchv": { "command": "npx", "args": ["-y", "@etchv-labs/mcp-server@1"], "env": { "ETCHV_API_KEY": "YOUR_ETCHV_API_KEY", "ETCHV_FILES_ROOT": "/absolute/path/to/etchv-media" } } } }

Then ask the assistant to run check_api_key to confirm the connection.

Tools

ToolWhat it doesKey scope
check_api_keyShow organization ID, key ID and scopes; no creditsAny valid key
watermark_mediaWatermark a file, sync or async; spends creditswatermarks:embed (assets:read for links)
detect_mediaDetect a watermark, sync or async; uses creditswatermarks:detect
create_uploadCreate an upload session and return its signed upload URLwatermarks:embed, or watermarks:detect for detect
get_job, get_job_resultRead job status; collect a finished resultMatching embed/detect scope
watermark_batchWatermark up to 100 local files in one batch, each with its own data; spends creditswatermarks:embed
get_batch, download_batchFollow a batch; save each result or the batch's zipwatermarks:embed
list_assets, get_asset, download_assetList, inspect, download or link to assetsassets:read
update_assetRename or replace metadata (version-checked)assets:write
delete_assetDelete an assetassets:delete, owner/admin
create_linkShare a source asset so each recipient opens their own watermarked copy; copies spend creditslinks:write
list_links, get_linkList links; read one with each recipient's opens and copylinks:read
revoke_linkStop new opens and downloads of a linklinks:write
delete_link, remove_link_recipientDelete a link, or one recipient, with their opens, downloads and copies; can't be undonelinks:write, assets:delete, owner/admin
list_storage_destinations, list_storage_deliveries, get_storage_deliveryInspect customer storagestorage:read
verify_storage_destination, store_asset, retry_storage_deliveryTest a bucket; deliver or retry a resultstorage:write, owner/admin
list_webhooks, list_webhook_deliveriesInspect webhook endpoints and deliverieswebhooks:read
redeliver_webhookResend an existing eventwebhooks:write, owner/admin

Every tool has a title and readOnlyHint, destructiveHint, idempotentHint and openWorldHint annotations.

Inputs and outputs

watermark_media and detect_media take the file as exactly one of:

  • input_path: a local file inside ETCHV_FILES_ROOT.
  • input_url: a public HTTPS URL. The server downloads it and submits it like a local file. See Security for the checks it applies. The file name comes from the Content-Disposition header, else the URL path; pass filename to set it. Its extension must match media.
  • upload_id: an upl_ ID from create_upload. A client that can send files itself calls create_upload with kind (image, document, video, or detect to check a delivered file), filename and the exact size in bytes, PUTs the bytes to the returned upload.url without an API key, then passes upload_id. An upload is used once and expires after 24 hours.
  • asset_id: an existing asset, such as a delivered file to check. The server downloads it and submits it again. filename can override its name here too.

A watermarked file is saved to output_path when one is given (sync watermark_media, get_job_result and download_asset). Without output_path, these tools return the result's asset_id and metadata with download_url and download_expires_at: a link that works without an API key for 15 minutes. Anyone with the link can download the file, so share it only with the person who needs it. Creating a link needs the assets:read scope; if it fails, the error names the asset so you can call download_asset once the key allows it.

Submissions require a stable idempotency_key; reuse it when retrying so you are not charged twice. Image and PDF uploads are limited to 50 MiB and DOCX, PPTX and video uploads to 20 MiB. A PDF has 1 to 2,000 pages, and its watermarked copy must fit in 95 MiB with 48 KiB per page, so a 2,000-page PDF can be up to about 1 MiB. Detection takes the files Etchv delivered: up to 192 MiB for images, 95 MiB for PDFs and 100 MiB for DOCX, PPTX and video. Files over 40 MiB go through an upload session automatically, and image or document detection above 95 MiB returns a job receipt to collect with get_job_result. Storage destinations and webhook endpoints are created in the dashboard, not through this server.

watermark_media and detect_media accept an optional accelerator (cpu, the default, or gpu). GPU processing requires a Business or Enterprise plan and costs 3× credits; if no GPU is ready, the job runs on CPU at normal credits. Results report the hardware actually used as accelerator, and get_job also returns accelerator_requested. watermark_media and watermark_batch also accept active_content for PDFs: keep (the default) returns scripts and actions as uploaded, and remove_auto_run removes what a PDF viewer runs by itself, such as open actions, document-level JavaScript and XFA forms. In a batch, remove_auto_run needs every file to be a PDF. When a rate or concurrency limit is reached, errors include retry_after_seconds and point to the plan upgrade page. Trial and Launch plans run one operation at a time.

Batches

watermark_batch takes up to 100 files, named one of three ways: input_paths, input_dir with an optional glob (for example "contracts/*.pdf"; braces and .. are refused), or items with their own data. A data_template fills in each file's data; string values may use {filename}, {stem} and {index} (the file's 0-based position). The server creates the batch, uploads each file once to its signed URL without the API key, and starts it. With wait: true it polls at the pace the API asks for, for up to wait_seconds (default 600), sending progress notifications when the client asks for them, and with output_dir saves the results. Otherwise call get_batch, then download_batch, which saves each successful file under its name in the batch zip (NNN- -watermarked. ), or the single zip when the batch was created with archive: true, and lists failed items with their error codes. Each file costs the same credits as a single request, and files that fail are refunded. Retrying with the same arguments resumes or returns the same batch; if that batch expired unstarted or its results have expired, the tool asks for a new idempotency_key.

Hosted mode

The etchv-mcp command always runs in local mode. createServer in src/server.ts also takes mode: "hosted" for a server that runs remotely and has no access to the user's files. In hosted mode no filesRoot is needed; input_path, output_path and the other local file arguments are left out of every tool schema; watermark_batch and download_batch are not offered; results are returned as download links; and the server instructions and etchv://capabilities describe that mode.

Security

  • The API key is read only from ETCHV_API_KEY, sent only to the configured origin, and never appears in tool arguments, results, errors or logs.
  • File access is confined to ETCHV_FILES_ROOT: traversal and symlinks are rejected, and existing files are never overwritten.
  • Only HTTPS API origins are accepted (HTTP for localhost only), and API redirects are never followed.
  • input_url must be HTTPS without a user name or password. The host must resolve only to public addresses: loopback, private, link-local, carrier-grade NAT, multicast, reserved and documentation ranges are refused, including IPv6 forms that embed such an IPv4 address. The connection uses the checked address, at most 3 redirects are followed and each is checked again, the download is capped at the operation's upload limit and times out, and the API key is never sent to the URL.
  • API responses, asset names and metadata are treated as untrusted data, never instructions.

Links

  • Guide: https://etchv.com/docs/mcp?utm_source=mcp-local&utm_medium=readme&utm_campaign=integrations
  • API reference: https://etchv.com/docs?utm_source=mcp-local&utm_medium=readme&utm_campaign=integrations
  • Issues: https://github.com/etchv-labs/mcp-server/issues
  • Support: hello@etchv.com

Questions or bug reports: open an issue here or email hello@etchv.com.

License

MIT

PopNx에게 묻기