# How to integrate Cloudcart MCP with Google ADK

```json
{
  "title": "How to integrate Cloudcart MCP with Google ADK",
  "toolkit": "Cloudcart",
  "toolkit_slug": "cloudcart",
  "framework": "Google ADK",
  "framework_slug": "google-adk",
  "url": "https://composio.dev/toolkits/cloudcart/framework/google-adk",
  "markdown_url": "https://composio.dev/toolkits/cloudcart/framework/google-adk.md",
  "updated_at": "2026-05-12T10:06:36.502Z"
}
```

## Introduction

This guide walks you through connecting Cloudcart to Google ADK using the Composio tool router. By the end, you'll have a working Cloudcart agent that can add three t-shirts to a customer’s cart, create a new product called summer mug, register a new customer with email and name through natural language commands.
This guide will help you understand how to give your Google ADK agent real control over a Cloudcart account through Composio's Cloudcart MCP server.
Before we dive in, let's take a quick look at the key ideas and tools involved.

## Also integrate Cloudcart with

- [OpenAI Agents SDK](https://composio.dev/toolkits/cloudcart/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/cloudcart/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/cloudcart/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/cloudcart/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/cloudcart/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/cloudcart/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/cloudcart/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/cloudcart/framework/cli)
- [LangChain](https://composio.dev/toolkits/cloudcart/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/cloudcart/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/cloudcart/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/cloudcart/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/cloudcart/framework/crew-ai)

## TL;DR

Here's what you'll learn:
- Get a Cloudcart account set up and connected to Composio
- Install the Google ADK and Composio packages
- Create a Composio Tool Router session for Cloudcart
- Build an agent that connects to Cloudcart through MCP
- Interact with Cloudcart using natural language

## What is Google ADK?

Google ADK (Agents Development Kit) is Google's framework for building AI agents powered by Gemini models. It provides tools for creating agents that can use external services through the Model Context Protocol.
Key features include:
- Gemini Integration: Native support for Google's Gemini models
- MCP Toolset: Built-in support for Model Context Protocol tools
- Streamable HTTP: Connect to external services through streamable HTTP
- CLI and Web UI: Run agents via command line or web interface

## What is the Cloudcart MCP server, and what's possible with it?

The Cloudcart MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Cloudcart account. It provides structured and secure access to your online store, so your agent can perform actions like managing products, handling customer accounts, processing orders, and organizing categories on your behalf.
- Product and inventory management: Add new products, create variants, and update your store catalog efficiently through your agent.
- Customer onboarding and management: Register new customers or update existing profiles, enabling seamless customer experiences directly from your agent.
- Order processing and cart handling: Let your agent create new orders, add items to carts, or clear carts to streamline the purchase flow.
- Category and vendor organization: Create new product categories or onboard vendors, keeping your store organized and expanding easily.
- Variant configuration and customization: Add or update product variants and their parameters, allowing your agent to manage different product options and custom attributes.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `CLOUDCART_ADD_CATEGORY_PROPERTIES` | Add Category Properties | Tool to add properties to a category relationship. Use when you need to associate one or more properties with a category for filtering or organization purposes. |
| `CLOUDCART_ADD_TO_CART` | Add to Cart | Tool to add an item to the cart. Use after confirming a product selection with desired quantity. |
| `CLOUDCART_CLEAR_CART` | Clear Cart | Tool to remove all items from the specified cart. Use when you need to empty the cart before adding new items or starting over. |
| `CLOUDCART_CREATE_BLOG_CATEGORY` | Create Blog Category | Tool to create a new blog category in CloudCart. Use when you need to organize blog posts into categories. Requires a category name and optionally accepts an image URL for visual representation. |
| `CLOUDCART_CREATE_BLOG_POST` | Create Blog Post | Tool to create a new blog post in CloudCart. Use when you need to publish blog content to your store. Requires post title, content, blog ID, and author ID. |
| `CLOUDCART_CREATE_BLOG_TAGS` | Create Blog Tag | Tool to create a new blog tag in CloudCart. Use when you need to add tags for organizing blog content. Tags help categorize and filter blog posts for better content discovery. |
| `CLOUDCART_CREATE_CATEGORY` | Create Category | Tool to create a new category. Use when you need to add organizational structure to your product catalog. |
| `CLOUDCART_CREATE_CUSTOMER` | Create Customer | Tool to create a new customer in CloudCart. Use when you need to register a new customer profile. Provide validated customer details (first name, last name, email, and password). Returns the created customer with their unique ID and timestamps. |
| `CLOUDCART_CREATE_CUSTOMER_BILLING_ADDRESS` | Create Customer Billing Address | Tool to create a new customer billing address. Use when you need to add a billing address for an existing customer. Requires customer ID and address details (name, country, city, street). |
| `CLOUDCART_CREATE_CUSTOMER_GROUPS` | Create Customer Groups | Tool to create a new customer group in CloudCart. Use when you need to organize customers into categories or segments for targeted marketing, pricing, or permissions. The group name must be unique. |
| `CLOUDCART_CREATE_CUSTOMER_SHIPPING_ADDRESS` | Create Customer Shipping Address | Tool to create a customer shipping address in CloudCart. Use when you need to add a new delivery address for an existing customer. Requires customer ID and complete address details (name, phone, country, city, street, postal code). |
| `CLOUDCART_CREATE_CUSTOMER_TAGS` | Create Customer Tag | Tool to create a new customer tag in CloudCart. Use when you need to add tags for organizing and categorizing customers. Tags can be used for filtering, grouping, or marketing purposes. |
| `CLOUDCART_CREATE_DISCOUNT` | Create Discount | Tool to create a new discount in CloudCart. Use when you need to add promotional discounts, sales, or special offers. Supports various discount types (fixed, percent, flat, shipping) and flexible targeting (all products, specific products, categories, or customers). |
| `CLOUDCART_CREATE_DISCOUNT_CODE` | Create Discount Code | Create a new discount code in CloudCart. Use when you need to add promotional discount codes to the store. The value represents the discount percentage multiplied by 100 (e.g., 1500 = 15% off). |
| `CLOUDCART_CREATE_IMAGES` | Create Image | Tool to create a new image for a product. Use when you need to add an image to an existing product by providing the image URL and product ID. |
| `CLOUDCART_CREATE_LINKED_PRODUCTS` | Create Linked Products | Tool to create linked product relationships in CloudCart. Use when you need to associate related products together, such as complementary items or product bundles. Supports bidirectional linking where linked products reference each other. |
| `CLOUDCART_CREATE_ORDER` | Create Order | Tool to create a new order. Use after assembling customer ID, cart items, and optional addresses/payment info. |
| `CLOUDCART_CREATE_PRODUCT` | Create Product | Creates a new product in CloudCart catalog. Requires product name, price, and at least one category ID. Supports optional fields like SKU, description (HTML allowed), quantity, weight, barcode, status, tags, and images. Use this when you need to add a new product to the store inventory. |
| `CLOUDCART_CREATE_PRODUCTS_PROPERTY_OPTIONS` | Create Products Property Options | Tool to add property options to a product relationship. Use when you need to associate one or more property options with a product for configuration or customization purposes. |
| `CLOUDCART_CREATE_PRODUCT_TO_DISCOUNT` | Create Product to Discount | Tool to create a product to discount relationship in CloudCart. Use when you need to associate a product variant with a discount and optionally set a discounted price. |
| `CLOUDCART_CREATE_PROPERTIES` | Create Property | Tool to create a new property in CloudCart. Properties are attributes that can be assigned to products (e.g., color, size, material). Use when you need to define new product characteristics or attributes for your catalog. |
| `CLOUDCART_CREATE_PROPERTY_OPTION` | Create Property Option | Tool to create a new property option. Use when you need to add a new option value to a product property (e.g., adding "Red" to a "Color" property or "Large" to a "Size" property). |
| `CLOUDCART_CREATE_REDIRECTS` | Create Redirect | Create a new URL redirect in CloudCart. Supports five redirect types: 'manual' for custom paths, 'external' for external URLs, and 'product', 'category', or 'vendor' to link to specific store items. Use when you need to redirect old URLs to new locations or specific store resources. |
| `CLOUDCART_CREATE_SUBSCRIBERS` | Create Subscriber | Tool to create a new subscriber in CloudCart. Use when you need to add a subscriber to the mailing list. Provide the subscriber's first name, last name, and two-letter country code. |
| `CLOUDCART_CREATE_SUBSCRIBERS_CHANNELS` | Create Subscriber Channel | Tool to create a new subscriber channel in CloudCart. Use when you need to add a communication channel (email or phone) for a subscriber. Provide the subscriber ID, channel type, contact identifier, and consent flags. |
| `CLOUDCART_CREATE_SUBSCRIBERS_TAGS` | Create Subscriber Tag | Tool to create a new subscriber-tag association in CloudCart. Use when you need to associate a tag with a subscriber for organizing, categorizing, or filtering subscribers. |
| `CLOUDCART_CREATE_VARIANT` | Create Variant | Tool to create a new product variant for a given product. Use when you need to add a variant with specific SKU, price, and options. |
| `CLOUDCART_CREATE_VARIANT_OPTION` | Create Variant Option | Tool to create a new variant option for a specific product variant. Use when you need to add an option (e.g., 'Large') with an optional price adjustment to an existing variant. |
| `CLOUDCART_CREATE_VARIANT_OPTIONS` | Create Variant Options | Tool to create a new variant option. Use when you need to add a new option (e.g., 'Medium', 'Blue') to an existing variant parameter. |
| `CLOUDCART_CREATE_VARIANT_PARAMETER` | Create Variant Parameter | Tool to create a new variant parameter for a product variant. Use when you need to add custom attributes (e.g., color, size) after a variant is created. |
| `CLOUDCART_CREATE_VARIANT_PARAMETERS` | Create Variant Parameter | Tool to create a new variant parameter definition. Use when you need to define a new product attribute type (e.g., Size, Color, Material) that can be used across products. |
| `CLOUDCART_CREATE_VENDOR` | Create Vendor | Create a new vendor in your CloudCart store. Vendors represent brands, manufacturers, or suppliers. The image_url is optional - if not provided, a default placeholder will be used. If provided, it must be a valid, publicly accessible image URL. |
| `CLOUDCART_CREATE_WEBHOOKS` | Create Webhook | Tool to create a new webhook subscription in CloudCart. Use when you need to register a webhook URL for receiving real-time event notifications (e.g., order.created, order.updated). CloudCart will send HTTP POST requests to your webhook URL when the specified event occurs. Retry policy: up to 6 attempts at 60, 120, 180, 240, 300 second intervals. |
| `CLOUDCART_DELETE_BLOG_CATEGORY` | Delete Blog Category | Tool to delete a blog category by its ID. Use after confirming the correct ID to permanently remove it. |
| `CLOUDCART_DELETE_BLOG_POST` | Delete Blog Post | Tool to delete a blog post by its ID. Use after confirming the correct ID to permanently remove the blog post. |
| `CLOUDCART_DELETE_BLOG_TAG` | Delete Blog Tag | Tool to delete a blog tag by its ID. Use after confirming the correct ID to permanently remove the tag. The API returns 204 No Content on successful deletion. |
| `CLOUDCART_DELETE_CATEGORY` | Delete Category | Tool to delete a category by its ID. Use after confirming the correct ID to permanently remove it. |
| `CLOUDCART_DELETE_CUSTOMER` | Delete Customer | Tool to delete a customer. Use when you need to remove a customer by their ID. Example: "Delete customer with ID 123". |
| `CLOUDCART_DELETE_CUSTOMER_BILLING_ADDRESS` | Delete Customer Billing Address | Tool to delete a customer billing address by its ID. Use when you need to remove a billing address from a customer's account. |
| `CLOUDCART_DELETE_CUSTOMER_GROUP` | Delete Customer Group | Tool to delete a customer group by its ID. Use when you need to permanently remove a customer group from the store. |
| `CLOUDCART_DELETE_CUSTOMER_SHIPPING_ADDRESS` | Delete Customer Shipping Address | Tool to delete a customer shipping address. Use when you need to remove a customer's shipping address by its ID. |
| `CLOUDCART_DELETE_CUSTOMER_TAG` | Delete Customer Tag | Tool to delete a customer tag by its ID. Use after confirming the tag exists to permanently remove it. |
| `CLOUDCART_DELETE_DISCOUNT` | Delete Discount | Tool to delete a discount by its ID. Use after confirming the discount exists to permanently remove it from the store. |
| `CLOUDCART_DELETE_DISCOUNT_CODE` | Delete Discount Code | Tool to delete a discount code by its ID. Use after confirming the discount code exists to permanently remove it from the store. |
| `CLOUDCART_DELETE_IMAGE` | Delete Image | Tool to delete an image by its ID. Use when you need to remove an image permanently from the CloudCart store. |
| `CLOUDCART_DELETE_ORDER` | Delete Order | Tool to delete an order. Use after confirming the order exists. |
| `CLOUDCART_DELETE_PRODUCT` | Delete Product | Tool to delete a product by its ID. Use after confirming the product exists to permanently remove it from the catalog. |
| `CLOUDCART_DELETE_PRODUCTS_LINKED_PRODUCTS` | Delete Linked Products | Tool to delete linked product relationships in CloudCart. Use when you need to remove associations between related products. This removes the link but does not delete the products themselves. |
| `CLOUDCART_DELETE_PRODUCT_TO_DISCOUNT` | Delete Product To Discount | Tool to delete a product-to-discount relationship by its ID. Use to remove the association between a product and a discount. |
| `CLOUDCART_DELETE_PROPERTY` | Delete Property | Tool to delete a property by its ID. Use after confirming the correct property ID to permanently remove it from the store. |
| `CLOUDCART_DELETE_PROPERTY_OPTIONS` | Delete Property Options | Tool to delete a property option by its ID. Use when you need to remove obsolete property options or clean up test data. |
| `CLOUDCART_DELETE_REDIRECT` | Delete Redirect | Tool to delete a redirect by its ID. Use this when you need to remove obsolete redirects or clean up redirect rules in the CloudCart store. |
| `CLOUDCART_DELETE_SUBSCRIBER` | Delete Subscriber | Tool to delete a subscriber by their ID. Use when you need to remove a subscriber from the mailing list. |
| `CLOUDCART_DELETE_SUBSCRIBERS_CHANNEL` | Delete Subscribers Channel | Tool to delete a subscriber channel by ID. Use when you need to remove a subscriber channel from the system. The API returns 204 No Content on successful deletion. |
| `CLOUDCART_DELETE_SUBSCRIBERS_TAG` | Delete Subscriber Tag | Tool to delete a subscriber tag by its ID. Use after confirming the tag exists to permanently remove it. |
| `CLOUDCART_DELETE_VARIANT` | Delete Variant | Tool to delete a variant by its ID. Use when you need to permanently remove a product variant from the catalog. |
| `CLOUDCART_DELETE_VARIANT_OPTION` | Delete Variant Option | Tool to delete a variant option by its ID. Use when you need to permanently remove a variant option from a product variant in the CloudCart store. |
| `CLOUDCART_DELETE_VARIANT_PARAMETER` | Delete Variant Parameter | Tool to delete a variant parameter by its ID. Use when you need to permanently remove a variant parameter from the CloudCart store. The API returns 204 No Content on successful deletion. |
| `CLOUDCART_DELETE_VENDOR` | Delete Vendor | Delete a vendor by its ID from the CloudCart store. This operation permanently removes the vendor record. The API returns 204 No Content on successful deletion. Use this tool when you need to remove obsolete vendors, clean up test data, or manage vendor records in your store. |
| `CLOUDCART_DELETE_WEBHOOK` | Delete Webhook | Tool to delete a webhook by its ID from the CloudCart store. Use when you need to remove webhooks that are no longer needed or to clean up webhook subscriptions. |
| `CLOUDCART_GENERATE_DISCOUNT_CODES` | Generate Discount Codes | Tool to generate multiple discount codes with a specified discount percentage. Use when you need to create multiple promotional codes with the same discount value. The discount value is multiplied by 100 (e.g., 1000 = 10%, 2500 = 25%). |
| `CLOUDCART_GET_BLOG_AUTHOR` | Get Blog Author | Tool to retrieve details of a specific blog author by ID. Use when you need information about a blog author. |
| `CLOUDCART_GET_BLOG_CATEGORY` | Get Blog Category | Tool to retrieve details of a specific blog category by ID. Use when you need information about a particular blog category. |
| `CLOUDCART_GET_BLOG_POST` | Get Blog Post | Tool to retrieve a single blog post by its ID. Use when you need detailed information about a specific blog post including title, content, author, publish date, and images. |
| `CLOUDCART_GET_BLOG_TAG` | Get Blog Tag | Tool to retrieve details of a specific blog tag by ID. Use when you need to fetch information about a particular tag. |
| `CLOUDCART_GET_CART` | Get Cart | Tool to retrieve the current shopping cart. Use when you need to view or verify the cart contents before checkout. |
| `CLOUDCART_GET_CATEGORIES` | Get Categories | Tool to retrieve a list of all categories. Use when you need to list available categories for selection. Returns numeric category IDs; use these IDs directly (not names or slugs) when setting categories in other tools like CLOUDCART_CREATE_PRODUCT. |
| `CLOUDCART_GET_CATEGORIES_PROPERTIES` | Get Category Properties | Tool to retrieve properties relationship for a category. Use when you need to get the list of properties assigned to a specific category. |
| `CLOUDCART_GET_CATEGORY` | Get Category | Tool to retrieve details of a specific category by ID. Use when you need information about a single category. |
| `CLOUDCART_GET_CUSTOMER` | Get Customer | Tool to retrieve details of a specific customer by ID. Use when you need information about a single customer. |
| `CLOUDCART_GET_CUSTOMER_BILLING_ADDRESS` | Get Customer Billing Address | Tool to retrieve a specific customer billing address by its ID. Use when you need to fetch details of a particular billing address including country, state, city, street information, and contact details. Optionally include related customer data using the 'include' parameter. |
| `CLOUDCART_GET_CUSTOMER_GROUP` | Get Customer Group | Tool to retrieve details of a specific customer group by ID. Use when you need to fetch information about a particular customer group. |
| `CLOUDCART_GET_CUSTOMER_GROUPS_CUSTOMERS` | Get Customer Groups Customers | Tool to retrieve customers from a specific customer group. Use when you need to list all customers belonging to a particular group. |
| `CLOUDCART_GET_CUSTOMERS` | Get Customers | Tool to retrieve a list of all customers. Use when you need to display or process multiple customer profiles. Note: The response is paginated; use page[number] and page[size] to control pagination. |
| `CLOUDCART_GET_CUSTOMER_SHIPPING_ADDRESS` | Get Customer Shipping Address | Tool to retrieve a single customer shipping address by ID. Use when you need details about a specific shipping address. Optionally include related customer data or filter specific fields to return only needed attributes. |
| `CLOUDCART_GET_CUSTOMER_TAG` | Get Customer Tag | Tool to retrieve details of a specific customer tag. Use when you have the customer tag ID and need to get its details. |
| `CLOUDCART_GET_IMAGE` | Get Image | Tool to retrieve details of a specific image by ID. Use when you need information about a single image including its dimensions, URLs, thumbnails, and related product. |
| `CLOUDCART_GET_ORDERS` | Get Orders | Retrieve a paginated list of orders from your CloudCart store. Returns order details including order ID, status, total amount, currency, and creation/update timestamps. Supports pagination through page[number] (starting from 1) and page[size] (items per page) parameters. Use this action to list all orders, check order statuses, retrieve order histories, or process orders programmatically. The response includes pagination metadata (current page, total orders, total pages) and navigation links for easy pagination handling. |
| `CLOUDCART_GET_PAYMENT_METHODS` | Get Payment Methods | Tool to retrieve all available payment methods. Use when you need to list supported payment options before checkout. |
| `CLOUDCART_GET_PRODUCTS` | Get Products | Tool to retrieve a list of products with optional filters. Use when you need a paginated catalog of products (e.g., by page, category, price range). |
| `CLOUDCART_GET_PRODUCTS_LINKED_PRODUCT` | Get Products Linked Product | Tool to retrieve linked products for a specific product. Use when you need to get related or complementary products that are associated with a main product. |
| `CLOUDCART_GET_PRODUCTS_LINKED_PRODUCTS` | Get Products Linked Products | Tool to retrieve linked products for a specific product. Use when you need to find products that are associated or related to a given product, such as complementary items or product recommendations. |
| `CLOUDCART_GET_PRODUCT_WITH_RELATIONS` | Get Product With Relations | Retrieves detailed information about a specific product including its relationships (category, vendor, variants). Use this action when you need comprehensive product details after obtaining a product ID from the Get Products action. Returns product attributes (name, description, pricing, status) and related entity references. |
| `CLOUDCART_GET_PROPERTY` | Get Property | Tool to retrieve details of a specific property by ID. Use when you need information about a single property. |
| `CLOUDCART_GET_PROPERTY_OPTION` | Get Property Option | Tool to retrieve details of a specific property option by ID. Use when you need information about a single property option. |
| `CLOUDCART_GET_PROPERTY_OPTIONS_RELATIONSHIP` | Get Property Options Relationship | Tool to retrieve property options relationship for a product. Use when you need to fetch which property options are assigned to a product after confirming it exists. |
| `CLOUDCART_GET_SHIPPING_METHODS` | Get Shipping Methods | Tool to retrieve all available shipping methods. Use when you need to list shipping options before checkout. |
| `CLOUDCART_GET_SUBSCRIBER` | Get Subscriber | Tool to retrieve details of a specific subscriber by ID. Use when you need information about a single subscriber including their engagement metrics and subscription details. |
| `CLOUDCART_GET_SUBSCRIBERS_CHANNEL` | Get Subscribers Channel | Tool to retrieve a single subscriber channel by its ID. Use when you need details about a specific subscriber's communication channel. Returns channel information including type, identifier, verification status, and marketing preferences. |
| `CLOUDCART_GET_SUBSCRIBERS_TAG` | Get Subscriber Tag | Tool to retrieve details of a specific subscriber tag by ID. Use when you need to get information about a subscriber tag association. |
| `CLOUDCART_GET_VARIANT` | Get Variant | Tool to retrieve details of a specific variant by ID. Use when you need information about a single product variant. |
| `CLOUDCART_GET_VARIANT_OPTION` | Get Variant Option | Tool to retrieve a specific variant option by its ID. Use when you need details about a particular variant option such as its name, sort order, color, visibility, or associated parameter. |
| `CLOUDCART_GET_VARIANT_PARAMETER` | Get Variant Parameter | Tool to retrieve details of a specific variant parameter by ID. Use when you need information about a single variant parameter. |
| `CLOUDCART_GET_VENDOR` | Get Vendor | Tool to retrieve details of a specific vendor. Use when you have the vendor ID. |
| `CLOUDCART_GET_WEBHOOK` | Get Webhook | Tool to retrieve details of a specific webhook by ID. Use when you need information about a webhook configuration. |
| `CLOUDCART_LIST_BLOG_CATEGORIES` | List Blog Categories | Tool to retrieve all blog categories with optional pagination, sorting, and filtering. Use when you need to list blog categories or get blog category information for content organization. |
| `CLOUDCART_LIST_BLOG_POSTS` | List Blog Posts | Tool to retrieve a list of all blog posts. Use when you need a paginated list of blog posts with optional filtering and sorting. Example: "List recent blog posts on page 1." |
| `CLOUDCART_LIST_BLOG_TAGS` | List Blog Tags | Tool to retrieve all blog tags from CloudCart. Use when you need to list available blog tags for filtering or selection. Supports pagination, sorting, and filtering. |
| `CLOUDCART_LIST_CUSTOMER_BILLING_ADDRESS` | List Customer Billing Addresses | Tool to retrieve a list of all customer billing addresses. Use when you need to access billing address information for customers. The response is paginated; use page[number] and page[size] parameters to control pagination. |
| `CLOUDCART_LIST_CUSTOMER_GROUPS` | List Customer Groups | Tool to retrieve all customer groups. Use when you need to display or process customer group information. The response is paginated; use page[number] and page[size] to control pagination. |
| `CLOUDCART_LIST_CUSTOMER_SHIPPING_ADDRESSES` | List Customer Shipping Addresses | Tool to retrieve a paginated list of customer shipping addresses. Use when you need to list all shipping addresses or filter by customer ID or country. Supports pagination and sorting. |
| `CLOUDCART_LIST_CUSTOMER_TAGS` | List Customer Tags | Tool to retrieve all customer tags. Use when you need to list available tags for customer categorization or filtering. |
| `CLOUDCART_LIST_DISCOUNT_CODES` | List Discount Codes | Tool to retrieve all discount codes from your CloudCart store. Use when you need to list available discount codes, check their status, or manage promotions. |
| `CLOUDCART_LIST_IMAGES` | List Images | Tool to retrieve all images from CloudCart. Use when you need a paginated list of images. |
| `CLOUDCART_LIST_ORDER_BILLING_ADDRESS` | List Order Billing Addresses | Tool to retrieve order billing addresses (read-only). Use when you need to access billing address information associated with orders. The response is paginated; use page[number] and page[size] parameters to control pagination. |
| `CLOUDCART_LIST_ORDER_PAYMENT` | List Order Payments | Retrieve payment information from orders. Since CloudCart API does not have a dedicated payments endpoint, this action fetches orders and extracts payment-related data. Use when you need to view payment status, methods, and amounts for orders. |
| `CLOUDCART_LIST_ORDER_PAYMENT2` | List Order Payment V2 | Tool to retrieve order payment data from the CloudCart order-payment endpoint. Use when you need to access payment transaction details including payment IDs, provider references, amounts, and statuses. |
| `CLOUDCART_LIST_ORDER_PRODUCTS` | List Order Products | Retrieve all order products from your CloudCart store (read-only). Returns order product details including product ID, attributes, and relationships to orders and product options. Supports pagination through page[number] and page[size] parameters. |
| `CLOUDCART_LIST_ORDER_PRODUCTS_OPTIONS` | List Order Products Options | Tool to retrieve order products options (read-only). Use when you need to list custom field options associated with products in orders. |
| `CLOUDCART_LIST_ORDER_SHIPPING` | List Order Shipping | Tool to retrieve order shipping data. Use when you need to list shipping information for orders. |
| `CLOUDCART_LIST_ORDER_SHIPPING_ADDRESS` | List Order Shipping Addresses | Tool to retrieve a paginated list of order shipping addresses. Use when you need to view shipping addresses associated with orders, filter by order ID, or export address data. Supports pagination and sorting. |
| `CLOUDCART_LIST_ORDER_STATUS` | List Order Status | Tool to retrieve all available order statuses from CloudCart. Returns status codes, names, translations, and types (order, payment, or shipping). Use when you need to view available order statuses for filtering orders or displaying status options. |
| `CLOUDCART_LIST_PAYMENT_PROVIDERS` | List Payment Providers | Tool to retrieve all payment providers (read-only). Use when you need to view configured payment providers in the store. |
| `CLOUDCART_LIST_PROPERTIES` | List Properties | Tool to retrieve all properties with optional pagination. Use when you need to list available properties or get property information for product configuration. |
| `CLOUDCART_LIST_PROPERTY_OPTIONS` | List Property Options | Tool to retrieve all property options with optional filtering and pagination. Use when you need to list property options or filter by property ID. |
| `CLOUDCART_LIST_REDIRECTS` | List Redirects | Tool to retrieve all redirects from CloudCart. Use when you need to view URL redirects configured in the store. |
| `CLOUDCART_LIST_SHIPPING_PROVIDERS` | List Shipping Providers | Tool to retrieve all shipping providers (read-only). Use when you need to view configured shipping providers in the store. |
| `CLOUDCART_LIST_SUBSCRIBERS` | List Subscribers | Tool to retrieve all subscribers from the store. Use when you need to display or process subscriber information with engagement metrics like open rates and click rates. |
| `CLOUDCART_LIST_SUBSCRIBERS_CHANNELS` | List Subscribers Channels | Tool to retrieve all subscriber channels. Use when you need to list available channels for subscriber management or filtering. |
| `CLOUDCART_LIST_SUBSCRIBERS_TAGS` | List Subscribers Tags | Tool to retrieve all subscriber tags. Use when you need to list tag associations for subscribers with flexible organization through customizable labeling. Supports pagination, filtering, and sorting. |
| `CLOUDCART_LIST_VARIANT_OPTIONS` | List Variant Options | Tool to retrieve all variant options. Use when you need to list available variant options with optional pagination. |
| `CLOUDCART_LIST_VARIANT_PARAMETERS` | List Variant Parameters | Tool to retrieve all variant parameters with pagination support. Use when you need to list product variant configuration options like size, color, or other custom attributes. |
| `CLOUDCART_LIST_VARIANTS` | List Variants | Tool to retrieve all product variants with optional pagination and filtering. Use when you need to list variants across products or filter by specific item ID or SKU. |
| `CLOUDCART_LIST_VENDORS` | List Vendors | Tool to retrieve a list of all vendors. Use when you need a paginated list of vendors or filter by name/status. Example: "List active vendors on page 2." |
| `CLOUDCART_LIST_WEBHOOKS` | List Webhooks | Tool to retrieve all webhooks. Use when you need to view configured webhooks, check webhook events, or manage webhook subscriptions. |
| `CLOUDCART_REMOVE_FROM_CART` | Remove from Cart | Tool to remove an item from the cart. Use after confirming the product exists in the cart to delete it. |
| `CLOUDCART_UPDATE_BLOG_CATEGORY` | Update Blog Category | Tool to update an existing blog category. Use when you need to modify blog category details such as name, SEO settings, or image. |
| `CLOUDCART_UPDATE_BLOG_POST` | Update Blog Post | Tool to update an existing blog post. Use when you need to modify the title or content of a blog post. Requires the blog post ID and at least one field to update (name or content). |
| `CLOUDCART_UPDATE_BLOG_TAG` | Update Blog Tag | Tool to update an existing blog tag. Use when you need to modify a blog tag's name or label. |
| `CLOUDCART_UPDATE_CART_ITEM` | Update Cart Item | Tool to update the quantity of an item in the cart. Use when you need to adjust item quantities in the cart before checkout. |
| `CLOUDCART_UPDATE_CATEGORY` | Update Category | Tool to update an existing category. Use when you need to modify category details after reviewing its current values. |
| `CLOUDCART_UPDATE_CUSTOMER` | Update Customer | Updates an existing customer's information in CloudCart. You can modify customer details such as first name, last name, email, password, and alternative phone number. All update fields are optional - only provide the fields you want to update. |
| `CLOUDCART_UPDATE_CUSTOMER_BILLING_ADDRESS` | Update Customer Billing Address | Tool to update an existing customer billing address in CloudCart. Use when you need to modify billing address details such as phone, location, or contact information. All update fields are optional - only provide the fields you want to update. |
| `CLOUDCART_UPDATE_CUSTOMER_GROUP` | Update Customer Group | Tool to update an existing customer group's name. Use when you need to modify a customer group's details after reviewing its current values. |
| `CLOUDCART_UPDATE_CUSTOMER_SHIPPING_ADDRESS` | Update Customer Shipping Address | Tool to update an existing customer shipping address in CloudCart. Use when you need to modify address details such as phone, name, or location fields. All update fields are optional - only provide the fields you want to change. |
| `CLOUDCART_UPDATE_CUSTOMER_TAG` | Update Customer Tag | Tool to update an existing customer tag in CloudCart. Use when you need to rename or modify a customer tag's label. |
| `CLOUDCART_UPDATE_DISCOUNT_CODE` | Update Discount Code | Tool to update an existing discount code in CloudCart. Use when you need to modify discount code properties such as the code value, discount amount, or activation status. At least one optional field must be provided to perform an update. |
| `CLOUDCART_UPDATE_LINKED_PRODUCT` | Update Linked Product | Updates linked product relationships for a specific product in CloudCart. This replaces all existing linked products with the provided list. Use when you need to establish product recommendations or cross-sell relationships. The two_way parameter controls bidirectional linking. |
| `CLOUDCART_UPDATE_ORDER` | Update Order | Tool to update an existing order. Use when you need to modify order details after creation (e.g., change status or addresses). Provide only the fields you wish to change. |
| `CLOUDCART_UPDATE_PRODUCT` | Update Product | Updates an existing product in CloudCart. Provide the product_id and at least one field to update. Returns updated product details. For variant-based products, price and stock are managed at the variant level and will return 0 in the response. Use GET_PRODUCTS or GET_PRODUCT_WITH_RELATIONS to retrieve current product details first. |
| `CLOUDCART_UPDATE_PROPERTY` | Update Property | Tool to update an existing property. Use when you need to modify property details such as display type, name, or visibility settings. |
| `CLOUDCART_UPDATE_PROPERTY_OPTION` | Update Property Option | Tool to update an existing property option. Use when you need to modify an option value of a product property (e.g., changing "Red" to "Crimson Red" in a "Color" property). |
| `CLOUDCART_UPDATE_SUBSCRIBER` | Update Subscriber | Tool to update an existing subscriber in CloudCart. Use when you need to modify subscriber details like first name, last name, or country code. Provide the subscriber ID and the updated attributes. |
| `CLOUDCART_UPDATE_SUBSCRIBERS_CHANNEL` | Update Subscribers Channel | Tool to update an existing subscriber channel in CloudCart. Use when you need to modify a subscriber's communication channel details such as contact information, marketing preferences, or verification status. All update fields are optional - only provide the fields you want to update. |
| `CLOUDCART_UPDATE_SUBSCRIBER_TAG` | Update Subscriber Tag | Tool to update an existing subscriber tag association in CloudCart. Use when you need to modify which subscriber or tag is associated in a subscribers-tags relationship. |
| `CLOUDCART_UPDATE_VARIANT` | Update Variant | Tool to update an existing product variant. Use when you need to modify variant details such as quantity, price, SKU, or other attributes. |
| `CLOUDCART_UPDATE_VARIANT_OPTION` | Update Variant Option | Tool to update an existing variant option. Use when you need to modify a variant option's name, sort order, color, or visibility. |
| `CLOUDCART_UPDATE_VARIANT_PARAMETER` | Update Variant Parameter | Tool to update an existing variant parameter for a product variant. Use when you need to modify attributes like display_type, name, sort order, or visibility. |
| `CLOUDCART_UPDATE_VENDOR` | Update Vendor | Updates an existing vendor's information in CloudCart. Use this to modify a vendor's name or image URL. You can update one or both fields. Requires a valid vendor ID - obtain this from Create Vendor or List Vendors actions first. This is a partial update (PATCH) operation, so you only need to provide the fields you want to change. |
| `CLOUDCART_UPDATE_WEBHOOK` | Update Webhook | Tool to update an existing webhook configuration in CloudCart. Use when you need to modify the webhook URL or custom request headers for webhook notifications. At least one optional field (url or request_headers) must be provided. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Cloudcart MCP server is an implementation of the Model Context Protocol that connects your AI agent to Cloudcart. It provides structured and secure access so your agent can perform Cloudcart operations on your behalf through a secure, permission-based interface.
With Composio's managed implementation, you don't have to create your own developer app. For production, if you're building an end product, we recommend using your own credentials. The managed server helps you prototype fast and go from 0-1 faster.

## Step-by-step Guide

### 1. Prerequisites

Before starting, make sure you have:
- A Google API key for Gemini models
- A Composio account and API key
- Python 3.9 or later installed
- Basic familiarity with Python

### 1. Getting API Keys for Google and Composio

Google API Key
- Go to [Google AI Studio](https://aistudio.google.com/app/apikey) and create an API key.
- Copy the key and keep it safe. You will put this in GOOGLE_API_KEY.
Composio API Key and User ID
- Log in to the [Composio dashboard](https://dashboard.composio.dev?utm_source=toolkits&utm_medium=framework_docs).
- Go to Settings → API Keys and copy your Composio API key. Use this for COMPOSIO_API_KEY.
- Decide on a stable user identifier to scope sessions, often your email or a user ID. Use this for COMPOSIO_USER_ID.

### 2. Install dependencies

Inside your virtual environment, install the required packages.
What's happening:
- google-adk is Google's Agents Development Kit
- composio connects your agent to Cloudcart via MCP
- python-dotenv loads environment variables
```bash
pip install google-adk composio python-dotenv
```

### 3. Set up ADK project

Set up a new Google ADK project.
What's happening:
- This creates an agent folder with a root agent file and .env file
```bash
adk create my_agent
```

### 4. Set environment variables

Save all your credentials in the .env file.
What's happening:
- GOOGLE_API_KEY authenticates with Google's Gemini models
- COMPOSIO_API_KEY authenticates with Composio
- COMPOSIO_USER_ID identifies the user for session management
```bash
GOOGLE_API_KEY=your-google-api-key
COMPOSIO_API_KEY=your-composio-api-key
COMPOSIO_USER_ID=your-user-id-or-email
```

### 5. Import modules and validate environment

What's happening:
- os reads environment variables
- Composio is the main Composio SDK client
- GoogleProvider declares that you are using Google ADK as the agent runtime
- Agent is the Google ADK LLM agent class
- McpToolset lets the ADK agent call MCP tools over HTTP
```python
import os
import warnings

from composio import Composio
from dotenv import load_dotenv
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset

load_dotenv()

warnings.filterwarnings("ignore", message=".*BaseAuthenticatedTool.*")

GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not GOOGLE_API_KEY:
    raise ValueError("GOOGLE_API_KEY is not set in the environment.")
if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set in the environment.")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set in the environment.")
```

### 6. Create Composio client and Tool Router session

What's happening:
- Authenticates to Composio with your API key
- Declares Google ADK as the provider
- Spins up a short-lived MCP endpoint for your user and selected toolkit
- Stores the MCP HTTP URL for the ADK MCP integration
```python
composio_client = Composio(api_key=COMPOSIO_API_KEY)

composio_session = composio_client.create(
    user_id=COMPOSIO_USER_ID,
    toolkits=["cloudcart"],
)

COMPOSIO_MCP_URL = composio_session.mcp.url,
print(f"Composio MCP URL: {COMPOSIO_MCP_URL}")
```

### 7. Set up the McpToolset and create the Agent

What's happening:
- Connects the ADK agent to the Composio MCP endpoint through McpToolset
- Uses Gemini as the model powering the agent
- Lists exact tool names in instruction to reduce misnamed tool calls
```python
composio_toolset = McpToolset(
    connection_params=StreamableHTTPConnectionParams(
        url=COMPOSIO_MCP_URL,
        headers={"x-api-key": COMPOSIO_API_KEY}
    )
)

root_agent = Agent(
    model="gemini-2.5-flash",
    name="composio_agent",
    description="An agent that uses Composio tools to perform actions.",
    instruction=(
        "You are a helpful assistant connected to Composio. "
        "You have the following tools available: "
        "COMPOSIO_SEARCH_TOOLS, COMPOSIO_MULTI_EXECUTE_TOOL, "
        "COMPOSIO_MANAGE_CONNECTIONS, COMPOSIO_REMOTE_BASH_TOOL, COMPOSIO_REMOTE_WORKBENCH. "
        "Use these tools to help users with Cloudcart operations."
    ),
    tools=[composio_toolset],
)

print("\nAgent setup complete. You can now run this agent directly ;)")
```

### 8. Run the agent

Execute the agent from the project root. The web command opens a web portal where you can chat with the agent.
What's happening:
- adk run runs the agent in CLI mode
- adk web . opens a web UI for interactive testing
```bash
# Run in CLI mode
adk run my_agent

# Or run in web UI mode
adk web
```

## Complete Code

```python
import os
import warnings

from composio import Composio
from composio_google import GoogleProvider
from dotenv import load_dotenv
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset

load_dotenv()
warnings.filterwarnings("ignore", message=".*BaseAuthenticatedTool.*")

GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not GOOGLE_API_KEY:
    raise ValueError("GOOGLE_API_KEY is not set in the environment.")
if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set in the environment.")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set in the environment.")

composio_client = Composio(api_key=COMPOSIO_API_KEY, provider=GoogleProvider())

composio_session = composio_client.create(
    user_id=COMPOSIO_USER_ID,
    toolkits=["cloudcart"],
)

COMPOSIO_MCP_URL = composio_session.mcp.url


composio_toolset = McpToolset(
    connection_params=StreamableHTTPConnectionParams(
        url=COMPOSIO_MCP_URL,
        headers={"x-api-key": COMPOSIO_API_KEY}
    )
)

root_agent = Agent(
    model="gemini-2.5-flash",
    name="composio_agent",
    description="An agent that uses Composio tools to perform actions.",
    instruction=(
        "You are a helpful assistant connected to Composio. "
        "You have the following tools available: "
        "COMPOSIO_SEARCH_TOOLS, COMPOSIO_MULTI_EXECUTE_TOOL, "
        "COMPOSIO_MANAGE_CONNECTIONS, COMPOSIO_REMOTE_BASH_TOOL, COMPOSIO_REMOTE_WORKBENCH. "
        "Use these tools to help users with Cloudcart operations."
    ),  
    tools=[composio_toolset],
)

print("\nAgent setup complete. You can now run this agent directly ;)")
```

## Conclusion

You've successfully integrated Cloudcart with the Google ADK through Composio's MCP Tool Router. Your agent can now interact with Cloudcart using natural language commands.
Key takeaways:
- The Tool Router approach dynamically routes requests to the appropriate Cloudcart tools
- Environment variables keep your credentials secure and separate from code
- Clear agent instructions reduce tool calling errors
- The ADK web UI provides an interactive interface for testing and development
You can extend this setup by adding more toolkits to the toolkits array in your session configuration.

## How to build Cloudcart MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/cloudcart/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/cloudcart/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/cloudcart/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/cloudcart/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/cloudcart/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/cloudcart/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/cloudcart/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/cloudcart/framework/cli)
- [LangChain](https://composio.dev/toolkits/cloudcart/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/cloudcart/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/cloudcart/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/cloudcart/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/cloudcart/framework/crew-ai)

## Related Toolkits

- [Addresszen](https://composio.dev/toolkits/addresszen) - Addresszen is a real-time address autocomplete and verification service. It helps capture accurate, deliverable addresses with instant suggestions and validation.
- [Asin data api](https://composio.dev/toolkits/asin_data_api) - Asin data api gives you detailed, real-time product data from Amazon, including price, rank, and reviews. Perfect for e-commerce pros and data-driven marketers who need instant marketplace insights.
- [Baselinker](https://composio.dev/toolkits/baselinker) - BaseLinker is an all-in-one e-commerce management platform connecting stores, marketplaces, carriers, and more. It streamlines order processing, inventory control, and automates your sales operations.
- [Bestbuy](https://composio.dev/toolkits/bestbuy) - Best Buy is a leading retailer offering APIs for product, store, and recommendation data. Instantly access up-to-date retail insights for smarter shopping and decision-making.
- [Btcpay server](https://composio.dev/toolkits/btcpay_server) - BTCPay Server is a free, open-source, self-hosted Bitcoin payment processor. It lets merchants accept Bitcoin payments directly, cutting out middlemen and boosting privacy.
- [Cdr platform](https://composio.dev/toolkits/cdr_platform) - Cdr platform is an API for purchasing carbon dioxide removal services. It enables businesses to offset emissions by accessing verified carbon removal projects.
- [Countdown api](https://composio.dev/toolkits/countdown_api) - Countdown API gives you real-time, structured eBay product data, reviews, and seller feedback. Perfect for powering price monitoring, product research, or marketplace analytics workflows.
- [Dpd2](https://composio.dev/toolkits/dpd2) - Dpd2 is a robust email management platform for handling, sorting, and automating email workflows. Streamline your communications and boost productivity with advanced sorting, labeling, and response tools.
- [Finerworks](https://composio.dev/toolkits/finerworks) - FinerWorks is an online platform for fine art and photo printing services. Artists and photographers use it to order custom prints and manage print inventory efficiently.
- [Fingertip](https://composio.dev/toolkits/fingertip) - Fingertip is a business management platform for selling, booking, and customer engagement—all from a single link. It helps businesses streamline operations and connect with customers across social channels.
- [Fraudlabs pro](https://composio.dev/toolkits/fraudlabs_pro) - FraudLabs Pro is an online payment fraud detection service for e-commerce and merchants. It helps minimize chargebacks and revenue loss by detecting and preventing fraudulent transactions.
- [Gift up](https://composio.dev/toolkits/gift_up) - Gift Up! is a digital platform for selling, managing, and redeeming gift cards online. It streamlines promotions and gift card transactions for businesses and their customers.
- [Goody](https://composio.dev/toolkits/goody) - Goody is a gifting platform that lets users send gifts and physical products without handling logistics. It streamlines gifting by managing delivery, fulfillment, and recipient experience.
- [Gumroad](https://composio.dev/toolkits/gumroad) - Gumroad is a platform for selling digital products, physical goods, and memberships with a simple checkout and marketing tools. It streamlines creator payouts and helps you grow your audience effortlessly.
- [Instacart](https://composio.dev/toolkits/instacart) - Instacart is an online grocery delivery and pickup service platform. It lets you discover local retailers and create shoppable lists and recipes with ease.
- [Junglescout](https://composio.dev/toolkits/junglescout) - Junglescout is an Amazon product research and analytics platform for sellers. It delivers sales estimates, competitive insights, and optimization tools to boost your Amazon business.
- [Ko fi](https://composio.dev/toolkits/ko_fi) - Ko-fi is a platform that lets creators receive donations, memberships, and sales from fans. It helps creators monetize their work and grow their audience with minimal friction.
- [Lemon squeezy](https://composio.dev/toolkits/lemon_squeezy) - Lemon Squeezy is a payments and subscription platform built for software companies. It makes managing payments, taxes, and customer subscriptions effortless.
- [Loyverse](https://composio.dev/toolkits/loyverse) - Loyverse is a point-of-sale (POS) platform for small businesses, offering tools for sales, inventory, and customer loyalty. It helps streamline retail operations and boost customer engagement.
- [Memberstack](https://composio.dev/toolkits/memberstack) - Memberstack lets you add user authentication, payments, and member management to your website—no backend code required. Easily manage your site's members and subscriptions from a single platform.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Cloudcart MCP?

With a standalone Cloudcart MCP server, the agents and LLMs can only access a fixed set of Cloudcart tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Cloudcart and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Google ADK?

Yes, you can. Google ADK fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Cloudcart tools.

### Can I manage the permissions and scopes for Cloudcart while using Tool Router?

Yes, absolutely. You can configure which Cloudcart scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Cloudcart data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
