Stiply MCP by usefulapi

Read sign requests and signers; send, remind, extend and cancel sign requests in Stiply.

사용해야 할까요

품질 및 안전성

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

발견 사항 (2)

  • LOWTool 'stiply_get_sign_request_by_external_key' name length outside 3-30 rangestiply_get_sign_request_by_external_key에서
  • LOWTool 'stiply_get_sign_request_progress' name length outside 3-30 rangestiply_get_sign_request_progress에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "stiply": {
      "url": "https://stiply.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://stiply.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢stiply_list_sign_requests(status, orderby, page, page_size)

List sign requests (documents sent for e-signing) with status, title, sent/expiry/signed timestamps. Filter by status (draft, published, all_signed, completed, rejected, canceled, expired, ...). Stiply API: GET /v2/sign_requests.

입력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by status, e.g. published, completed, rejected, canceled, expired.",
      "type": "string"
    },
    "orderby": {
      "description": "Sort order, e.g. 'created_at desc'.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢stiply_get_sign_request(sign_request_id)

Get one sign request by id: status, timestamps, message, reject reason, owner. Stiply API: GET /v2/sign_requests/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    }
  },
  "required": [
    "sign_request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢stiply_get_sign_request_by_external_key(external_key)

Find a sign request by the external_key set when it was created. Stiply API: GET /v2/sign_requests/by_key/{external_key}.

입력 스키마

{
  "type": "object",
  "properties": {
    "external_key": {
      "type": "string",
      "minLength": 1,
      "description": "The external key given at creation."
    }
  },
  "required": [
    "external_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢stiply_get_sign_request_progress(sign_request_id)

Get the audit trail of a sign request: each action (sent, opened, signed, ...) with time, IP, location and email status. Stiply API: GET /v2/sign_requests/{id}/progress.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    }
  },
  "required": [
    "sign_request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢stiply_list_signers(sign_request_id)

List the signers of a sign request with email, name, role (signer/approver/cc/dc), authentication method and sign URL. Stiply API: GET /v2/sign_requests/{id}/signers.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    }
  },
  "required": [
    "sign_request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢stiply_list_documents(sign_request_id)

List the documents attached to a sign request (metadata only, no file download). Stiply API: GET /v2/sign_requests/{id}/documents.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    }
  },
  "required": [
    "sign_request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴stiply_create_sign_request(title, file_urls, signers, subject, message, ...)

WRITE: create a sign request and SEND it. Stiply downloads each PDF from file_urls and emails the signers at once, so confirm the signers with the user first. Stiply API: POST /v2/sign_requests.

입력 스키마

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 250,
      "description": "Title of the sign request."
    },
    "file_urls": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Public https URLs of the PDF documents to sign."
    },
    "signers": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "maxLength": 128,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "role": {
            "description": "Default signer. approver needs signing_sequence_type=sequential.",
            "type": "string",
            "enum": [
              "signer",
              "approver",
              "cc",
              "dc"
            ]
          },
          "allow_add_fields": {
            "description": "Let the signer place signature fields by clicking. Role signer only. Use this OR fields.",
            "type": "boolean"
          },
          "fields": {
            "description": "Fields for this signer. A signer needs a signature field unless allow_add_fields is true.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "signature",
                    "initial",
                    "text",
                    "date",
                    "checkbox",
                    "radio"
                  ],
                  "description": "Field type."
                },
                "name": {
                  "description": "Tag name: every {{name}} in the documents becomes the field.",
                  "type": "string"
                },
                "document": {
                  "description": "1-based document index (for placement by coordinates).",
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "page": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "width": {
                  "type": "number"
                },
                "height": {
                  "type": "number"
                },
                "optional": {
                  "type": "boolean"
                },
                "field_group": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ]
            }
          }
        },
        "required": [
          "email"
        ]
      },
      "description": "Who receives the request."
    },
    "subject": {
      "description": "Email subject for the signers.",
      "type": "string"
    },
    "message": {
      "description": "Email message. Basic HTML only; use <br> for newlines.",
      "type": "string"
    },
    "signing_sequence_type": {
      "type": "string",
      "enum": [
        "sequential",
        "parallel"
      ]
    },
    "term": {
      "description": "How long signers have, e.g. 1d, 2w, 3m. Default: the account setting.",
      "type": "string",
      "pattern": "^[1-9][dwm]$"
    },
    "external_key": {
      "description": "Your own unique key to find this request later.",
      "type": "string"
    }
  },
  "required": [
    "title",
    "file_urls",
    "signers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴stiply_send_reminder(sign_request_id)

WRITE: email a reminder to the signers who have not signed yet. Stiply API: POST /v2/sign_requests/{id}/actions/send_reminder.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    }
  },
  "required": [
    "sign_request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴stiply_extend_term(sign_request_id, term, notify_signers)

WRITE: extend the signing term of a sign request. Stiply API: POST /v2/sign_requests/{id}/actions/extend_term.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    },
    "term": {
      "type": "string",
      "pattern": "^[1-9][dwm]$",
      "description": "New term, e.g. 1d, 2w, 3m."
    },
    "notify_signers": {
      "description": "Tell the signers (default true).",
      "type": "boolean"
    }
  },
  "required": [
    "sign_request_id",
    "term"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴stiply_cancel_sign_request(sign_request_id, notify_signers, cancellation_message)

WRITE: cancel a sign request. This cannot be undone. Stiply API: POST /v2/sign_requests/{id}/actions/cancel.

입력 스키마

{
  "type": "object",
  "properties": {
    "sign_request_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The sign request id (from stiply_list_sign_requests)."
    },
    "notify_signers": {
      "type": "boolean",
      "description": "Whether the signers get a cancellation email."
    },
    "cancellation_message": {
      "description": "Optional message shown to the signers.",
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "sign_request_id",
    "notify_signers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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