Skip to main content
Glama

Lovie Company Formation

Create Card

card_create_card

Issues a new virtual card at the card issuer, funded by a specific bank account. account_id is REQUIRED: set it to the id of the account the card should spend from — it must belong to the same company as params.company_id (get_list_accounts lists the company's accounts; the call is rejected if the account belongs to another company or cannot fund cards). Set params.company_id to the company the card belongs to — the caller's membership is verified server-side, so pass a company the user actually belongs to (get_my_companies lists them). Set params.nickname to the name the user gave the card. Set params.spend_limit_cents to the limit in CENTS, not dollars: a $2,000 limit is 200000. params.spend_interval is REQUIRED whenever you send a limit and the call is rejected without it, so always send both — send SPEND_INTERVAL_MONTHLY when the user names an amount but no period, SPEND_INTERVAL_DAILY for a daily cap, or SPEND_INTERVAL_TRANSACTION for a per-charge cap. Do not send SPEND_INTERVAL_YEARLY: the default issuer does not support it and rejects the call — convert to a monthly amount and say so. Omit both fields only when the user wants no limit at all. Returns the created card, including its id, nickname, status, spend limit, expiry, and billing address; report the id back to the user. The cardholder's name is withheld from tool callers. Creating a card moves no money, but it does provision a real instrument at the issuer and no tool can delete it — only freeze it — so create one card per request and never retry a create that already succeeded. The full card number and CVV are never returned by any tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes
accountIdYesUUID value wrapper.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / params / properties / cardholder
      Removed value: -{
      -  "maxLength": 255,
      -  "type": "string"
      -}
  2. Changed3 schema fields changed
    • addedInput schema / properties / accountId
      Added value: +{
      +  "description": "UUID value wrapper.",
      +  "properties": {
      +    "value": {
      +      "format": "uuid",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "params"
      -]New value: +[
      +  "params",
      +  "accountId"
      +]
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "async": {
      -        "type": "boolean"
      -      },
      -      "card": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "accountId": {
      -                "anyOf": [
      -                  {
      -                    "description": "UUID value wrapper.",
      -                    "properties": {
      -                      "value": {
      -                        "format": "uuid",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "address": {
      -                "type": "string"
      -              },
      -              "assignedTo": {
      -                "type": "string"
      -              },
      -              "cardholder": {
      -                "type": "string"
      -              },
      -              "companyId": {
      -                "anyOf": [
      -                  {
      -                    "description": "UUID value wrapper.",
      -                    "properties": {
      -                      "value": {
      -                        "format": "uuid",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "createdAt": {
      -                "anyOf": [
      -                  {
      -                    "format": "date-time",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "currentSpendCents": {
      -                "type": "string"
      -              },
      -              "expiry": {
      -                "type": "string"
      -              },
      -              "fullAddress": {
      -                "type": "string"
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "description": "UUID value wrapper.",
      -                    "properties": {
      -                      "value": {
      -                        "format": "uuid",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "last4": {
      -                "type": "string"
      -              },
      -              "network": {
      -                "type": "string"
      -              },
      -              "nickname": {
      -                "type": "string"
      -              },
      -              "provider": {
      -                "type": "string"
      -              },
      -              "spendInterval": {
      -                "enum": [
      -                  "SPEND_INTERVAL_UNSPECIFIED",
      -                  "SPEND_INTERVAL_DAILY",
      -                  "SPEND_INTERVAL_MONTHLY",
      -                  "SPEND_INTERVAL_YEARLY",
      -                  "SPEND_INTERVAL_TRANSACTION"
      -                ],
      -                "type": "string"
      -              },
      -              "spendLimitCents": {
      -                "type": "string"
      -              },
      -              "status": {
      -                "enum": [
      -                  "CARD_STATUS_UNSPECIFIED",
      -                  "CARD_STATUS_ACTIVE",
      -                  "CARD_STATUS_FROZEN",
      -                  "CARD_STATUS_CANCELLED"
      -                ],
      -                "type": "string"
      -              },
      -              "terminatedAt": {
      -                "anyOf": [
      -                  {
      -                    "format": "date-time",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "updatedAt": {
      -                "anyOf": [
      -                  {
      -                    "format": "date-time",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "userId": {
      -                "anyOf": [
      -                  {
      -                    "description": "UUID value wrapper.",
      -                    "properties": {
      -                      "value": {
      -                        "format": "uuid",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "zip": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "companyId"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "cardId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "jobId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "async": {
      +        "type": "boolean"
      +      },
      +      "card": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "accountId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "address": {
      +                "type": "string"
      +              },
      +              "assignedTo": {
      +                "type": "string"
      +              },
      +              "cardholder": {
      +                "type": "string"
      +              },
      +              "companyId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "createdAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "expiry": {
      +                "type": "string"
      +              },
      +              "fullAddress": {
      +                "type": "string"
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "last4": {
      +                "type": "string"
      +              },
      +              "network": {
      +                "type": "string"
      +              },
      +              "nickname": {
      +                "type": "string"
      +              },
      +              "provider": {
      +                "type": "string"
      +              },
      +              "spendInterval": {
      +                "enum": [
      +                  "SPEND_INTERVAL_UNSPECIFIED",
      +                  "SPEND_INTERVAL_DAILY",
      +                  "SPEND_INTERVAL_MONTHLY",
      +                  "SPEND_INTERVAL_YEARLY",
      +                  "SPEND_INTERVAL_TRANSACTION"
      +                ],
      +                "type": "string"
      +              },
      +              "spendLimitCents": {
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "CARD_STATUS_UNSPECIFIED",
      +                  "CARD_STATUS_ACTIVE",
      +                  "CARD_STATUS_FROZEN",
      +                  "CARD_STATUS_CANCELLED"
      +                ],
      +                "type": "string"
      +              },
      +              "terminatedAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "updatedAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "userId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "zip": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "companyId"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "cardId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "jobId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed3 schema fields changed
    • addedOutput schema / properties / result / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "async": {
      +        "type": "boolean"
      +      },
      +      "card": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "accountId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "address": {
      +                "type": "string"
      +              },
      +              "assignedTo": {
      +                "type": "string"
      +              },
      +              "cardholder": {
      +                "type": "string"
      +              },
      +              "companyId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "createdAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "currentSpendCents": {
      +                "type": "string"
      +              },
      +              "expiry": {
      +                "type": "string"
      +              },
      +              "fullAddress": {
      +                "type": "string"
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "last4": {
      +                "type": "string"
      +              },
      +              "network": {
      +                "type": "string"
      +              },
      +              "nickname": {
      +                "type": "string"
      +              },
      +              "provider": {
      +                "type": "string"
      +              },
      +              "spendInterval": {
      +                "enum": [
      +                  "SPEND_INTERVAL_UNSPECIFIED",
      +                  "SPEND_INTERVAL_DAILY",
      +                  "SPEND_INTERVAL_MONTHLY",
      +                  "SPEND_INTERVAL_YEARLY",
      +                  "SPEND_INTERVAL_TRANSACTION"
      +                ],
      +                "type": "string"
      +              },
      +              "spendLimitCents": {
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "CARD_STATUS_UNSPECIFIED",
      +                  "CARD_STATUS_ACTIVE",
      +                  "CARD_STATUS_FROZEN",
      +                  "CARD_STATUS_CANCELLED"
      +                ],
      +                "type": "string"
      +              },
      +              "terminatedAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "updatedAt": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "userId": {
      +                "anyOf": [
      +                  {
      +                    "description": "UUID value wrapper.",
      +                    "properties": {
      +                      "value": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "zip": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "companyId"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "cardId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "jobId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / result / properties
      Removed value: -{
      -  "async": {
      -    "type": "boolean"
      -  },
      -  "card": {
      -    "properties": {
      -      "accountId": {
      -        "description": "UUID value wrapper.",
      -        "properties": {
      -          "value": {
      -            "format": "uuid",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "address": {
      -        "type": "string"
      -      },
      -      "assignedTo": {
      -        "type": "string"
      -      },
      -      "cardholder": {
      -        "type": "string"
      -      },
      -      "companyId": {
      -        "description": "UUID value wrapper.",
      -        "properties": {
      -          "value": {
      -            "format": "uuid",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "createdAt": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "currentSpendCents": {
      -        "type": "string"
      -      },
      -      "expiry": {
      -        "type": "string"
      -      },
      -      "fullAddress": {
      -        "type": "string"
      -      },
      -      "id": {
      -        "description": "UUID value wrapper.",
      -        "properties": {
      -          "value": {
      -            "format": "uuid",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "last4": {
      -        "type": "string"
      -      },
      -      "network": {
      -        "type": "string"
      -      },
      -      "nickname": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "spendInterval": {
      -        "enum": [
      -          "SPEND_INTERVAL_UNSPECIFIED",
      -          "SPEND_INTERVAL_DAILY",
      -          "SPEND_INTERVAL_MONTHLY",
      -          "SPEND_INTERVAL_YEARLY",
      -          "SPEND_INTERVAL_TRANSACTION"
      -        ],
      -        "type": "string"
      -      },
      -      "spendLimitCents": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "CARD_STATUS_UNSPECIFIED",
      -          "CARD_STATUS_ACTIVE",
      -          "CARD_STATUS_FROZEN",
      -          "CARD_STATUS_CANCELLED"
      -        ],
      -        "type": "string"
      -      },
      -      "terminatedAt": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "updatedAt": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "userId": {
      -        "description": "UUID value wrapper.",
      -        "properties": {
      -          "value": {
      -            "format": "uuid",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "zip": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "companyId"
      -    ],
      -    "type": "object"
      -  },
      -  "cardId": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "jobId": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -}
    • removedOutput schema / properties / result / type
      Removed value: -"object"
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only give openWorldHint and destructiveHint=false; the description adds far more: it provisions a real instrument at the issuer, no tool can delete it (only freeze), the cardholder name is withheld, and the full number/CVV are never returned. It also explains server-side membership verification. These are genuine behavioral disclosures beyond the structured data.

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

Conciseness4/5

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

Front-loads the purpose, then walks through the required parameters and constraints in a logical order with no filler sentences. It is a dense single block that runs long, so it loses a point on structure (no visual breaks) despite every clause carrying information.

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

Completeness5/5

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

For a mutation tool with nested objects and an output schema, the description covers the mutation's reversibility (irreversible, no delete), auth/membership requirements, parameter constraints, and the retry hazard. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

With only 50% schema coverage, the description carries the load well: account_id must belong to the same company as company_id, spendLimitCents is in CENTS not dollars (with a $2,000 = 200000 example), spendInterval is required whenever a limit is sent, and the enum choice is mapped to intent. This adds substantial meaning beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: 'Issues a new virtual card at the card issuer, funded by a specific bank account.' This clearly distinguishes it from the read/freeze siblings (card_get_card, card_freeze_card, card_update_card_spend_limit).

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

Usage Guidelines4/5

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

Gives concrete usage rules: when to send a spend interval vs omit it, which enum to choose per scenario, not to send SPEND_INTERVAL_YEARLY, create one card per request, and never retry a succeeded create. It also routes to get_list_accounts and get_my_companies for resolving IDs. It stops short of explicitly contrasting when to prefer this tool over the sibling card tools, so it is not a full 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.