AI 에이전트인 Claude, Cursor 또는 GitHub Copilot에게 문서 서명을 요청하면 파일과 인증서가 절대로 외부로 나가지 않도록 로컬 머신에서 작업을 수행할 수 있습니다. 에이전트가 무엇을 어떻게 서명할지 결정하고, GroupDocs.Signature.Mcp 서버가 sign 도구를 통해 서명을 적용합니다. 아래 내용은 다음과 같은 프롬프트에서 시작됩니다:

contract.pdf를 signing-cert.pfx를 사용해 디지털 서명하세요.

구성 및 문제 해결이 포함된 단계별 버전은 문서에 있습니다: AI 에이전트를 사용해 MCP로 문서 서명하는 방법.

AI 에이전트에게 “sign”이라고 물었을 때 의미는 무엇인가요?

시각적 표시와 암호화 서명 두 가지를 의미할 수 있으며, 자동화 전에 차이를 이해하는 것이 중요합니다. sign 도구는 type에 대해 네 가지 값을 허용합니다: text, qrcode, barcode, digital. 처음 세 가지는 페이지에 시각적 표시를 추가합니다. digital만이 인증서 기반 암호화 서명을 적용하여 누가 서명했는지 기록하고 파일에 대한 이후 변경을 감지할 수 있게 합니다.

언어 모델은 스스로 이 구분을 하지 못합니다. 프롬프트에 “sign this”만 적힌 경우 에이전트가 어떤 종류를 의미하는지 추측해야 하므로, 유형을 명시하세요. 아래 세 가지 방법은 가벼운 표시부터 강력한 서명 순으로 정렬되었습니다.

방법 1: 텍스트 서명으로 페이지에 도장 찍기

문서가 처리되었음을 사람이나 프로세스가 확인하기만 하면 될 때 텍스트 서명을 사용합니다: 이름, 날짜, 승인 라벨 등.

report.docx에 내 이름과 오늘 날짜를 텍스트 서명으로 추가하세요.

에이전트는 type: "text"와 제공된 텍스트를 사용해 sign을 호출합니다. 서버는 서명된 사본을 출력 폴더에 저장하고 원본은 그대로 둡니다. 이는 표시일 뿐 증거는 아닙니다: 페이지에 라벨이 표시될 뿐, 누가 넣었는지 혹은 파일이 이후에 변경됐는지는 알 수 없습니다.

방법 2: 참조를 담은 QR 코드 또는 바코드 추가

기계가 나중에 서명을 읽을 경우 코드를 사용합니다. QR 코드는 구조화된 텍스트를 담을 수 있고, 바코드(코드39, 코드128, EAN 계열)는 스캔 라인 워크플로에 적합합니다.

contract.pdf를 ORDER-2026-0418을 포함한 QR 코드로 서명하세요.

에이전트는 type: "qrcode"와 text: "ORDER-2026-0418"을 사용해 sign을 호출합니다. 코드를 요구하는 모든 프롬프트에서 텍스트를 명시하고, search_qr_codes로 값을 확인한 뒤에 사용하세요. 텍스트 도장과 마찬가지로 코드는 시각적 표시이며, 표시가 존재함을 증명하지만 누가 적용했는지는 증명하지 못합니다.

방법 3: 인증서 기반 디지털 서명 적용

누가 서명했는지와 파일이 이후에 변경되지 않았음을 보여줘야 할 때 디지털 서명을 사용합니다. 에이전트는 인증서 파일과 비밀번호를 sign에 전달합니다:

contract.pdf를 signing-cert.pfx를 사용해 디지털 서명하세요.

호출은 type: "digital", certificate, certificatePassword를 사용합니다. 두 값은 로컬 서버 프로세스가 로컬 디스크에서 읽어들이며, 서명은 프로세스 내부에서 이루어집니다. 서명 서비스가 개입되지 않으므로 키와 비밀번호가 어디에도 전송되지 않습니다. 비밀번호는 커밋된 클라이언트 설정이 아니라 환경 변수에 보관하세요.

여기서는 순서가 중요합니다. 시각적 표시가 파일을 다시 쓰기 때문에 디지털 서명 후에 텍스트 도장이나 코드를 추가하면 서명이 무효화됩니다. 모든 시각적 표시를 먼저 적용하고 마지막에 디지털 서명을 추가하도록 프롬프트에 명시하세요.

예시 세션 (축약)

You:    Sign contract.pdf with a QR code containing ORDER-2026-0418.

Agent:  [sign] file=contract.pdf, type=qrcode, text="ORDER-2026-0418"
        -> Signed contract.pdf with qrcode signature
        The signed copy was saved to the output folder.
        The original contract.pdf was not modified.

예시 출력: 파일 이름과 QR 값은 임의로 만든 것입니다. 도구는 위에 설명된 필드를 반환합니다.

AI 에이전트가 대신 서명해줄 수 없는 것은?

에이전트는 서명을 적용할 수 있지만, 그 서명을 법적으로 구속력 있게 만들 수는 없습니다. 이 서버는 호스팅된 전자 서명 서비스나 인증된 신뢰 서비스 제공자가 아닙니다. 제공된 인증서를 사용해 한 대의 머신에서 하나의 클라이언트 프로세스에만 서명을 적용합니다.

eIDAS와 같은 특정 법적 체계에 부합하는지 여부는 인증서와 그 주변 프로세스에 달려 있으며, 이 서버 자체와는 무관합니다. 분쟁 가능성이 있다면 자동화하기 전에 어떤 인증서와 어떤 프로세스를 적용해야 하는지 물어보세요.

알아두어야 할 평가 제한

라이선스가 없을 경우 서버는 평가 모드로 실행됩니다: 첫 2페이지만 처리되고, 모든 페이지에 평가 배지가 찍힙니다. 계약서 5페이지에 넣어야 할 서명은 배치되지 않으며, 오류 메시지도 표시되지 않습니다. 중요한 서명 작업을 실행하기 전에 다음을 물어보세요:

서명 서버의 라이선스 상태가 어떻게 되나요?

에이전트는 get_license_status를 호출해 문서를 건드리지 않고 모드(평가, 라이선스, 메터링)를 보고합니다.

FAQ

AI가 문서를 대신 서명할 수 있나요?
에이전트는 sign 도구를 통해 텍스트, QR 코드, 바코드 또는 인증서 기반 서명을 로컬에서 문서에 적용할 수 있습니다. 해당 서명의 법적 효력은 인증서와 관할 구역에 따라 달라지며, 에이전트 자체와는 무관합니다.

Claude가 PDF를 어디에도 업로드하지 않고 서명할 수 있나요?
예. MCP 서버는 클라이언트의 자식 프로세스로 stdio를 통해 실행되며, 인바운드 포트, 외부 엔드포인트, 텔레메트리가 없습니다. 흐름은 에이전트 → 로컬 서버 → 로컬 파일 시스템입니다.

어떤 클라이언트와 호환되나요?
Claude Desktop, Claude Code, GitHub Copilot이 포함된 VS Code, Visual Studio 2022 (17.14 이상), Cursor, Windsurf, Cline, Codex CLI, JetBrains Rider. dnx GroupDocs.Signature.Mcp --yes 또는 Docker 이미지 ghcr.io/groupdocs-signature/signature-net-mcp로 설치합니다.

더 깊이 파고들기