Skip to main content
Glama
signnow
by signnow

Send signing invite

send_invite
Destructive

Send signing invites to any document, template, or group, handling both field and freeform recipients. Supports self-sign with direct signing link.

Instructions

Send invite to sign a document, document group, template, or template group. Supports both field invites (documents with roles/fields) and freeform invites (documents without fields). Document type is auto-detected — omit 'role' for freeform documents. For templates and template groups, automatically creates a document/group first, then sends the invite. Set self_sign=True (and omit orders) to sign the document yourself — the tool resolves the current user's email and populates SendInviteResponse.link with a direct signing link. The 'link' field is also populated when a freeform recipient's email matches the authenticated user's primary email. The entity's state may have changed in the SignNow editor since you last looked — re-read the current state first and build this request from the current roles/fields, not from earlier in the conversation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional name for the new document or document group (used only when entity_type is template or template_group)
ordersNoList of orders with recipients (or a JSON string of the same). Required unless self_sign=True. When self_sign=True, omit orders — the tool fills in the current user as the sole recipient.
entity_idYesID of the document, document group, template, or template group
self_signNoIf True, the tool resolves the current user's primary email server-side and sends a freeform invite to the user themselves. The response's 'link' field is populated with a direct signing link. Must be combined with an empty/omitted orders. Requires a field-less document or document group — for entities with fields/roles, use create_embedded_sending instead.
entity_typeNoType of entity: 'document', 'document_group', 'template', or 'template_group' (optional). Auto-detected if not provided.
preview_was_shownNoThis flag signals that the user has viewed the document preview. Prompt the user to view the document before submitting. If the user says yes, call view_document first, show the result, then call send_invite again with preview_was_shown=True. If the user says no, call send_invite with preview_was_shown=False.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
linkNoDirect signing link. Populated only when the sender and recipient resolve to the same email (self_sign=True, or the recipient email equals the authenticated user's primary email). None for normal outbound invites.
invite_idYesID of the created invite
invite_entityYesType of invite entity: 'document' or 'document_group'
created_entity_idNoID of the entity created from template (None when entity was document/document_group)
created_entity_nameNoName of the entity created from template (None when entity was document/document_group)
created_entity_typeNoType of created entity: 'document' or 'document_group' (None when entity was document/document_group)

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv2.4.0
  2. Removedv2.2.3
  3. Changed16 schema fields changedv2.2.1
    • removedInput schema / $defs
      Removed value: -{
      -  "InviteOrder": {
      -    "description": "Order information for invite.",
      -    "properties": {
      -      "order": {
      -        "description": "Order number for this step",
      -        "type": "integer"
      -      },
      -      "recipients": {
      -        "description": "List of recipients for this order",
      -        "items": {
      -          "$ref": "#/$defs/InviteRecipient"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "order",
      -      "recipients"
      -    ],
      -    "type": "object"
      -  },
      -  "InviteRecipient": {
      -    "description": "Recipient information for invite.",
      -    "properties": {
      -      "action": {
      -        "default": "sign",
      -        "description": "Allowed action with a document. Possible values: 'view', 'sign', 'approve'",
      -        "type": "string"
      -      },
      -      "close_redirect_uri": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Link that opens when clicking 'Close' button"
      -      },
      -      "decline_redirect_uri": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "URL that opens after decline"
      -      },
      -      "email": {
      -        "description": "Recipient's email address",
      -        "type": "string"
      -      },
      -      "message": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Custom email message for the recipient"
      -      },
      -      "redirect_target": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": "blank",
      -        "description": "Redirect target: 'blank' for new tab, 'self' for same tab"
      -      },
      -      "redirect_uri": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Link that opens after completion"
      -      },
      -      "role": {
      -        "description": "Recipient's role name in the document",
      -        "type": "string"
      -      },
      -      "subject": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Custom email subject for the recipient"
      -      }
      -    },
      -    "required": [
      -      "email",
      -      "role"
      -    ],
      -    "type": "object"
      -  }
      -}
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / entity_id / description
      Previous value: -"ID of the document or document group"New value: +"ID of the document, document group, template, or template group"
    • changedInput schema / properties / entity_type / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "document",
      -      "document_group"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "document",
      +      "document_group",
      +      "template",
      +      "template_group"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / entity_type / description
      Previous value: -"Type of entity: 'document' or 'document_group' (optional). If you're passing it, make sure you know what type you have. If it's not found, try using a different type."New value: +"Type of entity: 'document', 'document_group', 'template', or 'template_group' (optional). Auto-detected if not provided."
    • addedInput schema / properties / name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional name for the new document or document group (used only when entity_type is template or template_group)"
      +}
    • changedInput schema / properties / orders / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/InviteOrder"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "description": "Order information for invite.",
      +      "properties": {
      +        "order": {
      +          "description": "Order number for this step",
      +          "type": "integer"
      +        },
      +        "recipients": {
      +          "description": "List of recipients for this order",
      +          "items": {
      +            "description": "Recipient information for invite.",
      +            "properties": {
      +              "action": {
      +                "default": "sign",
      +                "description": "Allowed action with a document. Possible values: 'view', 'sign', 'approve'",
      +                "type": "string"
      +              },
      +              "authentication": {
      +                "anyOf": [
      +                  {
      +                    "description": "Optional signer identity verification settings.\n\nUse ONLY when the user explicitly requests authentication for a signer.\nDo NOT proactively suggest or apply this. Omitting it sends the invite\nwith no authentication (the default SignNow behaviour).",
      +                    "properties": {
      +                      "method": {
      +                        "anyOf": [
      +                          {
      +                            "enum": [
      +                              "sms",
      +                              "phone_call"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Delivery method for the one-time code. Used only when type='phone'. Defaults to 'sms' on the SignNow backend when not specified. Omit for password auth — this field has no effect in that context."
      +                      },
      +                      "password": {
      +                        "anyOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Secret phrase the signer must enter. Required when type='password'."
      +                      },
      +                      "phone": {
      +                        "anyOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Signer's phone number (E.164 recommended). Required when type='phone'."
      +                      },
      +                      "sms_message": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 140,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Custom SMS message body (max 140 chars). Use '{password}' placeholder where the code should be inserted. Used only when type='phone' and method='sms'."
      +                      },
      +                      "type": {
      +                        "description": "Authentication method: 'password' — signer must enter a pre-set secret phrase; 'phone' — signer receives a one-time code via SMS or phone call.",
      +                        "enum": [
      +                          "password",
      +                          "phone"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "type"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Optional signer identity verification. ONLY set this when the user explicitly asks for authentication. Leave as None (the default) to send invites without any verification — this is the standard behaviour and must not be changed unless asked."
      +              },
      +              "close_redirect_uri": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Link that opens when clicking 'Close' button"
      +              },
      +              "decline_redirect_uri": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "URL that opens after decline"
      +              },
      +              "email": {
      +                "description": "Recipient's email address",
      +                "type": "string"
      +              },
      +              "expiration_days": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 180,
      +                    "minimum": 3,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Number of days until the invite expires (3–180). When omitted (None), this value is explicitly passed as None to the API model, overriding its Field(30) default, so SignNow uses the account-configured expiration instead."
      +              },
      +              "message": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Custom email message for the recipient"
      +              },
      +              "redirect_target": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": "blank",
      +                "description": "Redirect target: 'blank' for new tab, 'self' for same tab"
      +              },
      +              "redirect_uri": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Link that opens after completion"
      +              },
      +              "reminder": {
      +                "anyOf": [
      +                  {
      +                    "description": "Reminder schedule for signing invites.\n\nAll fields are optional — set only the ones you need.\nremind_after and remind_before must be less than expiration_days.",
      +                    "properties": {
      +                      "remind_after": {
      +                        "anyOf": [
      +                          {
      +                            "maximum": 179,
      +                            "minimum": 1,
      +                            "type": "integer"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Send a reminder X days after the invite is sent (1–179). Must be less than expiration_days."
      +                      },
      +                      "remind_before": {
      +                        "anyOf": [
      +                          {
      +                            "maximum": 179,
      +                            "minimum": 1,
      +                            "type": "integer"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Send a reminder X days before the invite expires (1–179). Must be less than expiration_days."
      +                      },
      +                      "remind_repeat": {
      +                        "anyOf": [
      +                          {
      +                            "maximum": 7,
      +                            "minimum": 1,
      +                            "type": "integer"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "default": null,
      +                        "description": "Send a reminder every X days after the invite is sent (1–7)."
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Automatic reminder email schedule. Reminders are sent by SignNow after the invite is created."
      +              },
      +              "role": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Recipient's role name in the document. Required for field invites (documents with roles/fields). Omit for freeform invites (documents without fields) — the tool auto-detects document type and sends a freeform invite automatically."
      +              },
      +              "subject": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Custom email subject for the recipient"
      +              }
      +            },
      +            "required": [
      +              "email"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "order",
      +        "recipients"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / orders / description
      Previous value: -"List of orders with recipients (can be a list or JSON string)"New value: +"List of orders with recipients. Required unless self_sign=True. When self_sign=True, omit orders — the tool fills in the current user as the sole recipient."
    • changedInput schema / properties / orders / examples
      Previous value: -[
      -  [
      -    {
      -      "order": 1,
      -      "recipients": [
      -        {
      -          "action": "sign",
      -          "email": "user@example.com",
      -          "role": "Signer 1"
      -        }
      -      ]
      -    }
      -  ],
      -  "[{\"order\": 1, \"recipients\": [{\"email\": \"user@example.com\", \"role\": \"Signer 1\", \"action\": \"sign\"}]}]"
      -]New value: +[
      +  [
      +    {
      +      "order": 1,
      +      "recipients": [
      +        {
      +          "action": "sign",
      +          "email": "user@example.com",
      +          "role": "Signer 1"
      +        }
      +      ]
      +    }
      +  ],
      +  [
      +    {
      +      "order": 1,
      +      "recipients": [
      +        {
      +          "action": "sign",
      +          "email": "signer@example.com"
      +        }
      +      ]
      +    }
      +  ]
      +]
    • addedInput schema / properties / preview_was_shown
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "This flag signals that the user has viewed the document preview. Prompt the user to view the document before submitting. If the user says yes, call view_document first, show the result, then call send_invite again with preview_was_shown=True. If the user says no, call send_invite with preview_was_shown=False."
      +}
    • addedInput schema / properties / self_sign
      Added value: +{
      +  "default": false,
      +  "description": "If True, the tool resolves the current user's primary email server-side and sends a freeform invite to the user themselves. The response's 'link' field is populated with a direct signing link. Must be combined with an empty/omitted orders. Requires a field-less document or document group — for entities with fields/roles, use create_embedded_sending instead.",
      +  "type": "boolean"
      +}
    • changedOutput schema / description
      Previous value: -"Response model for sending invite."New value: +"Response model for sending invite.\n\nWhen the invite is sent for a template-originated entity, the created_entity_*\nfields are populated. For direct document/document_group calls they are None."
    • addedOutput schema / properties / created_entity_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "ID of the entity created from template (None when entity was document/document_group)"
      +}
    • addedOutput schema / properties / created_entity_name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Name of the entity created from template (None when entity was document/document_group)"
      +}
    • addedOutput schema / properties / created_entity_type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Type of created entity: 'document' or 'document_group' (None when entity was document/document_group)"
      +}
    • addedOutput schema / properties / link
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Direct signing link. Populated only when the sender and recipient resolve to the same email (self_sign=True, or the recipient email equals the authenticated user's primary email). None for normal outbound invites."
      +}
  4. Changed10 schema fields changedv1.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "InviteOrder": {
      +    "description": "Order information for invite.",
      +    "properties": {
      +      "order": {
      +        "description": "Order number for this step",
      +        "type": "integer"
      +      },
      +      "recipients": {
      +        "description": "List of recipients for this order",
      +        "items": {
      +          "$ref": "#/$defs/InviteRecipient"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "order",
      +      "recipients"
      +    ],
      +    "type": "object"
      +  },
      +  "InviteRecipient": {
      +    "description": "Recipient information for invite.",
      +    "properties": {
      +      "action": {
      +        "default": "sign",
      +        "description": "Allowed action with a document. Possible values: 'view', 'sign', 'approve'",
      +        "type": "string"
      +      },
      +      "close_redirect_uri": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Link that opens when clicking 'Close' button"
      +      },
      +      "decline_redirect_uri": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "URL that opens after decline"
      +      },
      +      "email": {
      +        "description": "Recipient's email address",
      +        "type": "string"
      +      },
      +      "message": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Custom email message for the recipient"
      +      },
      +      "redirect_target": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": "blank",
      +        "description": "Redirect target: 'blank' for new tab, 'self' for same tab"
      +      },
      +      "redirect_uri": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Link that opens after completion"
      +      },
      +      "role": {
      +        "description": "Recipient's role name in the document",
      +        "type": "string"
      +      },
      +      "subject": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Custom email subject for the recipient"
      +      }
      +    },
      +    "required": [
      +      "email",
      +      "role"
      +    ],
      +    "type": "object"
      +  }
      +}
    • removedInput schema / properties / entity_id / title
      Removed value: -"Entity Id"
    • removedInput schema / properties / entity_type / title
      Removed value: -"Entity Type"
    • changedInput schema / properties / orders / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/InviteOrder"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/InviteOrder"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / orders / description
      Previous value: -"List of orders with recipients"New value: +"List of orders with recipients (can be a list or JSON string)"
    • addedInput schema / properties / orders / examples
      Added value: +[
      +  [
      +    {
      +      "order": 1,
      +      "recipients": [
      +        {
      +          "action": "sign",
      +          "email": "user@example.com",
      +          "role": "Signer 1"
      +        }
      +      ]
      +    }
      +  ],
      +  "[{\"order\": 1, \"recipients\": [{\"email\": \"user@example.com\", \"role\": \"Signer 1\", \"action\": \"sign\"}]}]"
      +]
    • removedInput schema / properties / orders / title
      Removed value: -"Orders"
    • removedOutput schema / properties / invite_entity / title
      Removed value: -"Invite Entity"
    • removedOutput schema / properties / invite_id / title
      Removed value: -"Invite Id"
    • removedOutput schema / title
      Removed value: -"SendInviteResponse"
  5. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true and readOnlyHint=false, and the description adds behavioral context: self_sign resolves the current user, the entity state may have changed, and the tool may create documents from templates. This adds value beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly long and contains some redundancy (e.g., auto-detection mentioned twice). It is front-loaded with the main purpose but could be more concise without losing necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, 1 required, and an output schema, the description covers entity types, self_sign, preview_was_shown workflow, and warns about stale state. It provides sufficient context for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds functional context: role is required for field invites but omitted for freeform; orders are required unless self_sign; preview_was_shown describes a workflow. This adds meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends an invite to sign a document, document group, template, or template group. It distinguishes between field and freeform invites and mentions auto-detection. However, it does not explicitly differentiate from sibling tools like create_embedded_invite or send_invite_from_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use self_sign, when to omit role, and warns about stale entity state. It suggests re-reading the entity state first. However, it lacks explicit comparisons with sibling tools to guide choice between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/signnow/sn-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server