mcp

E-signatures for agents: mint a sandbox key, send PDFs, track status, download the sealed result.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
85%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,950토큰 (도구 정의)
~1.6 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.52%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "mcp": {
      "url": "https://swiftsign.ca/mcp"
    }
  }
}

원격 엔드포인트

https://swiftsign.ca/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🔴swiftsign_send_envelope(subject, message, documents, recipients, fields, ...)

Send a document for e-signature. Accepts PDF as base64, recipients, and field placement. Sandbox keys (sk_test_) send immediately (watermarked test mail). LIVE keys create a DRAFT and return it for human review unless confirm: true — nothing is emailed until confirmed. Field placement: page+x+y (percent, top-left origin) OR an anchor string, not both. After everyone signs, retrieve the sealed PDF with swiftsign_download_signed_pdf.

입력 스키마

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "Email subject / document title"
    },
    "message": {
      "description": "Optional message to include",
      "type": "string"
    },
    "documents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Document filename (e.g. 'contract.pdf')"
          },
          "base64": {
            "type": "string",
            "description": "Base64-encoded PDF content"
          }
        },
        "required": [
          "name",
          "base64"
        ]
      },
      "description": "PDF documents to send"
    },
    "recipients": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Recipient full name"
          },
          "email": {
            "type": "string",
            "description": "Recipient email address"
          },
          "role": {
            "default": "SIGNER",
            "type": "string",
            "enum": [
              "SIGNER",
              "CC"
            ]
          },
          "routingOrder": {
            "default": 1,
            "description": "Signing order (1 = first)",
            "type": "number"
          }
        },
        "required": [
          "name",
          "email"
        ]
      },
      "description": "People who need to sign or receive a copy"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "recipientIndex": {
            "type": "number",
            "description": "Index into recipients array (0-based)"
          },
          "type": {
            "type": "string",
            "enum": [
              "SIGNATURE",
              "NAME",
              "DATE",
              "TEXT",
              "INITIALS",
              "CHECKBOX",
              "RADIO",
              "DROPDOWN",
              "ATTACHMENT"
            ],
            "description": "Field type"
          },
          "document": {
            "default": 0,
            "description": "Document index (0-based)",
            "type": "number"
          },
          "page": {
            "type": "number",
            "description": "Page number (1-based). Ignored when anchor resolves."
          },
          "x": {
            "type": "number",
            "description": "X position, percent 0-100 of page width, top-left origin"
          },
          "y": {
            "type": "number",
            "description": "Y position, percent 0-100 of page height, top-left origin"
          },
          "width": {
            "description": "Field width (percent)",
            "type": "number"
          },
          "height": {
            "description": "Field height (percent)",
            "type": "number"
          },
          "anchor": {
            "description": "Anchor text to search in the PDF. Use anchor OR page+x+y, not both.",
            "type": "string"
          },
          "yOffset": {
            "description": "Y offset from anchor (percent)",
            "type": "number"
          },
          "options": {
            "description": "Choices for RADIO / DROPDOWN fields",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "recipientIndex",
          "type",
          "page",
          "x",
          "y"
        ]
      },
      "description": "Signing fields to place on documents"
    },
    "confirm": {
      "description": "Set true to dispatch immediately on a LIVE key (sk_live_/sk_oat_). Without it, live envelopes are created as DRAFT and returned for human review before anything is emailed. Test keys (sk_test_) always send immediately (sandbox, watermarked).",
      "type": "boolean"
    }
  },
  "required": [
    "subject",
    "documents",
    "recipients",
    "fields"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴swiftsign_confirm_send(envelopeId)

Dispatch a DRAFT envelope — use after a human has reviewed an envelope that swiftsign_send_envelope or swiftsign_send_from_template returned as draft_pending_confirmation. This emails the signers. Does NOT work on envelopes already SENT/COMPLETED/VOIDED.

입력 스키마

{
  "type": "object",
  "properties": {
    "envelopeId": {
      "type": "string",
      "description": "The DRAFT envelope ID to dispatch"
    }
  },
  "required": [
    "envelopeId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴swiftsign_send_from_template(templateId, roleAssignments, subject, message, confirm)

Send an envelope from a saved template by assigning signers to roles. Sandbox keys (sk_test_) send immediately; LIVE keys create a DRAFT for human review unless confirm: true — nothing is emailed until confirmed.

입력 스키마

{
  "type": "object",
  "properties": {
    "templateId": {
      "type": "string",
      "description": "The template ID to send from"
    },
    "roleAssignments": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Signer full name"
          },
          "email": {
            "type": "string",
            "description": "Signer email address"
          }
        },
        "required": [
          "name",
          "email"
        ]
      },
      "description": "Map of template role name → signer { name, email }"
    },
    "subject": {
      "description": "Email subject / document title",
      "type": "string"
    },
    "message": {
      "description": "Optional message to include",
      "type": "string"
    },
    "confirm": {
      "description": "Set true to dispatch immediately on a LIVE key (sk_live_/sk_oat_). Without it, live envelopes are created as DRAFT and returned for human review before anything is emailed. Test keys (sk_test_) always send immediately (sandbox, watermarked).",
      "type": "boolean"
    }
  },
  "required": [
    "templateId",
    "roleAssignments"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢swiftsign_check_status(envelopeId)

Check the status of an envelope — who signed, who hasn't, download links. Works in both sandbox (sk_test_ keys) and live.

입력 스키마

{
  "type": "object",
  "properties": {
    "envelopeId": {
      "type": "string",
      "description": "The envelope ID to check"
    }
  },
  "required": [
    "envelopeId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢swiftsign_list_envelopes

List envelopes (sent documents) with their status. Scoped to your key's mode — sandbox (sk_test_) keys see test envelopes, live keys see live.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴swiftsign_void_envelope(envelopeId)

Cancel/void an envelope that hasn't been completed yet. Signers can no longer sign a voided envelope. Works in both sandbox (sk_test_ keys) and live.

입력 스키마

{
  "type": "object",
  "properties": {
    "envelopeId": {
      "type": "string",
      "description": "The envelope ID to void"
    }
  },
  "required": [
    "envelopeId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢swiftsign_download_signed_pdf(envelopeId, outputPath, document, certificate)

Download the completed, sealed PDF (or its Certificate of Completion) for an envelope. Only works once status is COMPLETED — run swiftsign_check_status first. Does NOT work on DRAFT or SENT envelopes; nothing has been signed yet on those.

입력 스키마

{
  "type": "object",
  "properties": {
    "envelopeId": {
      "type": "string",
      "description": "The envelope ID (must be COMPLETED)"
    },
    "outputPath": {
      "description": "Where to save the file (default: ./swiftsign-<id>.pdf). Ignored on the hosted endpoint, which returns base64.",
      "type": "string"
    },
    "document": {
      "description": "Which document to download when an envelope has several (0-based, default 0)",
      "type": "number"
    },
    "certificate": {
      "description": "If true, download the Certificate of Completion (audit trail) instead of the signed document",
      "type": "boolean"
    }
  },
  "required": [
    "envelopeId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡swiftsign_upgrade(plan)

Initiate the upgrade to PRO ($15/mo flat). Returns a Stripe checkout_url that a human opens once to add a card — agents cannot complete the payment themselves. Moves the account from sandbox (sk_test_) to live sends. Returns status 'updated' if already on the plan.

입력 스키마

{
  "type": "object",
  "properties": {
    "plan": {
      "description": "Plan to upgrade to (default PRO)",
      "type": "string",
      "const": "PRO"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡swiftsign_create_embedded_url(envelopeId, recipientId, returnUrl)

Mint a short-lived embedded signing URL for a recipient (30-minute expiry). Returns a url to embed plus its expiresAt. The envelope must already be SENT. Works in both sandbox (sk_test_ keys) and live.

입력 스키마

{
  "type": "object",
  "properties": {
    "envelopeId": {
      "type": "string",
      "description": "The envelope ID"
    },
    "recipientId": {
      "type": "string",
      "description": "The recipient ID within that envelope"
    },
    "returnUrl": {
      "description": "URL to redirect the signer to after they finish",
      "type": "string"
    }
  },
  "required": [
    "envelopeId",
    "recipientId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢swiftsign_list_templates

List your saved templates. Scoped to your key's mode — sandbox (sk_test_) keys see test templates, live keys see live.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

browse_collection
Show me the [collection] from mcp
예상 도구: swiftsign_list_envelopes
list_items
List all [items] available in mcp
예상 도구: swiftsign_list_envelopes

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개
검증됨버전이 기록되지 않음도구 10개