Skip to main content
Glama

Lovie Company Formation

Extract Cap Table OCR

formation_extract_cap_table_ocr

Runs vision OCR on an uploaded cap table for the active company and returns the extracted rows without persisting them. Each row may include a vesting schedule (vesting_start_date / vesting_total_months / vesting_cliff_months) for service equity held by founders, employees, and advisors. PRESERVE these vesting fields and pass them through to RecordCapTableInvestment when creating each holding — do not drop them or record such holdings as fully vested. Investor instruments (SAFE, preferred) carry no vesting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mimeTypeNo
companyIdYesUUID value wrapper.
sourceS3UriNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
warningsNo
sourceS3UriNo
totalSharesNo
ocrConfidenceNo
sourceTotalSharesNo
extractedShareholdersNo
safeOwnershipPercentageNo
totalOwnershipPercentageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / extractedShareholders / items / 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"
      +  }
      +]
    • addedOutput schema / properties / safeOwnershipPercentage
      Added value: +{
      +  "type": "string"
      +}
  2. Changed26 schema fields changed
    • addedOutput schema / properties / extractedShareholders / items / properties / address / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "city": {
      +        "type": "string"
      +      },
      +      "country": {
      +        "type": "string"
      +      },
      +      "county": {
      +        "type": "string"
      +      },
      +      "state": {
      +        "type": "string"
      +      },
      +      "street1": {
      +        "type": "string"
      +      },
      +      "street2": {
      +        "type": "string"
      +      },
      +      "zipCode": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / address / properties
      Removed value: -{
      -  "city": {
      -    "type": "string"
      -  },
      -  "country": {
      -    "type": "string"
      -  },
      -  "county": {
      -    "type": "string"
      -  },
      -  "state": {
      -    "type": "string"
      -  },
      -  "street1": {
      -    "type": "string"
      -  },
      -  "street2": {
      -    "type": "string"
      -  },
      -  "zipCode": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / extractedShareholders / items / properties / address / type
      Removed value: -"object"
    • addedOutput schema / properties / extractedShareholders / items / properties / addressType
      Added value: +{
      +  "enum": [
      +    "ADDRESS_TYPE_UNSPECIFIED",
      +    "ADDRESS_TYPE_RESIDENTIAL",
      +    "ADDRESS_TYPE_BUSINESS"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / extractedShareholders / items / properties / dateOfBirth
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / extractedShareholders / items / properties / effectiveDate / anyOf
      Added value: +[
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / effectiveDate / format
      Removed value: -"date-time"
    • removedOutput schema / properties / extractedShareholders / items / properties / effectiveDate / type
      Removed value: -"string"
    • addedOutput schema / properties / extractedShareholders / items / properties / id / anyOf
      Added value: +[
      +  {
      +    "description": "UUID value wrapper.",
      +    "properties": {
      +      "value": {
      +        "format": "uuid",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / id / description
      Removed value: -"UUID value wrapper."
    • removedOutput schema / properties / extractedShareholders / items / properties / id / properties
      Removed value: -{
      -  "value": {
      -    "format": "uuid",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / extractedShareholders / items / properties / id / type
      Removed value: -"object"
    • addedOutput schema / properties / extractedShareholders / items / properties / issueDate / anyOf
      Added value: +[
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / issueDate / format
      Removed value: -"date-time"
    • removedOutput schema / properties / extractedShareholders / items / properties / issueDate / type
      Removed value: -"string"
    • addedOutput schema / properties / extractedShareholders / items / 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 / extractedShareholders / items / 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 / extractedShareholders / items / properties / safeTerms / type
      Removed value: -"object"
    • addedOutput schema / properties / extractedShareholders / items / properties / signedDate / anyOf
      Added value: +[
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / signedDate / format
      Removed value: -"date-time"
    • removedOutput schema / properties / extractedShareholders / items / properties / signedDate / type
      Removed value: -"string"
    • addedOutput schema / properties / extractedShareholders / items / properties / ssnLast4
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / extractedShareholders / items / properties / vestingStartDate / anyOf
      Added value: +[
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / extractedShareholders / items / properties / vestingStartDate / format
      Removed value: -"date-time"
    • removedOutput schema / properties / extractedShareholders / items / properties / vestingStartDate / type
      Removed value: -"string"
    • addedOutput schema / properties / sourceTotalShares
      Added value: +{
      +  "type": "string"
      +}
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.