How to integrate Wix MCP with CrewAI

Connect CrewAI to Wix MCP. List all orders placed this week, create a new product on wix store, and more using natural language, with authentication handled for you.

Wix logoWix
Oauth2Api Key

Wix is a cloud-based web development platform for building websites and stores. It's loved for its drag-and-drop tools and easy site management.

139 Tools

Introduction

This guide walks you through connecting Wix to CrewAI using the Composio tool router. By the end, you'll have a working Wix agent that can list all orders placed this week, create a new product on wix store, update homepage banner image on wix through natural language commands.

This guide will help you understand how to give your CrewAI agent real control over a Wix account through Composio's Wix MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Wix with

TL;DR

Here's what you'll learn:
  • Get a Composio API key and configure your Wix connection
  • Set up CrewAI with an MCP enabled agent
  • Create a Tool Router session or standalone MCP server for Wix
  • Build a conversational loop where your agent can execute Wix operations

What is CrewAI?

CrewAI is a powerful framework for building multi-agent AI systems. It provides primitives for defining agents with specific roles, creating tasks, and orchestrating workflows through crews.

Key features include:

  • Agent Roles: Define specialized agents with specific goals and backstories
  • Task Management: Create tasks with clear descriptions and expected outputs
  • Crew Orchestration: Combine agents and tasks into collaborative workflows
  • MCP Integration: Connect to external tools through Model Context Protocol

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

The Wix MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Wix account. It provides structured and secure access to your store, contacts, members, forms, bookings, and site details, so your agent can search products, review orders, check inventory, retrieve contacts, and cancel orders on your behalf.

  • Product and inventory lookup: Have your agent search your Wix product catalog and check inventory items using text, filters, and sorting.
  • Order management: Direct your agent to find e-commerce orders that match your criteria or cancel an existing order.
  • Contact and member retrieval: Let the agent find Wix contacts, retrieve member details, and check member privacy settings.
  • Forms, bookings, and locations: Instruct your agent to retrieve form submissions, browse booking categories, and find business locations.
  • Store and site information: Have your agent review site properties, available coupons, loyalty discounts, tax groups, and manual tax mappings.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step08 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Python 3.9 or higher
  • A Composio account and API key
  • A Wix connection authorized in Composio
  • An OpenAI API key for the CrewAI LLM
  • Basic familiarity with Python
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio crewai crewai-tools[mcp] python-dotenv
What's happening:
  • composio connects your agent to Wix via MCP
  • crewai provides Agent, Task, Crew, and LLM primitives
  • crewai-tools[mcp] includes MCP helpers
  • python-dotenv loads environment variables from .env
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
OPENAI_API_KEY=your_openai_api_key_here

Create a .env file in your project root.

What's happening:

  • COMPOSIO_API_KEY authenticates with Composio
  • USER_ID scopes the session to your account
  • OPENAI_API_KEY lets CrewAI use your chosen OpenAI model
5

Import dependencies

python
import os
from composio import Composio
from crewai import Agent, Task, Crew
from crewai_tools import MCPServerAdapter
import dotenv

dotenv.load_dotenv()

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

if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set")
What's happening:
  • CrewAI classes define agents and tasks, and run the workflow
  • MCPServerHTTP connects the agent to an MCP endpoint
  • Composio will give you a short lived Wix MCP URL
6

Create a Composio Tool Router session for Wix

python
composio_client = Composio(api_key=COMPOSIO_API_KEY)
session = composio_client.create(user_id=COMPOSIO_USER_ID, toolkits=["wix"])

url = session.mcp.url
What's happening:
  • You create a Wix only session through Composio
  • Composio returns an MCP HTTP URL that exposes Wix tools
7

Initialize the MCP Server

python
server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users search the internet effectively",
        backstory="You are a helpful assistant with access to search tools.",
        tools=tools,
        verbose=False,
        max_iter=10,
    )
What's Happening:
  • Server Configuration: The code sets up connection parameters including the MCP server URL, streamable HTTP transport, and Composio API key authentication.
  • MCP Adapter Bridge: MCPServerAdapter acts as a context manager that converts Composio MCP tools into a CrewAI-compatible format.
  • Agent Setup: Creates a CrewAI Agent with a defined role (Search Assistant), goal (help with internet searches), and access to the MCP tools.
  • Configuration Options: The agent includes settings like verbose=False for clean output and max_iter=10 to prevent infinite loops.
  • Dynamic Tool Usage: Once created, the agent automatically accesses all Composio Search tools and decides when to use them based on user queries.
8

Create a CLI Chatloop and define the Crew

python
print("Chat started! Type 'exit' or 'quit' to end.\n")

conversation_context = ""

while True:
    user_input = input("You: ").strip()

    if user_input.lower() in ["exit", "quit", "bye"]:
        print("\nGoodbye!")
        break

    if not user_input:
        continue

    conversation_context += f"\nUser: {user_input}\n"
    print("\nAgent is thinking...\n")

    task = Task(
        description=(
            f"Conversation history:\n{conversation_context}\n\n"
            f"Current request: {user_input}"
        ),
        expected_output="A helpful response addressing the user's request",
        agent=agent,
    )

    crew = Crew(agents=[agent], tasks=[task], verbose=False)
    result = crew.kickoff()
    response = str(result)

    conversation_context += f"Agent: {response}\n"
    print(f"Agent: {response}\n")
What's Happening:
  • Interactive CLI Setup: The code creates an infinite loop that continuously prompts for user input and maintains the entire conversation history in a string variable.
  • Input Validation: Empty inputs are ignored to prevent processing blank messages and keep the conversation clean.
  • Context Building: Each user message is appended to the conversation context, which preserves the full dialogue history for better agent responses.
  • Dynamic Task Creation: For every user input, a new Task is created that includes both the full conversation history and the current request as context.
  • Crew Execution: A Crew is instantiated with the agent and task, then kicked off to process the request and generate a response.
  • Response Management: The agent's response is converted to a string, added to the conversation context, and displayed to the user, maintaining conversational continuity.

Complete Code

Here's the complete code to get you started with Wix and CrewAI:

python
from crewai import Agent, Task, Crew, LLM
from crewai_tools import MCPServerAdapter
from composio import Composio
from dotenv import load_dotenv
import os

load_dotenv()

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.")

# Initialize Composio and create a session
composio = Composio(api_key=COMPOSIO_API_KEY)
session = composio.create(
    user_id=COMPOSIO_USER_ID,
    toolkits=["wix"],
)
url = session.mcp.url

# Configure LLM
llm = LLM(
    model="gpt-5",
    api_key=os.getenv("OPENAI_API_KEY"),
)

server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users with internet searches",
        backstory="You are an expert assistant with access to Composio Search tools.",
        tools=tools,
        llm=llm,
        verbose=False,
        max_iter=10,
    )

    print("Chat started! Type 'exit' or 'quit' to end.\n")

    conversation_context = ""

    while True:
        user_input = input("You: ").strip()

        if user_input.lower() in ["exit", "quit", "bye"]:
            print("\nGoodbye!")
            break

        if not user_input:
            continue

        conversation_context += f"\nUser: {user_input}\n"
        print("\nAgent is thinking...\n")

        task = Task(
            description=(
                f"Conversation history:\n{conversation_context}\n\n"
                f"Current request: {user_input}"
            ),
            expected_output="A helpful response addressing the user's request",
            agent=agent,
        )

        crew = Crew(agents=[agent], tasks=[task], verbose=False)
        result = crew.kickoff()
        response = str(result)

        conversation_context += f"Agent: {response}\n"
        print(f"Agent: {response}\n")

Conclusion

You now have a CrewAI agent connected to Wix through Composio's Tool Router. The agent can perform Wix operations through natural language commands.

Next steps:

  • Add role-specific instructions to customize agent behavior
  • Plug in more toolkits for multi-app workflows
  • Chain tasks for complex multi-step operations
TOOLS

Supported Tools

Every Wix action and event your agent gets out of the box.

Add Special Permissions

Tool to add special permissions to a Wix data collection for a specific user or role.

Calculate First Available Time Slots Per Menu

Tool to calculate and retrieve the first available time slot of each fulfillment type for each specified menu.

Cancel Automation Event

Tool to cancel any remaining automation actions for a trigger and external entity.

Cancel Order

Cancels an existing e-commerce order by marking its status as CANCELED.

Cancel Background Task

Tool to cancel a background task in Wix CMS.

Check Content

Tool to check content text against Wix moderation rules.

Check Domain Availability

Tool to check if a domain name is available for purchase.

Count Extended Bookings

Tool to count extended bookings matching specified filter criteria.

Add Labels to Contact

Tool to add labels to a Wix contact using the Labels API.

Enable Points Expiration

Tool to enable points expiration for a Wix loyalty program.

Bulk Create Products With Inventory

Tool to bulk create products with inventory in Wix.

Create Tax Region

Tool to create a tax region in Wix using the Tax Regions API.

Bulk Delete Abandoned Checkouts

Tool to bulk delete abandoned checkouts from Wix e-commerce.

Delete Add-On Group

Tool to delete an add-on group from a Wix Bookings service.

Delete Back In Stock Notification

Tool to delete a back in stock notification request from Wix e-commerce.

Bulk Delete Benefit Items

Tool to bulk delete benefit items from Wix Benefit Programs.

Bulk Delete Billable Items

Tool to bulk delete billable items in Wix.

Delete Schedule Bookmark

Tool to remove a bookmark from a schedule item in Wix Events.

Bulk Delete Brands

Tool to delete multiple brands from the Wix Stores catalog.

Bulk Delete Translation Content

Tool to bulk delete translation content by IDs.

Bulk Delete Variants

Tool to bulk delete item variants from Wix Restaurants menus.

Delete FAQ Category

Tool to delete an FAQ category from the Wix site.

Unlabel Contact

Tool to remove labels from a contact in the Wix CRM system.

Delete Customization

Tool to delete a customization from the Wix Stores catalog.

Delete Data Collection Field

Tool to delete a field from a Wix data collection.

Bulk Delete Form Schemas

Tool to bulk delete form schemas from Wix Forms.

Delete Info Section

Tool to delete an info section from the Wix Stores catalog.

Bulk Delete Inventory Items

Tool to bulk delete inventory items from the Wix Stores catalog.

Bulk Delete Benefit Items By Filter

Tool to bulk delete benefit program items by filter criteria.

Delete Loyalty Coupon

Tool to delete a loyalty coupon from the Wix Loyalty Program.

Delete Menu

Tool to delete a menu from Wix Restaurants.

Bulk Delete Modifiers

Tool to bulk delete item modifiers from Wix Restaurants Menus.

Bulk Delete Pool Definitions

Tool to bulk delete pool definitions from Wix Benefit Programs.

Delete Product Options

Tool to delete all options from a Wix product.

Bulk Delete Products

Tool to bulk delete products from the Wix Stores catalog.

Delete Program Definition

Tool to delete a program definition from Wix Benefit Programs.

Delete Project

Tool to delete a project from Wix Portfolio.

Delete Project Item

Tool to delete a project item from the Wix Portfolio.

Delete Question Entry

Tool to delete a question entry from Wix FAQ app.

Delete Receipt Preset

Tool to permanently delete a receipt preset from Wix.

Bulk Delete Notification Recipients

Tool to bulk delete notification recipients for Wix Restaurants online orders.

Bulk Delete Reports By Filter

Tool to bulk delete reports from the dashboard by filter criteria.

Bulk Delete RSVPs By Filter

Tool to bulk delete event RSVPs by filter criteria.

Delete Service Fee Rule

Tool to delete a service fee rule from Wix Restaurants Online Orders.

Delete Schedule Item

Tool to delete schedule items from a Wix event.

Delete Secret

Tool to delete a secret from Wix Secrets Vault.

Delete Sender Details

Tool to delete sender details from Wix email marketing.

Delete Sender Email

Tool to delete a sender email from Wix Marketing.

Delete Service

Tool to delete a service from Wix Bookings.

Bulk Delete Services By Filter

Tool to bulk delete booking services by filter criteria.

Bulk Delete Services

Tool to bulk delete services from Wix Bookings.

Delete Ticket Check-In

Tool to delete ticket check-in records for Wix Events.

Bulk Delete Ticket Definitions

Tool to bulk delete ticket definitions by filter criteria for Wix Events.

Delete Ticket Reservation

Tool to delete a ticket reservation from Wix Events.

Delete User Defined Fields

Tool to delete user defined fields from a data extension schema in Wix.

Delete User Favorite

Tool to remove a dashboard page from the current user's list of favorite pages.

Discard Draft Schedule

Tool to discard all changes to a draft schedule for a Wix event.

Generate Files Download URL

Tool to generate download URLs for files in Wix Media Manager.

Generate File Upload URL

Tool to generate an upload URL for uploading files to Wix Media Manager.

Get App Instance

Retrieve the current Wix app instance and associated site information.

Get Collection By Slug

Tool to retrieve a Wix Stores collection by its slug.

Get Current Member Coupons

Tool to retrieve loyalty coupons for the currently authenticated member.

Get Folder By Site

Tool to retrieve folder information for a specific site by site ID.

Get Member

Tool to retrieve a member by ID from Wix Members.

Get Member Privacy Settings

Tool to retrieve member privacy settings for a Wix site.

Get Members Custom Field Applications

Tool to retrieve custom field applications for specified members.

Bulk Get Or Create Brands

Tool to bulk retrieve or create brands in Wix Stores catalog.

Get Purchase History

Tool to retrieve purchase history for your app on a site.

Get Roles Custom Field Applications

Tool to retrieve custom field applications for specified roles.

Get Roles Info

Tool to retrieve all available roles in the requesting Wix account, including predefined and custom roles.

Get Site Plugins Placement Status

Tool to get the placement status of your app's site plugins on the user's site.

Get Site Properties

Tool to retrieve current snapshot of a site's properties including business profile, contact information, and business schedule.

Import File to Media Manager

Tool to import a file to Wix Media Manager using an external URL.

List App Permissions

Tool to retrieve all permissions for a specified Wix app.

List App Plans By App ID

Tool to retrieve app plans by application ID, including pricing, tax settings, and currency details.

List Email Marketing Campaigns

Tool to retrieve a list of email marketing campaigns, ordered by date_updated in descending order.

List Contacts Facets

Tool to list facets from the site's Contact List.

List Currencies

Tool to retrieve the list of available currencies from Wix Currency Converter.

List Custom Fields

Tool to retrieve a list of custom fields and fields provided by the Members Area.

List Default Tax Groups

Tool to retrieve the list of default tax groups for a Wix site.

List Default Tax Groups By App IDs

Tool to retrieve default tax groups for specific Wix apps by their app IDs.

List Group Requests

Tool to list group requests across a Wix site.

List Invoices by Order IDs

Tool to retrieve invoice IDs and external app IDs for multiple orders.

List Manual Tax Mappings

Tool to retrieve up to 1,000 manual tax mappings from Wix.

List Member Following

Tool to retrieve the list of members followed by a given member in Wix Members.

List My Member Followers

Tool to retrieve the list of members who are following the current authenticated member in Wix Members.

List V4 Contacts

Tool to retrieve a list of up to 1,000 contacts per request from Wix.

Logout

Tool to terminate a member's session and clear authentication cookies.

Publish Draft Schedule

Tool to publish a draft schedule for a Wix event.

Query Bookings Categories

Tool to retrieve bookings service categories with optional filtering, sorting, and pagination.

Query Contacts

Tool to retrieve up to 1,000 Wix contacts with advanced filtering, sorting, and pagination.

Query Coupons

Tool to retrieve a list of up to 100 coupons with optional paging, filtering, and sorting.

Query Deleted Forms

Tool to retrieve deleted form schemas from the trash bin for a specified namespace.

Query E-Commerce Orders

Tool to retrieve e-commerce orders with advanced filtering, sorting, and pagination.

Query Extended Bookings

Tool to retrieve up to 100 extended bookings with advanced filtering, sorting, and pagination.

Query Contact Facets

Tool to retrieve facets from the site's contact list by filter.

Query Site Folders

Tool to retrieve a list of site folders with optional paging, filtering, and sorting.

Query Form Submissions by Namespace

Tool to retrieve form submissions from a specified namespace with optional pagination.

Query Group Requests

Tool to query group creation requests with filtering, sorting, and pagination.

Query Inventory Items

Tool to retrieve a list of up to 1000 inventory items with optional paging, filtering, and sorting.

Query Locations

Tool to retrieve business locations with filtering, sorting, and pagination.

Query Loyalty Checkout Discounts

Tool to retrieve loyalty checkout discounts with filtering, sorting, and pagination.

Query Manual Tax Mappings

Tool to retrieve a list of up to 100 manual tax mappings with optional paging, filtering, and sorting.

Query Moderation Rules

Tool to retrieve moderation rules with optional filtering, sorting, and pagination.

Query Form Submissions by Namespace

Tool to retrieve form submissions from a specified namespace with advanced filtering, sorting, and pagination.

Query Tax Groups

Tool to retrieve a list of up to 100 tax groups with optional paging, filtering, and sorting.

Register V2

Tool to register a new member account on Wix site.

Remove Deleted Fields

Tool to permanently remove deleted fields from a Wix form schema.

Bulk Remove Info Sections By Filter

Tool to bulk remove info sections from products matching a filter expression.

Remove Tip From Order

Tool to remove a tip from an existing eCommerce order.

Reschedule Draft Schedule Items

Tool to reschedule all draft schedule items for an event at once.

Search Products

Tool to search products in the Wix store catalog using text search, filters, and sorting.

Send Recovery Email

Tool to send a password recovery email to a Wix member with a link to reset their password.

Set Customization Choices

Tool to set choices for a customization in Wix stores catalog.

Set Default Receipt Preset

Tool to set a receipt preset as the default in Wix.

Bulk Unassign Events from Categories

Tool to unassign an event from multiple categories in Wix Events.

Bulk Update Billable Items

Tool to bulk update billable items in Wix.

Bulk Update Customizations

Tool to bulk update multiple customizations in Wix Stores Catalog V3.

Bulk Update Storage Item Tags By Filter

Tool to bulk update tags on storage items matching filter criteria.

Update Business Contact

Tool to update a site's business contact information including email, phone, fax, and address.

Update Business Profile

Tool to update a site's business profile including display name, description, logo, and business name.

Update Business Schedule

Tool to update a site's business schedule including regular operating hours and special exceptions.

Bulk Update Contacts

Tool to bulk update multiple contacts with specified field values.

Bulk Update Translation Content By Key

Tool to bulk update translation content by composite key (schemaId, entityId, locale).

Bulk Update Inventory Items By Filter

Tool to bulk update inventory items by filter criteria.

Update inventory variants

Tool to update product inventory including quantity, stock status, and tracking settings per variant.

Update Question Entry Labels

Tool to set labels for a Wix FAQ question entry.

Update Locale Settings

Tool to update a Wix site's locale configuration settings including auto-redirect behavior.

Update Operation Group Tags By Filter

Tool to bulk update tags on operation groups using filter criteria.

Bulk Update Orders

Tool to bulk update properties of up to 100 e-commerce orders.

Bulk Update Order Tags

Tool to synchronously update tags on multiple orders by list of order IDs.

Bulk Update Products By Filter

Tool to bulk update multiple products matching filter criteria in Wix Stores.

Update Receipt Preset

Tool to update a receipt preset in Wix.

Update Referral Program

Tool to update a site's referral program configuration including name, rewards, and email settings.

Update Review Moderation Status

Tool to update the moderation status of a review.

Bulk Update Review Moderation Status

Tool to bulk update the moderation status of multiple reviews at once.

Update Moderation Rule

Tool to update a moderation rule in Wix Community Feedback Moderation.

Bulk Update Staff Member Tags By Filter

Tool to bulk update tags on Wix Bookings staff members by filter criteria.

Bulk Update Storage Item Tags

Tool to bulk update tags on multiple storage items in Wix automations.

FAQ

Frequently asked questions

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

Yes, you can. CrewAI 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 Wix tools.

Yes, absolutely. You can configure which Wix 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.

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 Wix data and credentials are handled as safely as possible.

Start with Wix.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Wix tool your agent needs.Free to start.

Start building