VibeCart
Agent-native commerce with trusted catalog, durable carts, and Stripe Checkout via MCP and UCP.
Should I use this
Quality & Safety
Findings (5)
- LOWin vibecart.list_products
- LOWin vibecart.get_product
- LOWin vibecart.get_integration_instructions
- LOWin vibecart.get_integration_instructions
- LOWin vibecart.create_checkout
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"vibecart": {
"url": "https://vibecart.vercel.app/mcp"
}
}
}Remote endpoints
https://vibecart.vercel.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢vibecart.list_products
Lists products from the configured trusted merchant catalog. Use the returned stable IDs for product lookup or checkout.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"const": true
},
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable server-side catalog identifier."
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"priceCents": {
"type": "integer",
"minimum": 0,
"description": "Trusted unit price in USD cents."
},
"image": {
"type": "string"
},
"variant": {
"type": "string"
}
},
"required": [
"id",
"name",
"description",
"priceCents",
"image"
],
"additionalProperties": false
}
}
},
"required": [
"success",
"products"
],
"additionalProperties": false
}🟢vibecart.get_product(productId)
Looks up one product and its trusted USD-cent price from the configured merchant catalog. Does not access Stripe or create a checkout.
Input Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"description": "A stable ID returned by vibecart.list_products."
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"product": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable server-side catalog identifier."
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"priceCents": {
"type": "integer",
"minimum": 0,
"description": "Trusted unit price in USD cents."
},
"image": {
"type": "string"
},
"variant": {
"type": "string"
}
},
"required": [
"id",
"name",
"description",
"priceCents",
"image"
],
"additionalProperties": false
},
"code": {
"type": "string"
},
"error": {
"type": "string"
}
},
"required": [
"success"
],
"additionalProperties": false
}🟢vibecart.get_integration_instructions
Returns concise Next.js App Router guidance for installing VibeCart with trusted catalog pricing, multi-item checkout, and the shared MCP endpoint.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"const": true
},
"framework": {
"type": "string"
},
"component": {
"type": "string"
},
"checkoutRoute": {
"type": "string"
},
"mcpEndpoint": {
"type": "string"
},
"rules": {
"type": "array",
"items": {
"type": "string"
}
},
"machineReadableSpec": {
"type": "string"
}
},
"required": [
"success",
"framework",
"component",
"checkoutRoute",
"mcpEndpoint",
"rules",
"machineReadableSpec"
],
"additionalProperties": false
}⚪vibecart.create_checkout(productId, quantity, items)
Creates a hosted checkout URL for one or more trusted merchant-catalog products. Legacy productId + quantity input remains supported; new integrations should use items[]. VibeCart resolves all prices server-side. This can contact Stripe but never charges by itself; the customer must complete Stripe Checkout.
Input Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"description": "Legacy single-product input. Use either productId or items, not both."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"default": 1,
"description": "Legacy single-product quantity."
},
"items": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"description": "A trusted server-side catalog product ID."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"default": 1,
"description": "Whole-number quantity from 1 through 99."
}
},
"required": [
"productId"
],
"additionalProperties": false
},
"description": "Trusted product IDs and quantities for a multi-item checkout."
}
},
"oneOf": [
{
"required": [
"productId"
]
},
{
"required": [
"items"
]
}
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"mode": {
"type": "string",
"enum": [
"demo",
"live"
]
},
"checkoutUrl": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"totalCents": {
"type": "integer"
},
"untrustedPricing": {
"type": "boolean"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"description": "A trusted server-side catalog product ID."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"default": 1,
"description": "Whole-number quantity from 1 through 99."
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"productId": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"code": {
"type": "string"
},
"error": {
"type": "string"
},
"details": {
"type": "object"
}
},
"required": [
"success"
],
"additionalProperties": false
}Community
Evidence