Skip to main content
Glama

Lovie Company Formation

Extract SAFE Terms

formation_extract_safe_terms

Reads a SAFE PDF and returns its terms WITHOUT saving anything. Always call this before ImportSAFE and show the result to the user for confirmation — never import a SAFE the user has not seen. Present one block per document, largest investment first, with exactly these fields in this order: investor name, investment amount, valuation cap, discount, post-money or pre-money, date, and which existing stakeholder it will be matched to (or that a new one will be created). Then state the effect on the cap table as three figures — stakeholders, SAFEs and SAFE capital now, what this import adds, and the totals after — and ask the user to confirm. Report the confidence score and every warning verbatim in plain language rather than as codes. Two things block the import until the user resolves them: a missing date (ask for it; a SAFE is never imported without one) and a company name on the document that differs from the company being imported into (say both names and ask the user to confirm it belongs here). This is the same review the web upload screen performs, so keep the wording and order identical.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formationIdYesUUID value wrapper.
sourceS3UriNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
warningsNo
safeTermsNo
companyNameNo
formationIdNo
sourceS3UriNo
investorNameNo
ocrConfidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / safeTerms / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "discountPercentage": {
      -        "type": "string"
      -      },
      -      "investmentAmountCents": {
      -        "type": "string"
      -      },
      -      "postMoney": {
      -        "type": "boolean"
      -      },
      -      "safeIssueDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "signedByName": {
      -        "type": "string"
      -      },
      -      "signedByTitle": {
      -        "type": "string"
      -      },
      -      "valuationCapCents": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "discountPercentage": {
      +        "type": "string"
      +      },
      +      "investmentAmountCents": {
      +        "type": "string"
      +      },
      +      "postMoney": {
      +        "type": "boolean"
      +      },
      +      "postMoneyStated": {
      +        "type": "boolean"
      +      },
      +      "safeIssueDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "signedByName": {
      +        "type": "string"
      +      },
      +      "signedByTitle": {
      +        "type": "string"
      +      },
      +      "valuationCapCents": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed7 schema fields changed
    • addedOutput schema / properties / formationId / anyOf
      Added value: +[
      +  {
      +    "description": "UUID value wrapper.",
      +    "properties": {
      +      "value": {
      +        "format": "uuid",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / formationId / description
      Removed value: -"UUID value wrapper."
    • removedOutput schema / properties / formationId / properties
      Removed value: -{
      -  "value": {
      -    "format": "uuid",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / formationId / type
      Removed value: -"object"
    • addedOutput schema / properties / safeTerms / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "discountPercentage": {
      +        "type": "string"
      +      },
      +      "investmentAmountCents": {
      +        "type": "string"
      +      },
      +      "postMoney": {
      +        "type": "boolean"
      +      },
      +      "safeIssueDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "signedByName": {
      +        "type": "string"
      +      },
      +      "signedByTitle": {
      +        "type": "string"
      +      },
      +      "valuationCapCents": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / safeTerms / properties
      Removed value: -{
      -  "discountPercentage": {
      -    "type": "string"
      -  },
      -  "investmentAmountCents": {
      -    "type": "string"
      -  },
      -  "postMoney": {
      -    "type": "boolean"
      -  },
      -  "safeIssueDate": {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "signedByName": {
      -    "type": "string"
      -  },
      -  "signedByTitle": {
      -    "type": "string"
      -  },
      -  "valuationCapCents": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / safeTerms / type
      Removed value: -"object"
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.