OKSign MCP by usefulapi
Read documents, signatures, contacts and credits; manage contacts and remove documents.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen oksign_list_notification_errors
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"oksign": {
"url": "https://oksign.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://oksign.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (14)
🟢oksign_get_credits
The account's remaining credits (quantity), when they expire (validuntil), the plan (subscription), whether it is paid, and storage used (account_size) versus the maximum (max_account_size) in bytes. GET /v1/credits/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_users(limit, offset)
The users of the OKsign account: name, email, mobile, role, status, language and the immutable signerid (use it to tell who signed). GET /v1/users/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_email_templates(limit, offset)
The email templates defined in the account: id, name, subject, HTML body, reminder_days and repeat. GET /v1/email-templates/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_contacts(limit, offset)
The account's contact list: name, email, mobile, actingas (capacity) and group. GET /v1/contacts/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_active_documents(signed, orgtoken, filename_contains, limit, offset)
Documents in the account's Active Documents tab: docid, filename, creator, createdate, signatures required/valid, orgtoken, status (1 active, 10 briefcase, 11 document in a briefcase, 12 reusable, 14 template), viaapi and signed_docid when signed. OKsign allows this call only once every 3 minutes (429 otherwise). GET /v1/documents/active.
Esquema de entrada
{
"type": "object",
"properties": {
"signed": {
"description": "true = only documents that have a signed copy, false = only those without.",
"type": "boolean"
},
"orgtoken": {
"description": "Only documents uploaded with this organizational token.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"filename_contains": {
"description": "Only documents whose filename contains this text (case-insensitive).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_signed_documents(start, end, limit, offset)
Documents uploaded through the API that were signed between two moments: signed_docid, source_docid, filename, signerid, signing source, signature counts, completed fields, credits per signer and timestamp. Keep the window short; OKsign allows this call only once every 3 minutes (429 otherwise). GET /v1/documents/signed.
Esquema de entrada
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Start of the window, ISO 8601 with a timezone."
},
"end": {
"type": "string",
"description": "End of the window, ISO 8601 with a timezone."
},
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"start",
"end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_list_notification_errors(start, end, limit, offset)
Email and SMS delivery problems (hard_bounce, soft_bounce, blocked, spam, invalid_email, deferred) for signing invitations sent between two moments: recipient, source_docid, reason, orgtoken and timestamp. Only error events are reported. OKsign allows this call only once every 3 minutes (429 otherwise). GET /v1/webhooks/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Start of the window, ISO 8601 with a timezone."
},
"end": {
"type": "string",
"description": "End of the window, ISO 8601 with a timezone."
},
"limit": {
"description": "Items to return, 1-500 (default 100). OKsign has no paging; the list is cut here.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"offset": {
"description": "Items to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"start",
"end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_document_exists(docid)
Whether a (signed) document still exists on the platform; returns its filename and whether it is a template. GET /v1/document/exists.
Esquema de entrada
{
"type": "object",
"properties": {
"docid": {
"type": "string",
"pattern": "^[0-9A-Za-z-]{10,80}$",
"description": "OKsign document id (docid, source_docid or signed_docid) like 670816-483B7F54-8591-DDF9-FA77-9042AED3E8FD."
}
},
"required": [
"docid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_get_document_metadata(signed_docid)
Metadata of a signed document (pass the signed_docid): filename, size, signatures required/valid, who signed, and the values of all completed fields (can contain personal data). Metadata v2. GET /v2/metadata/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"signed_docid": {
"type": "string",
"pattern": "^[0-9A-Za-z-]{10,80}$",
"description": "OKsign document id (docid, source_docid or signed_docid) like 670816-483B7F54-8591-DDF9-FA77-9042AED3E8FD."
}
},
"required": [
"signed_docid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_get_form_descriptor(docid)
The form descriptor of an uploaded document: its signature and form fields (type, page, position, signer, required, signing options) and the signing URL of each signer. The URLs let their holders sign, so share them only with the signer. GET /v1/formdesc/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"docid": {
"type": "string",
"pattern": "^[0-9A-Za-z-]{10,80}$",
"description": "OKsign document id (docid, source_docid or signed_docid) like 670816-483B7F54-8591-DDF9-FA77-9042AED3E8FD."
}
},
"required": [
"docid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢oksign_get_linked_document(docid)
Given a source_docid, the signed_docid of its signed copy (absent if not signed yet) and the timestamp; given a signed_docid, the source_docid. An empty result means the document never existed here or was removed. GET /v1/linkedlist/retrieve.
Esquema de entrada
{
"type": "object",
"properties": {
"docid": {
"type": "string",
"pattern": "^[0-9A-Za-z-]{10,80}$",
"description": "OKsign document id (docid, source_docid or signed_docid) like 670816-483B7F54-8591-DDF9-FA77-9042AED3E8FD."
}
},
"required": [
"docid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴oksign_upsert_contacts(contacts)
WRITE: add contacts to the account's contact list, or update them when a contact with the same email AND name exists (its other fields are replaced). Existing contacts are never cleared. Contacts OKsign rejects are skipped and reported. POST /v1/contacts/upload.
Esquema de entrada
{
"type": "object",
"properties": {
"contacts": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"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": "Email address (with name, the contact's unique key)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Full name (with email, the contact's unique key)."
},
"actingas": {
"description": "Capacity or status, e.g. CEO, Shareholder, Client.",
"type": "string",
"maxLength": 200
},
"mobile": {
"description": "Mobile number in E.164 format, e.g. +32495123456.",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"group": {
"description": "Contact group.",
"type": "string",
"maxLength": 200
}
},
"required": [
"email",
"name"
]
},
"description": "Contacts to add or update."
}
},
"required": [
"contacts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴oksign_remove_contacts(contacts)
WRITE: permanently remove contacts from the account's contact list. A contact is identified by its email AND name. Cannot be undone (re-add with oksign_upsert_contacts). POST /v1/contacts/remove.
Esquema de entrada
{
"type": "object",
"properties": {
"contacts": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"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": "Email address of the contact to remove."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Name of the contact to remove (email AND name identify a contact)."
}
},
"required": [
"email",
"name"
]
},
"description": "Contacts to remove (email and name)."
}
},
"required": [
"contacts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴oksign_remove_document(docid)
WRITE: permanently remove a (signed) document from the OKsign platform. This deletes the file and its pending webhook events and cannot be undone. A signed document removed right after its callback may answer 'Too soon': retry later. DELETE /v1/document/remove.
Esquema de entrada
{
"type": "object",
"properties": {
"docid": {
"type": "string",
"pattern": "^[0-9A-Za-z-]{10,80}$",
"description": "OKsign document id (docid, source_docid or signed_docid) like 670816-483B7F54-8591-DDF9-FA77-9042AED3E8FD."
}
},
"required": [
"docid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia