Skip to main content
Glama

Create or update my business card

create_or_update_card
Idempotent

Create the business card for this account, or update it. Each account has one card. Only the fields you pass are changed on update; pass an empty string to clear an optional text field. displayName is required when creating. The card is live at the returned publicUrl immediately.

Input Schema

NameRequiredDescriptionDefault
bioNoShort bio or tagline
emailNoPublic contact email shown on the card
phoneNoPublic phone number shown on the card
titleNoJob title or role
apiKeyNoKadiConnect API key (starts with kc_). Only needed when the MCP connection was not configured with an Authorization header, for example right after calling register.
websiteNoWebsite URL (https:// is added if missing)
locationNoCity, country or address
coverImageNoURL of a cover image
themeColorNoTheme colour as a 6-digit hex, e.g. #0ea5e9
companyLogoNoURL of a company logo
companyNameNoCompany or organisation
displayNameNoFull name shown on the card (required when creating)
socialLinksNoSocial profile links (replaces the existing list)
profileImageNoURL of a profile image
leadCaptureTitleNoHeading for the lead capture form
leadCaptureFieldsNoFields the lead capture form asks for
leadCaptureEnabledNoShow a form on the card so visitors can leave their contact details. Read submissions with get_leads.

Output Schema

NameRequiredDescriptionDefault
cardYes
planYes
noticeNo
createdYes
publicUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (which already declare non-destructive, idempotent, non-read-only), the description discloses genuinely non-obvious behavior: partial-update semantics, the empty-string clearing convention, and that the card is publicly live at the returned publicUrl immediately. That last point is a real side effect an agent needs to know.

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

Conciseness5/5

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

Four short sentences, front-loaded with the create/update framing, and each one earns its place: cardinality, partial-update rule, clearing rule, required field, and liveness. No filler or restatement of the title.

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 17-parameter upsert tool with full schema coverage, complete annotations, and an output schema (so return shape need not be explained), the description covers every non-schema-derived gotcha an agent needs before calling: create vs update, partial updates, clearing, required field, and immediate public visibility.

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 description coverage is 100%, so the schema already carries the per-field meaning and the baseline would be 3. The description adds value the schema does not: the empty-string clearing rule for optional text fields and the create-time requirement on displayName, which reinforces rather than merely repeats 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 states a specific verb pair and resource ('Create the business card for this account, or update it') and clarifies cardinality ('Each account has one card'), so the upsert nature is unambiguous. It stops short of differentiating from the read-side sibling get_card, which is what keeps it from a 5.

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?

Usage context is clear: it explains that only passed fields change on update, that an empty string clears an optional text field, and that displayName is required when creating. What is missing is any routing advice toward alternatives such as get_card for reading the existing card, so there are no explicit exclusions.

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.