SignRequest MCP by usefulapi
Read documents, signature requests and templates; send, cancel and resend requests in SignRequest.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- HIGH
- MEDIUMin signrequest_get_template
- LOWin signrequest_resend_signrequest_email
- INFOin signrequest_get_template
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"signrequest": {
"url": "https://signrequest.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://signrequest.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (14)
🟢signrequest_list_documents(status, external_id, signrequest__who, signrequest__from_email, user__email, ...)
List documents of the team with status, signers state and signing log links. API: GET /documents/.
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"description": "Document status code: co converting, ne new, se sent, vi viewed, si signed, do downloaded, sd signed and downloaded, ca cancelled, de declined, ec error converting, es error sending, xp expired.",
"type": "string",
"enum": [
"co",
"ne",
"se",
"vi",
"si",
"do",
"sd",
"ca",
"de",
"ec",
"es",
"xp"
]
},
"external_id": {
"description": "Filter by your own external id.",
"type": "string"
},
"signrequest__who": {
"description": "Filter by sender: m = me, mo = me and others, o = others.",
"type": "string",
"enum": [
"m",
"mo",
"o"
]
},
"signrequest__from_email": {
"description": "Filter by the sender email.",
"type": "string"
},
"user__email": {
"description": "Filter by the document owner email.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_get_document(document_uuid)
Get one document by uuid: status, signrequest with all signers, signing log, attachments, and temporary download links (pdf). API: GET /documents/{uuid}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"document_uuid": {
"type": "string",
"minLength": 1,
"description": "The document uuid."
}
},
"required": [
"document_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_search_documents(q, name, signer_emails, status, who, ...)
Search documents by free text, name, signer email or status. API: GET /documents-search/.
Eingabe-Schema
{
"type": "object",
"properties": {
"q": {
"description": "Free-text query.",
"type": "string"
},
"name": {
"description": "Filter by document name.",
"type": "string"
},
"signer_emails": {
"description": "Filter by signer email.",
"type": "string"
},
"status": {
"description": "Document status code: co converting, ne new, se sent, vi viewed, si signed, do downloaded, sd signed and downloaded, ca cancelled, de declined, ec error converting, es error sending, xp expired.",
"type": "string",
"enum": [
"co",
"ne",
"se",
"vi",
"si",
"do",
"sd",
"ca",
"de",
"ec",
"es",
"xp"
]
},
"who": {
"description": "Filter by sender: m = me, mo = me and others, o = others.",
"type": "string",
"enum": [
"m",
"mo",
"o"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_list_signrequests(who, from_email, page, limit)
List signature requests (the sent requests with their signers). API: GET /signrequests/.
Eingabe-Schema
{
"type": "object",
"properties": {
"who": {
"description": "Filter by sender: m = me, mo = me and others, o = others.",
"type": "string",
"enum": [
"m",
"mo",
"o"
]
},
"from_email": {
"description": "Filter by the sender email.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_get_signrequest(signrequest_uuid)
Get one signature request by uuid, with each signer's viewed, signed, declined and forwarded state. API: GET /signrequests/{uuid}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"signrequest_uuid": {
"type": "string",
"minLength": 1,
"description": "The signature request uuid."
}
},
"required": [
"signrequest_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_list_templates(page, limit)
List document templates (use a template uuid with signrequest_send_document). API: GET /templates/.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_get_template(template_uuid)
Get one template by uuid, with its signer placeholders. API: GET /templates/{uuid}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"template_uuid": {
"type": "string",
"minLength": 1,
"description": "The template uuid."
}
},
"required": [
"template_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_list_teams(page, limit)
List the teams the token can see (name, subdomain, sandbox flag). API: GET /teams/.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_get_team(subdomain)
Get one team by subdomain. API: GET /teams/{subdomain}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"subdomain": {
"type": "string",
"minLength": 1,
"description": "The team subdomain (from signrequest_list_teams)."
}
},
"required": [
"subdomain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_list_team_members(is_active, is_admin, user__email, page, limit)
List team members with admin, owner and active flags. API: GET /team-members/.
Eingabe-Schema
{
"type": "object",
"properties": {
"is_active": {
"description": "Only active (true) or inactive (false) members.",
"type": "boolean"
},
"is_admin": {
"description": "Only admins (true) or non-admins (false).",
"type": "boolean"
},
"user__email": {
"description": "Filter by member email.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢signrequest_list_events(document__uuid, document__external_id, event_type, page, limit)
List document events (sent, viewed, signed, declined, cancelled, bounced) and their callback delivery state. API: GET /events/.
Eingabe-Schema
{
"type": "object",
"properties": {
"document__uuid": {
"description": "Only events of this document uuid.",
"type": "string"
},
"document__external_id": {
"description": "Only events of the document with this external id.",
"type": "string"
},
"event_type": {
"description": "Event type, for example signed, declined, sent, signer_signed, signer_email_bounced.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴signrequest_send_document(signers, from_email, from_email_name, subject, message, ...)
WRITE: creates a document and e-mails a signature request to the signers right away (not undoable except with signrequest_cancel_signrequest). Give exactly one source: a template uuid, a public file_from_url, or base64 file_from_content with file_from_content_name. API: POST /signrequest-quick-create/.
Eingabe-Schema
{
"type": "object",
"properties": {
"signers": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"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,}$",
"description": "Signer email."
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"needs_to_sign": {
"description": "false = the person only receives a copy (default true).",
"type": "boolean"
},
"approve_only": {
"description": "true = the person approves instead of signing.",
"type": "boolean"
},
"order": {
"description": "Signing order (0 first).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"language": {
"description": "Signer language code, for example en, nl, de, fr.",
"type": "string"
}
},
"required": [
"email"
]
},
"description": "Who must sign."
},
"from_email": {
"description": "Sender email (a verified team member address).",
"type": "string",
"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,}$"
},
"from_email_name": {
"description": "Sender name shown in the e-mail.",
"type": "string"
},
"subject": {
"description": "E-mail subject.",
"type": "string"
},
"message": {
"description": "E-mail message.",
"type": "string"
},
"name": {
"description": "Document name.",
"type": "string"
},
"template": {
"description": "Template API url or uuid-based url from signrequest_list_templates (the url field).",
"type": "string"
},
"file_from_url": {
"description": "Public https URL of the file to sign.",
"type": "string",
"format": "uri"
},
"file_from_content": {
"description": "Base64 file content.",
"type": "string"
},
"file_from_content_name": {
"description": "File name with extension for file_from_content.",
"type": "string"
},
"external_id": {
"description": "Your own reference id.",
"type": "string"
},
"send_reminders": {
"description": "Send automatic reminders.",
"type": "boolean"
},
"auto_expire_days": {
"description": "Days until the request expires.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"who": {
"description": "Who signs: m = me, mo = me and others, o = others.",
"type": "string",
"enum": [
"m",
"mo",
"o"
]
}
},
"required": [
"signers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴signrequest_cancel_signrequest(signrequest_uuid)
WRITE: cancels a signature request that is not fully signed or declined. Signers who have not signed can no longer open the document. Not undoable. API: POST /signrequests/{uuid}/cancel_signrequest/.
Eingabe-Schema
{
"type": "object",
"properties": {
"signrequest_uuid": {
"type": "string",
"minLength": 1,
"description": "The signature request uuid."
}
},
"required": [
"signrequest_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴signrequest_resend_signrequest_email(signrequest_uuid)
WRITE: sends the signature request e-mail again as a reminder to every signer who did not sign yet but already got the e-mail. API: POST /signrequests/{uuid}/resend_signrequest_email/.
Eingabe-Schema
{
"type": "object",
"properties": {
"signrequest_uuid": {
"type": "string",
"minLength": 1,
"description": "The signature request uuid."
}
},
"required": [
"signrequest_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis