VibeCart

Agent-native commerce with trusted catalog, durable carts, and Stripe Checkout via MCP and UCP.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
63%
Naming quality
45%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'vibecart.list_products' doesn't follow camelCase/snake_casein vibecart.list_products
  • LOWTool 'vibecart.get_product' doesn't follow camelCase/snake_casein vibecart.get_product
  • LOWTool 'vibecart.get_integration_instructions' doesn't follow camelCase/snake_casein vibecart.get_integration_instructions
  • LOWTool 'vibecart.get_integration_instructions' name length outside 3-30 rangein vibecart.get_integration_instructions
  • LOWTool 'vibecart.create_checkout' doesn't follow camelCase/snake_casein vibecart.create_checkout

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,100Tokens (tool definitions)
~2.6 KBTypical response size
Moderate attention impact (0.86% of 128k context)

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-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools