Skip to main content
Glama

Server Details

A Model Context Protocol server for Wix AI tools

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
wix/wix-mcp
GitHub Stars
13
Server Listing
Wix MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.5/5 across 21 of 21 tools scored. Lowest: 1/5.

Server CoherenceC
Disambiguation2/5

Multiple tools for documentation search (e.g., SearchWixRESTDocumentation, SearchWixAPISpec, SearchBuildAppsDocumentation) and API execution (CallWixSiteAPI, ExecuteWixAPI, ManageWixSite) have overlapping purposes, making it difficult for an agent to choose correctly without deep description reading.

Naming Consistency2/5

Tool names are inconsistent, mixing PascalCase (e.g., BrowseWixRESTDocsMenu, GetSuggestedDomains), camelCase (e.g., pullSiteCreationJob), and plain phrases (e.g., SupportAndFeedback). No consistent verb_noun pattern is followed.

Tool Count3/5

With 21 tools, the count is slightly heavy for the scope. Several tools are redundant (e.g., multiple search docs tools), but the overall breadth of Wix management justifies the number, though trimming would improve coherence.

Completeness3/5

The tool set covers documentation, API execution, site management, and media upload, but lacks direct high-level operations for common tasks like managing products or collections. Agents must rely on generic API call tools, which creates possible dead ends.

Available Tools

21 tools
BrowseWixRESTDocsMenuA
Read-only
Inspect

Browse the Wix REST API documentation menu hierarchy. Alternative to SearchWixRESTDocumentation - use this to explore and discover APIs by navigating the menu structure instead of searching by keywords.

  • Omit the menuUrl param to see top-level categories

  • Pass a menuUrl param to drill into a category - copy the URL from previous responses Example menuUrl param values for main Wix verticals:

  • Stores: "https://dev.wix.com/docs/api-reference/business-solutions/stores"

  • Bookings: "https://dev.wix.com/docs/api-reference/business-solutions/bookings"

  • CMS: "https://dev.wix.com/docs/api-reference/business-solutions/cms"

  • CRM: "https://dev.wix.com/docs/api-reference/crm"

  • eCommerce: "https://dev.wix.com/docs/api-reference/business-solutions/e-commerce"

  • Events: "https://dev.wix.com/docs/api-reference/business-solutions/events"

  • Blog: "https://dev.wix.com/docs/api-reference/business-solutions/blog"

  • Pricing Plans: "https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans"

  • Restaurants: "https://dev.wix.com/docs/api-reference/business-solutions/restaurants"

  • Media: "https://dev.wix.com/docs/api-reference/assets/media"

  • Site Properties: "https://dev.wix.com/docs/api-reference/business-management/site-properties"

YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesOne sentence describing the original user request and why you are browsing this part of the docs menu.
menuUrlNoURL of the menu to browse. Empty/omitted returns the root menu. Copy the URL from links in previous responses of this tool. Example: "https://dev.wix.com/docs/api-reference/ecommerce" or "https://dev.wix.com/docs/api-reference/ecommerce/catalog"
Behavior4/5

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

Annotations already indicate read-only/non-destructive behavior. The description adds valuable hierarchical navigation context: omitting menuUrl returns top-level categories while providing it drills into categories, and that URLs must be 'copy[ied] from previous responses' indicating stateful pagination behavior. It also lists concrete vertical examples showing the menu structure domain.

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

Conciseness3/5

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

The core tool description is well front-loaded and structured, but the inclusion of the extensive <agent-mandatory-instructions> XML block significantly increases length. While these workflow instructions may be necessary for agent operation, they reduce overall conciseness and contain information that might ideally reside in system prompts rather than tool descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a hierarchical navigation tool with no output schema, the description adequately explains the interaction pattern (copying URLs from previous responses to drill down) and provides concrete input examples. It covers the discovery workflow comprehensively, though explicit mention of return value structure would strengthen it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage establishing a baseline of 3. The description adds significant value by providing concrete example URLs for 11 different Wix verticals (Stores, Bookings, CMS, etc.) which illustrates the expected URL patterns and domain structure beyond the generic schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Browse the Wix REST API documentation menu hierarchy') and immediately distinguishes from sibling tool SearchWixRESTDocumentation by clarifying this is for 'navigating the menu structure instead of searching by keywords.' This provides exact scope and differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly identifies the alternative tool (SearchWixRESTDocumentation) and provides clear when-to-use guidance: use this for 'explore and discover APIs by navigating' versus search for keywords. Also includes specific instructions on parameter omission versus inclusion for different navigation modes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

CallWixSiteAPIA
Destructive
Inspect

Call Wix apis on a business or site. Use this to create, read, update, and delete data and other Wix entities in your Wix site. Prefer using the "ListWixSites" tool when the user asks to list or show their sites. Only use this tool for site listing if the user needs advanced filtering or specific site details beyond what ListWixSites provides. For POST/PATCH/PUT requests, pass the request body as a JSON object or array in the "body" parameter with all the required fields and values as described in the API schema, code examples, or docs you retrieved (e.g. body: {"name": "value", "nested": {"key": "value"}} or body: [{"key": "value"}]). Before accessing fields on a response object, know the exact shape — don't guess paths like result.id when the actual path might be result.results[0].item.id. If you fetched the method schema for the request body, include method.responses at the same time — it costs nothing and tells you exactly what fields come back. The API endpoint url param MUST ALWAYS be taken from the conversation context. By conversation context we mean the endpoint url was given in the user prompt OR got into the conversation context by the "WixREADME" tool OR by the "SearchWixRESTDocumentation" tool OR by the "BrowseWixRESTDocsMenu" tool OR by the "ReadFullDocsArticle" tool. Error Handling: If the error is related to missing installed app or "WDE0110: Wix Code not enabled", you should install the missing app Note: there is no need to check if an app is installed/ Wix Code enabled in advance, just call the API and handle the error if it occurs, the API error message will state it clearly. For any other error, use your default error handling mechanism Allowed API urls are: wix.com, dev.wix.com, manage.wix.com, editor.wix.com, wixapis.com Docs urls like https://dev.wix.com/docs/... are not api urls, if you want to read the docs, use the "ReadFullDocsArticle" tool YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe url of the api to call - ALWAYS get the API url from the Wix REST docs or from the conversation context, the URL MUST BE ABSOLUTE URL NEVER guess the API url, ALWAYS get it from the conversation context, i.e from the user prompt or from the "WixREADME" tool or from the "SearchWixRESTDocumentation" tool or from the "BrowseWixRESTDocsMenu" tool or from the "ReadFullDocsArticle" tool Allowed API urls are: wix.com, dev.wix.com, manage.wix.com, editor.wix.com, wixapis.com Docs urls like https://dev.wix.com/docs/... are not API urls, if you want to read the docs, use the "ReadFullDocsArticle" tool
bodyNoThe request body as a JSON object or array with all the required fields and values, including nested objects. Pass the actual value (object or array), NOT a JSON string. YOU MUST NEVER MAKE UP A BODY - the body should be based on the conversation context, i.e from the user prompt OR got into the conversation context by the "ReadFullDocsArticle" tool OR by the "SearchWixAPISpec" tool OR by the "ReadFullDocsMethodSchema" tool - i.e based on the API docs, a relevant recipe you read (preferably), a code example you found in the docs, a schema you read etc.. YOU MUST NEVER ASSUME YOU KNOW WHAT THE BODY SCHEMA IS WITHOUT CONCRETE EXAMPLES OR SCHEMA DEFINITIONS FROM THE CONVERSATION CONTEXT. Prefer reading relevant recipes if you have them in context for understand the body schema for API calls.
methodYesThe HTTP method to use for the API call (e.g. GET, POST, PUT, DELETE)
reasonYesOne sentence explaining the original user request and why you are calling this API to complete it.
siteIdYesThe id of the site selected using site selection tool
sourceDocUrlYesThe URL of the documentation or recipe where you found this API endpoint. MAKE SURE THE ENDPOINT URL IS REALLY THERE AND YOUR ARE NOT GUESSING IT !!! Must be a valid URL like: - https://dev.wix.com/docs/api-reference/... (REST API reference docs) Use "user-provided" if the user gave you the endpoint directly. Use "other" ONLY IF YOU HAVE A VERY GOOD REASON TO DO SO
Behavior4/5

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

Beyond annotations (destructiveHint: true), the description adds critical behavioral context: specific error handling for 'WDE0110: Wix Code not enabled', allowed API URL domains, the requirement to never guess URLs or make up request bodies, and that app installation checks are unnecessary in advance. Does not describe response format, but this is less critical for a generic API proxy.

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

Conciseness3/5

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

The description is lengthy and includes some repetition (conversation context requirements appear multiple times), but it is well-structured with bold headers, bullet points, and clear sections. Given the tool's complexity and destructive capabilities, the verbosity is justified by the need for precise safety instructions, though it could be slightly tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex generic API tool with no output schema, the description is exceptionally complete: it covers error handling workflows, integration with the broader tool ecosystem (WixREADME, BrowseWixRESTDocsMenu), mandatory agent instructions, URL validation rules, and specific constraints for all 6 parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% description coverage, the description adds crucial usage constraints and examples beyond the schema, such as specific JSON body formatting examples for POST/PATCH/PUT, emphasis that URLs must be absolute and never guessed, and that the sourceDocUrl must be validated against documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool performs CRUD operations ('create, read, update, and delete') on Wix entities and clearly distinguishes itself from siblings by directing users to 'Prefer using the ListWixSites tool' for site listing and 'ReadFullDocsArticle' for reading documentation URLs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use/when-not-to-use guidance (prefer ListWixSites for simple listing), detailed prerequisites ('The API endpoint url param MUST ALWAYS be taken from the conversation context'), and comprehensive workflow descriptions (Recipe Based, Conversation Context Based, etc.) covering multiple execution paths.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

CreateWixBusinessGuideA
Read-only
Inspect

You MUST use this tool when the user asks to create a site from a template or with a template. Do NOT use WixSiteBuilder for template-based site creation — use this tool instead.

Provides comprehensive documentation for creating a new Wix Business (i.e site, app, etc.) using templates.

When to Use This Tool

Use this tool when:

  • The user explicitly asks to create a site from a template or with a template

  • The WixSiteBuilder tool is not available

For all other site creation requests (no template mentioned), use WixSiteBuilder instead.

What This Tool Contains

This tool provides complete documentation including:

  • Template selection (empty sites or designed templates)

  • Wix Editor vs Wix Studio options

  • Regular vs Headless site creation

  • API endpoint details and parameters

  • Post-creation steps (OAuth for headless, publishing for regular sites)

  • App installation instructions

Important Notes

Do NOT use WixREADME or SearchWixRESTDocumentation before this tool. If the user wants to create a Wix site from a template, call this tool directly. It contains ALL necessary documentation.

After reading this documentation:

  1. Use ManageWixSite to create the site

  2. Use CallWixSiteAPI to install apps (if needed)

If the user wants to create a Wix site from a template, call this tool directly. It contains ALL necessary documentation. You don't need to search for additional documentation, read more articles, use the WixREADME tool etc unless the user asks you to do so explicitly or you encounter an error.

When calling this tool, always include the user's original prompt in the userPrompt parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
userPromptNoThe user prompt that triggered this tool
Behavior4/5

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

Annotations establish readOnlyHint=true (safe read operation). The description adds valuable context about what documentation is returned (template selection, Editor vs Studio, API endpoints, post-creation steps) and clarifies the two-step workflow (documentation then action). Does not contradict annotations.

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

Conciseness3/5

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

Well-structured with markdown headers (When to Use, What This Tool Contains, Important Notes), but suffers from significant repetition in the 'Important Notes' section where the same warning about not using other tools is restated three times with slight variations. Could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since no output schema exists, the description appropriately lists the documentation contents (templates, editor options, API details, post-creation steps) and explains the relationship to sibling tools in the workflow. Minor gap: does not specify the return format (markdown vs structured data).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema contains 0 parameters (empty properties object). Per calibration rules, 0 params baseline is 4. No parameter explanation needed or provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it 'Provides comprehensive documentation for creating a new Wix Business' and explicitly distinguishes itself from siblings like WixREADME and SearchWixRESTDocumentation by stating they should NOT be used before this tool. Also clearly differentiates from ManageWixSite (which actually creates the site) by positioning itself as documentation-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains explicit 'When to Use This Tool' section ('when the user requests to create a new Wix site'), clear exclusions ('Do NOT use WixREADME or SearchWixRESTDocumentation'), and named alternatives for the workflow ('After reading this documentation: 1. Use ManageWixSite to create the site'). Provides complete decision framework.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ExecuteWixAPIA
Destructive
Inspect

Execute JavaScript code against the Wix REST API.

CRITICAL CODE SHAPE:

  • The code parameter MUST be the function expression itself: async function() { ... } or async () => { ... }.

  • Do NOT send a script body like const result = await ...; return result;.

  • Do NOT call the function yourself. The tool calls it for you.

  • Put all const, await, and return statements inside the function body.

Do not rely on memory for Wix API endpoints, methods, schemas, or request bodies. Before writing code, use SearchWixAPISpec or the search, browse, read-docs, and schema tools to confirm the exact API URL, HTTP method, request body structure, schema field names, required fields, enum values, and auth context. Before accessing fields on a response object, know the exact shape — don't guess paths like result.id when the actual path might be result.results[0].item.id. When you fetch the method schema for the request body, include responses: method.responses at the same time — it costs nothing and tells you exactly what fields come back. When SearchWixAPISpec returns a method schema, use method.publicUrl for ExecuteWixAPI when available; do not use method.servers[0], which may be an internal Wix host. Pass the docs article, recipe, or schema URLs you used in the sourceDocUrls parameter. Then write code using wix.request(). Auth is handled automatically — do NOT set Authorization, wix-site-id, or wix-account-id headers.

This tool overlaps with CallWixSiteAPI and ManageWixSite: all can call Wix REST APIs. Use ExecuteWixAPI when code helps express the task: repeating one API call in a loop, paginating through results, transforming data between calls, branching on API responses, or chaining several related API calls in one operation.

Probing is useful when it is read-only: use GET/query/list/search calls to inspect existing state, resolve real IDs, confirm response shapes, or verify a previous write. For create/update/delete calls, search docs, read docs, and inspect schemas first; call the mutation only with real resolved inputs, and avoid using placeholder IDs or speculative mutation calls just to discover validation behavior or response shape. If a mutation succeeds but you need more details, use the returned data or follow up with a read-only GET/query; do not repeat the mutation only to get a different response shape.

Use wix.request({ method, url, body }) for API calls. Scope defaults to "site" when the ExecuteWixAPI siteId parameter is passed, otherwise "account". Set scope: "site" explicitly for site-level APIs, which is the common case for business domains such as Stores, Bookings, CRM, Forms, CMS, Events, and Blog. Set scope: "account" explicitly for account-level APIs such as Sites, Site Folders, Domains, and User Management, or when the docs/schema indicate account-level auth.

A single ExecuteWixAPI invocation can target at most one site. For site-level API calls, pass the site ID in the tool-level siteId parameter, not inside wix.request(). Do not use wix.request({ siteId: "..." }); per-request site switching is not supported.

Error handling: wix.request() throws when the Wix API returns an error. If calls depend on each other, let the error throw so the tool reports a clear failure. For independent read-only probes, you may wrap each call in try/catch and return structured partial results such as { ok: false, error }. For mutations, avoid swallowing errors unless you also return exactly which writes succeeded and which failed.

Available in your code:

interface WixRequestOptions {
  scope?: "site" | "account"; // Defaults to "site" with ExecuteWixAPI siteId, otherwise "account"
  method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
  url: string;           // Prefer method.publicUrl from SearchWixAPISpec, e.g. "https://www.wixapis.com/stores/v1/products/query"; paths like "/stores/v1/products/query" are resolved against https://www.wixapis.com
  body?: unknown;
  headers?: Record<string, string>;  // Do NOT set Authorization, wix-site-id, or wix-account-id
}

interface WixResponse<T = unknown> {
  status: number;
  data: T;
  json(): Promise<T>; // Fetch-compatible alias for data
}

declare const wix: {
  request<T = unknown>(options: WixRequestOptions): Promise<WixResponse<T>>;
};

declare const siteId: string | undefined; // Tool-level siteId passed to ExecuteWixAPI, if any.

Your code MUST be an async function expression that returns the result:

async () => {
  const response = await wix.request({
    method: "GET",
    url: "https://www.wixapis.com/<account-level-endpoint>"
  });
  return response.data;
}

The response is available as response.data. For compatibility with fetch-style code, await response.json() returns the same data. Return compact, task-focused data instead of raw API responses. For list/query/search endpoints, especially "list all" tasks or APIs that may return many items, paginate in code and map each item to the fields needed for the task. Include IDs, metadata, nested fields, or raw response fragments when they are needed to complete the task, disambiguate entities, verify mutations, or answer the user. If the user asks for names and types, return only names and types. For hundreds of items, avoid verbose JSON objects because repeated keys waste tokens; return compact strings such as "Name - TYPE" joined with newlines, or small tuples such as ["Name", "TYPE"]. If the user asks for a specific output value, include that value explicitly in the returned object so the final answer can report it. If you need to filter by a field, verify the endpoint supports that filter in the method docs/schema or related "Supported Filters and Sorting" docs; otherwise retrieve a bounded page and filter in JavaScript. When looking up an item by user-provided name, paginate/search until you find an exact name match; never update or delete the first result unless it exactly matches.

Example — site-level request with compact output:

async function() {
  const response = await wix.request({
    method: "POST",
    url: "https://www.wixapis.com/<site-level-endpoint>",
    body: {
      query: {
        cursorPaging: { limit: 100 }
      }
    }
  });

  const items = response.data.items ?? response.data.results ?? [];
  return {
    count: items.length,
    items: items.map(item => item.name + " - " + item.type).join("\
")
  };
}

Example — account-level request:

async function() {
  const response = await wix.request({
    scope: "account",
    method: "POST",
    url: "https://www.wixapis.com/<account-level-endpoint>",
    body: {
      query: {
        cursorPaging: { limit: 50 }
      }
    }
  });
  return response.data;
}

Example — independent read-only probes with partial results:

async function() {
  const checks = {};

  try {
    const products = await wix.request({
      scope: "site",
      method: "POST",
      url: "https://www.wixapis.com/<products-query-endpoint>",
      body: { query: { cursorPaging: { limit: 10 } } }
    });
    checks.products = {
      ok: true,
      count: (products.data.items ?? products.data.products ?? []).length
    };
  } catch (error) {
    checks.products = { ok: false, error: String(error) };
  }

  try {
    const collections = await wix.request({
      scope: "site",
      method: "POST",
      url: "https://www.wixapis.com/<collections-query-endpoint>",
      body: { query: { cursorPaging: { limit: 10 } } }
    });
    checks.collections = {
      ok: true,
      count: (collections.data.items ?? collections.data.collections ?? []).length
    };
  } catch (error) {
    checks.collections = { ok: false, error: String(error) };
  }

  return checks;
}

Example — chain related mutation calls and fail fast on API errors:

async function() {
  const list = await wix.request({
    scope: "site",
    method: "POST",
    url: "https://www.wixapis.com/<query-endpoint>",
    body: { query: { cursorPaging: { limit: 20 } } }
  });

  const items = list.data.items ?? [];
  const match = items.find(item => item.name === "Target name");
  if (!match) {
    return { error: "NOT_FOUND", available: items.map(item => ({ id: item.id, name: item.name })) };
  }

  const updated = await wix.request({
    scope: "site",
    method: "PATCH",
    url: `https://www.wixapis.com/<update-endpoint>/${match.id}`,
    body: {
      item: {
        id: match.id,
        revision: match.revision,
        name: "Updated name"
      }
    }
  });

  return {
    id: updated.data.item?.id,
    name: updated.data.item?.name,
    revision: updated.data.item?.revision
  };
}
ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript async function expression to execute against the Wix REST API. The value must be the function itself, for example `async function() { ... }` or `async () => { ... }`, not a script body and not an invoked function. Return the final answer from inside the function. Do not write top-level `const`, top-level `await`, or top-level `return` outside the function body. Use `wix.request({ method, url, body })` for Wix API calls. Scope defaults to `site` when the ExecuteWixAPI `siteId` parameter is passed, otherwise `account`; set `scope` explicitly when needed. Full Wix API URLs and paths starting with `/` are supported. Do not pass `siteId` inside `wix.request()`; one ExecuteWixAPI call can target only the tool-level `siteId`.
reasonYesOne sentence explaining the original user request and why you are executing code to complete it.
siteIdNoWix site ID for site-level API calls. Required when using `wix.request({ scope: "site", ... })`. One ExecuteWixAPI call can target only this siteId; per-request siteId inside `wix.request()` is not supported. Find site IDs using ListWixSites or an account-level `wix.request()` call to query the Sites API.
hasMutationsYesWhether this code creates, updates, deletes, publishes, installs, imports, uploads, or otherwise mutates Wix data or site/account state. Set this to true for create/update/delete/bulk create/import/upload calls even if the reason is inspection, verification, or response-shape discovery. Read-only GET/query/list/search calls can use false.
sourceDocUrlsYesThe URLs of the documentation, recipes, API articles, or schema sources where you confirmed the Wix REST endpoints, HTTP methods, request body shapes, auth contexts, and required fields used by this code. Include every docs/schema source needed for the endpoints and request shapes used in the code. MAKE SURE THE ENDPOINT URLS AND REQUEST SHAPES ARE REALLY THERE AND YOU ARE NOT GUESSING THEM !!! Each value must be a valid URL like: - https://dev.wix.com/docs/api-reference/... (REST API reference docs) Use ["user-provided"] if the user gave you all endpoint and request details directly. Use ["other"] ONLY IF YOU HAVE A VERY GOOD REASON TO DO SO
Behavior4/5

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

Annotations indicate destructiveHint=true, and the description confirms mutation with the hasMutations parameter. It also discloses that auth is handled automatically and warns against setting certain headers, adding behavioral context beyond annotations.

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

Conciseness4/5

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

The description is long but well-structured with sections, examples, and bullet points. While every sentence serves a purpose, it could be slightly more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a code-execution tool with multiple request methods and no output schema, the description comprehensively covers usage, error handling, pagination, and output formatting, leaving little ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds rich context for each parameter: code parameter includes full example blocks, reason explains its purpose, siteId details how to obtain it, and hasMutations clarifies the mutating nature. The examples illustrate usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute JavaScript code against the Wix REST API.' It distinguishes this tool from its siblings (CallWixSiteAPI, ManageWixSite) by specifying when to use it: for tasks requiring loops, pagination, branching, or chaining.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool vs. alternatives, including how to choose between siteRequest and accountRequest based on curl headers, and mentions the prerequisite of inspecting endpoint shape via REST documentation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GetSuggestedDomainsGet Suggested DomainsB
Read-only
Inspect

Suggest available domain names. Provide either a free-text query (e.g. "pancakes business", "modern yoga studio") OR a siteId to auto-suggest based on the site name. At least one of query or siteId is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tldsNoFilter by specific TLDs (e.g. ["com", "net"]). Do not include the dot.
limitNoNumber of suggestions to return (default: 10, max: 20)
queryNoFree-text keywords, business idea, or brand concept to base suggestions on. Use the user's own words.
siteIdNoSite ID to auto-suggest a domain based on the site name. Used when suggesting domains after site creation.
Behavior3/5

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

Annotations indicate read-only, non-destructive, and closed-world behavior, which the description doesn't contradict. The description adds minimal context beyond annotations by specifying it's for 'suggested domain names,' but doesn't detail rate limits, authentication needs, or output format. With annotations covering safety, it meets baseline expectations without rich behavioral disclosure.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's function without redundancy. It's front-loaded with the core purpose and appropriately sized, with no wasted words or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has annotations covering safety (read-only, non-destructive) and a simple input schema with full coverage, the description is minimally adequate. However, with no output schema, it doesn't explain return values like suggestion format or examples, leaving gaps in completeness for a tool that generates domain names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with one parameter ('siteId'), so the schema fully documents it. The description adds no additional parameter details beyond implying the site name influences suggestions, but doesn't explain format or constraints. Baseline score of 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get suggested domain names') and the resource ('for a Wix site based on the site name'). It specifies the verb and target, but doesn't differentiate from sibling tools like 'ManageWixSite' or 'ListWixSites' which might also involve domains. The purpose is clear but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. The description implies usage when needing domain suggestions, but doesn't mention prerequisites, exclusions, or when to choose other tools like 'ManageWixSite' for domain management. It's a basic statement with no contextual advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ListWixSitesA
Read-only
Inspect

Use this tool whenever the user asks to list, show, get, or find their Wix sites. This is the dedicated tool for listing Wix sites for the current user. By default it returns all sites, but you can filter by name.

Do NOT use WixREADME before this tool. When the user asks to list their sites, call this tool directly — no need to read documentation first.

Prefer this tool over CallWixSiteAPI for listing sites. Call this tool directly — it already knows the correct API and handles everything needed. Only fall back to CallWixSiteAPI if the user needs advanced filtering or specific site details beyond what this tool provides. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
nameSearchNooptional filer by name, if not provided all sites will be returned
Behavior4/5

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

Annotations already indicate read-only/non-destructive operations, but the description adds valuable behavioral context: it notes the tool 'returns all sites' by default, handles the 'correct API' internally, and manages everything needed for the operation. No contradictions with annotations.

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

Conciseness2/5

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

While the first section is well-structured, the description is severely bloated by a massive XML-like block of 'agent-mandatory-instructions' (including flow descriptions and system guidelines) that constitutes the majority of the text. This content belongs in system prompts, not tool descriptions, creating significant noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple listing operation with good annotations, but lacks description of return values (what site properties are returned?) despite having no output schema. The filtering behavior and default scope are covered, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage ('optional filer by name'), the schema adequately documents the parameter. The description mentions 'you can filter by name' which aligns with but does not substantially augment the schema's explanation. Baseline 3 appropriate since schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool 'lists Wix sites for the current user' with specific trigger verbs (list, show, get, find). It clearly distinguishes itself from siblings by stating it is the 'dedicated tool for listing' and explicitly contrasting with CallWixSiteAPI and WixREADME.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides exceptional guidance with explicit 'Do NOT use WixREADME before this tool' and 'Prefer this tool over CallWixSiteAPI' instructions. It defines exact fallback conditions ('Only fall back to CallWixSiteAPI if...') and specifies when to skip documentation reading entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ManageWixSiteB
Destructive
Inspect

Use account level API in order to create a site, update a site and publish site. For POST/PATCH/PUT requests, pass the request body as a JSON object or array in the "body" parameter with all the required fields and values as described in the API schema, code examples, or docs you retrieved (e.g. body: {"name": "value", "nested": {"key": "value"}} or body: [{"key": "value"}]). The API endpoint url param MUST ALWAYS be taken from the conversation context. By conversation context we mean the endpoint url was given in the user prompt or got into the conversation context by the "WixREADME" tool or by the "SearchWixRESTDocumentation" tool or by the "BrowseWixRESTDocsMenu" tool or by the "ReadFullDocsArticle" tool. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe url of the api to call - ALWAYS get the information from the Wix REST docs DONT GUESS IT, the URL MUST BE ABSOLUTE URL
bodyNoThe request body as a JSON object or array with all the required fields and values, including nested objects. Pass the actual value (object or array), NOT a JSON string. YOU MUST NEVER MAKE UP A BODY - this should be based on the conversation context, i.e from the user prompt or from the "WixREADME" tool or from the "SearchWixRESTDocumentation" tool or from the "BrowseWixRESTDocsMenu" tool or from the "ReadFullDocsArticle" tool or from the "SearchWixAPISpec" tool or from the "ReadFullDocsMethodSchema" tool - i.e based on the API docs. YOU MUST NEVER ASSUME YOU KNOW WHAT THE SCHEMA IS WITHOUT CONCRETE EXAMPLES OR SCHEMA DEFINITIONS FROM THE CONVERSATION CONTEXT.
methodYesThe HTTP method to use for the API call (e.g. GET, POST, PUT, DELETE)
Behavior4/5

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

Beyond annotations (destructiveHint: true), the description adds critical behavioral constraints: URLs must be sourced from conversation context (never guessed), and body parameters must never be fabricated but derived from documentation tools. These warnings about parameter sourcing add valuable safety context.

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

Conciseness2/5

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

The description is excessively verbose, embedding system-level agent instructions (XML-like tags for <goal>, <guidelines>, <flow-description>) that belong in the system prompt rather than tool description. The high signal-to-noise ratio makes it difficult to extract the core tool contract quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 3-parameter tool without output schema, the description adequately covers input requirements and sourcing constraints. However, it omits any discussion of return values, error handling patterns, or idempotency considerations expected for site management operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. The description adds significant value by specifying that the URL must come from specific documentation tools (WixREADME, BrowseWixRESTDocsMenu, etc.), explaining body format with concrete JSON examples, and warning against stringified JSON—content not present in the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool creates, updates, and publishes sites, but conflates this specific purpose with generic HTTP client capabilities (accepting any URL/method). It fails to clarify the scope relative to sibling tool CallWixSiteAPI, leaving ambiguity about which API caller to use for site management versus other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description provides extensive workflow instructions (when to use WixREADME, flow descriptions), it offers no explicit guidance on when to choose this tool over CallWixSiteAPI or other siblings. The 'agent-mandatory-instructions' focus on general agent behavior rather than tool selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pullSiteCreationJobPull Site JobA
Read-only
Inspect

Poll the status of a site creation or editing job. Do not call this tool unless the user explicitly asks for status polling.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesThe job ID to pull
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, which the description confirms with 'Poll.' The description adds valuable behavioral context beyond annotations: it clarifies the tool works for 'editing' jobs as well as creation (resolving ambiguity in the tool name), and imposes the critical behavioral constraint requiring explicit user consent for polling.

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

Conciseness5/5

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

Two sentences, zero waste. The first states purpose immediately; the second states the critical usage constraint. Information is front-loaded with no filler, qualifying as excellent technical writing for agent consumption.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 param), high schema coverage (100%), and safety annotations covering the read-only nature, the description provides adequate context. It appropriately clarifies scope (creation + editing). Minor gap: lacking description of return values/status formats since no output schema exists, though 'Poll the status' provides sufficient hint for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage for the single 'jobId' parameter ('The job ID to pull'), the schema carries the semantic burden adequately. The description implies the jobId relates to creation/editing jobs but does not add syntax details, format requirements, or provenance guidance (e.g., where the jobId comes from) beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Poll the status of a site creation or editing job,' providing a specific verb and resource. It distinguishes from siblings like ManageWixSite or CallWixSiteAPI by specifying this is for asynchronous job status polling. However, it could explicitly mention this handles long-running/asynchronous operations to fully clarify the polling context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-not guidance: 'Do not call this tool unless the user explicitly asks for status polling.' This strong constraint prevents inappropriate auto-polling behavior and clearly defines the invocation condition, satisfying the requirement for explicit usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ReadFullDocsArticleA
Read-only
Inspect

Fetches the full Wix docs article or method article with code examples for using the method. Docs articles looks like this: https://dev.wix.com/docs/... and they can either be general docs articles or method articles. For REST docs, use the URL as-is. For SDK docs, the URL SHOULD include ?apiView=SDK. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
articleUrlYesThe URL of the docs article or method article to fetch. Should be something like https://dev.wix.com/docs/.../... For REST docs, use the URL as-is. For SDK docs, the URL SHOULD include the query param ?apiView=SDK (e.g. https://dev.wix.com/docs/...?apiView=SDK).
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool retrieves 'code examples' alongside articles, which hints at return content structure. However, it lacks disclosure of error behaviors (e.g., invalid URL handling), rate limits, caching policies, or content format (HTML vs Markdown). The extensive XML blocks describe agent workflow, not tool behavior.

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

Conciseness2/5

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

While the core description is concise (first two sentences), the majority of the text consists of extensive XML-tagged agent instructions (<agent-mandatory-instructions>, <flow-description>) that severely bloat the description. Despite being useful for agent routing, this structure sacrifices conciseness—the tool's actual behavioral description is less than 10% of the total text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description adequately compensates by specifying that the tool returns 'full' articles containing 'code examples,' giving the agent sufficient context to understand the return value's utility. Given the single parameter (100% documented) and clear read-only annotations, the description provides enough context for correct invocation, though it could specify the content format (JSON, HTML, etc.).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage for the single articleUrl parameter, the baseline is 3. The description mentions that 'Docs articles looks like this: https://dev.wix.com/docs/...' which reinforces the URL format expectation, but adds no additional validation rules, required prefixes, or semantic constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Fetches the full Wix docs article or method article with code examples,' providing specific verb (fetches), resource (docs articles), and scope (full content with code examples). The embedded flow instructions explicitly distinguish it from siblings like ReadFullDocsMethodSchema (used when no code examples found) and BrowseWixRESTDocsMenu (used for discovery).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The <flow-description> and <guidelines> sections provide explicit when-to-use instructions across multiple scenarios (Recipe Based, Example Based, Schema Based Fallback), detailing exactly when to invoke this tool versus alternatives like ReadFullDocsMethodSchema, BrowseWixRESTDocsMenu, or WixREADME. It includes clear exception handling and decision trees.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ReadFullDocsMethodSchemaA
Read-only
Inspect

Fetches the full method schema for a given method. This will give you the entire request/response schema with all the fields and their descriptions. For REST API methods, prefer SearchWixAPISpec when it is available: it can fetch and inspect the exact method schema by docs URL, return the request/response shape, and inspect selected nested component schemas without dumping unrelated fields. Use ReadFullDocsMethodSchema for REST only when SearchWixAPISpec is unavailable or did not provide the needed detail. For REST docs, use the URL as-is. For SDK docs, the URL SHOULD include ?apiView=SDK. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesOne sentence describing the original user request, the task you are trying to accomplish, and why you need the full schema (e.g., no relevant code example found in docs or recipes).
articleUrlYesThe URL of the documentation to fetch. Should be something like https://dev.wix.com/docs/.../... For REST docs, use the URL as-is. For SDK docs, the URL SHOULD include the query param ?apiView=SDK (e.g. https://dev.wix.com/docs/...?apiView=SDK).
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing this is a safe read operation. The description adds value by disclosing what the return payload contains ('entire request/response schema'), but does not elaborate on rate limits, caching behavior, or error conditions beyond what the annotations imply.

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

Conciseness2/5

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

The description is severely bloated, mixing extensive XML agent-mandatory-instructions (goals, guidelines, flow descriptions) with the actual tool definition. While the first two sentences are appropriately front-loaded, the massive instruction block creates poor information architecture; operational workflows belong in system prompts, not tool descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description compensates by explaining the return value ('entire request/response schema'). Combined with 100% input parameter coverage and comprehensive workflow context explaining when/why to invoke the tool, it provides sufficient information for correct agent operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The schema fully documents both articleUrl (with format example) and reason (with usage rationale). The description provides workflow context that indirectly supports the 'reason' parameter's purpose, but adds no direct semantic information beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first two sentences clearly state the tool 'Fetches the full method schema for a given method' and specify it returns 'the entire request/response schema with all the fields and their descriptions.' It distinguishes from sibling ReadFullDocsArticle within the flow description section (used when code examples aren't found), though this differentiation is buried in the XML instructions rather than in the opening definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit workflow guidance under 'SCHEMA BASED, FALLBACK' and 'FULL SCHEMA BASED' sections, clearly stating when to use this tool versus ReadFullDocsArticle (used when 'no method code examples found'). It outlines the exact fallback position in the decision tree and contrasts with recipe-based and example-based approaches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchBuildAppsDocumentationD
Read-only
Inspect
ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Build Apps Documentation
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixAPISpecA
Read-only
Inspect

Search and inspect the Wix REST API documentation/spec by writing JavaScript code that runs in a sandboxed read-only environment. This tool overlaps with SearchWixRESTDocumentation, BrowseWixRESTDocsMenu, ReadFullDocsArticle, and ReadFullDocsMethodSchema: use any of them to discover Wix REST endpoints, schemas, examples, and related docs. Prefer SearchWixAPISpec over ReadFullDocsMethodSchema for REST method schemas when it is available, especially after you already have a docs URL from semantic search, menu browsing, or conversation context.

Prefer URL-first results:

  • If you have a docs URL or partial docs URL, search resource.docsUrl and method.docsUrl first.

  • If you have a method docs URL and need the request/response shape, call getResourceSchemaByUrl(methodDocsUrl) in this tool and return the selected method schema directly.

  • For API execution, return and use method.publicUrl when available. It is the preferred executable https://www.wixapis.com/... URL.

  • Return docsUrl for relevant resources/methods when the next step needs an article or API call source URL; do not hand off to ReadFullDocsMethodSchema just to inspect a REST method schema.

  • Use resourceId only as the internal handle for low-level loaders; prefer URL helpers when you have a docs URL.

Your code has access to these globals:

lightIndex — Current lightweight REST API resource array:

interface LightIndex extends Array<LightResource> {
  updatedAt?: string; // ISO timestamp for when spec sync generated this index
}

interface LightResource {
  name: string;           // e.g. "Products V3", "Contact V4"
  resourceId: string;     // internal handle for getResourceSchema()
  docsUrl: string;        // e.g. "https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3"
  menuPath: string[];     // e.g. ["business-solutions", "stores", "catalog-v3", "products-v3"]
  methods: Array<{
    operationId: string;  // e.g. "wix.stores.catalog.v3.CatalogApi.CreateProduct"
    summary: string;      // e.g. "Create Product"
    httpMethod: string;   // "get" | "post" | "patch" | "delete"
    path: string;         // e.g. "/v3/products"
    docsUrl?: string;     // e.g. "https://dev.wix.com/docs/api-reference/.../query-products"
    publicUrl?: string;   // preferred executable URL for ExecuteWixAPI, when available after spec sync
    publicBaseUrl?: string;
    description: string;  // truncated to 200 chars
  }>;
}

getResourceSchemaByUrl(docsUrl) and getResourceSchema(resourceId) return the full schema for a resource:

interface FullSchema {
  title: string;
  description: string;
  fqdn: string;
  docsUrl?: string;
  methods: Array<{
    summary: string;
    description: string;
    operationId: string;
    httpMethod: string;
    path: string;
    docsUrl?: string;
    publicUrl?: string;                     // Preferred executable URL for ExecuteWixAPI, e.g. "https://www.wixapis.com/..."
    publicBaseUrl?: string;                 // Public Wix APIs base URL used to derive publicUrl
    servers: Array<{ url: string }>;           // Base URLs (e.g. "https://www.wixapis.com/...")
    requestBody: object | null;
    responses: object;
    parameters: Array<object>;
    permissions: string[];
    legacyExamples: Array<{                    // Curl examples
      content: { title: string; request: string; response: string };
    }>;
  }>;
  components: { schemas: object };
}

articles — Array of all Wix documentation articles (~1000 guides, tutorials, concepts):

interface LightArticle {
  name: string;           // e.g. "About the Wix API Query Language"
  resourceId: string;
  docsUrl: string;        // e.g. "https://dev.wix.com/docs/api-reference/articles/..."
  menuPath: string[];     // e.g. ["work-with-wix-apis", "data-retrieval", "about-the-wix-api-query-language"]
  description: string;    // first ~200 chars of the article content
}

getResourceSchemaByUrl(docsUrl) — Async function returning the full schema for the resource or method docs URL.

getResourceSchema(resourceId) — Lower-level async function returning the full schema for a resource ID. Prefer getResourceSchemaByUrl(docsUrl) when you have a docs URL.

getArticleContentByUrl(docsUrl) — Async function returning the full markdown content of an article docs URL (string).

getArticleContent(resourceId) — Lower-level async function returning the full markdown content of an article resource ID. Prefer getArticleContentByUrl(docsUrl) when you have a docs URL.

Articles and API resources share the same menuPath hierarchy. Use menuPath to find related articles and APIs within the same domain.

Your code MUST be an async function() expression that returns a value.

app-management [11 resources]: oauth-2, app-billing, app-instance, embedded-scripts, site-plugins, app-permissions, market-listing, bi-event business-solutions [152 resources]: e-commerce, stores, bookings, cms, events, restaurants, blog, forum, pricing-plans, portfolio, benefit-programs, donations, suppliers-hub, gift-cards, coupons assets [4 resources]: media, pro-gallery, rich-content crm [58 resources]: members-contacts, forms, community, communication, loyalty-program, crm business-management [101 resources]: ai-site-chat, analytics, app-installation, automations, async-job, branches, calendar, cookie-consent-policy, captcha, custom-embeds, dashboard, functions, faq-app, data-extension-schema, get-paid, headless, marketing, locations, multilingual, notifications, online-programs, payments, site-search, site-properties, site-urls, tags, secrets account-level [17 resources]: sites, domains, resellers, user-management, b2b-site-management site [2 resources]: viewer

Important schema guidance:

  • For ExecuteWixAPI, use method.publicUrl when available. It is the preferred executable https://www.wixapis.com/... URL for that method.

  • Do not use method.servers[0] to build execution URLs. method.servers includes internal Wix hosts such as www.wix.com, manage.wix.com, and editor hosts.

  • method.path is usually an internal relative path, such as /v3/items/{item.id}. Use it for matching/debugging, not as the primary execution URL when method.publicUrl exists.

  • Do not exact-match full Wix API URLs against method.path.

  • Search docs URLs first when you have them. Search broadly across resource.name, resource.docsUrl, resource.menuPath.join("/"), method.summary, method.operationId, method.description, method.path, and method.docsUrl only when you still need discovery.

  • Method schemas can contain { "$circular": "TypeName" } references. Use schema.components.schemas[TypeName] to inspect selected nested types. Avoid dumping huge fully-expanded schemas unless necessary.

  • When inspecting a specific method schema (i.e. you have found a single method and are returning its details), always include responses: method.responses alongside requestBody. Knowing the response shape up front prevents speculative re-runs of mutations just to see what the API returned.

Examples:

Inspect one method schema by exact docs URL:

async function() {
  const methodUrl = "https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/query-products";

  const schema = await getResourceSchemaByUrl(methodUrl);
  const method = schema.methods.find(method => method.docsUrl === methodUrl);

  if (!method) {
    return {
      message: "Found the resource, but no exact method URL match. Returning available methods.",
      resourceDocsUrl: schema.docsUrl,
      methods: schema.methods.map(method => ({
        title: method.summary,
        docsUrl: method.docsUrl,
        httpMethod: method.httpMethod.toUpperCase(),
        publicUrl: method.publicUrl,
        path: method.path
      }))
    };
  }

  return {
    title: method.summary,
    docsUrl: method.docsUrl,
    resourceDocsUrl: schema.docsUrl,
    publicUrl: method.publicUrl,
    publicBaseUrl: method.publicBaseUrl,
    httpMethod: method.httpMethod.toUpperCase(),
    path: method.path,
    operationId: method.operationId,
    permissions: method.permissions,
    parameters: method.parameters,
    requestBody: method.requestBody,
    responses: method.responses,
    curlExamples: method.legacyExamples?.map(example => example.content)
  };
}

Inspect one resource by resource docs URL:

async function() {
  const resourceUrl = "https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3";

  const schema = await getResourceSchemaByUrl(resourceUrl);

  return {
    resource: schema.title,
    docsUrl: schema.docsUrl,
    description: schema.description,
    methods: schema.methods.map(method => ({
      title: method.summary,
      docsUrl: method.docsUrl,
      httpMethod: method.httpMethod.toUpperCase(),
      publicUrl: method.publicUrl,
      path: method.path,
      operationId: method.operationId
    }))
  };
}

Inspect one method from a partial docs URL:

async function() {
  const partialUrl = "stores/catalog-v3/products-v3/query-products";

  const resource = lightIndex.find(resource =>
    resource.docsUrl.includes(partialUrl) ||
    resource.methods.some(method => method.docsUrl?.includes(partialUrl))
  );

  if (!resource) return "No API resource found for this partial docs URL";

  const schema = await getResourceSchemaByUrl(
    resource.methods.find(method => method.docsUrl?.includes(partialUrl))?.docsUrl ??
      resource.docsUrl
  );
  const method = schema.methods.find(method =>
    method.docsUrl?.includes(partialUrl)
  );

  if (!method) {
    return {
      message: "Found the resource, but no exact method match.",
      resource: resource.name,
      resourceDocsUrl: resource.docsUrl,
      methods: schema.methods.map(method => ({
        title: method.summary,
        docsUrl: method.docsUrl,
        httpMethod: method.httpMethod.toUpperCase(),
        publicUrl: method.publicUrl,
        path: method.path
      }))
    };
  }

  return {
    title: method.summary,
    docsUrl: method.docsUrl,
    resource: resource.name,
    resourceDocsUrl: resource.docsUrl,
    httpMethod: method.httpMethod.toUpperCase(),
    publicUrl: method.publicUrl,
    publicBaseUrl: method.publicBaseUrl,
    path: method.path,
    requestBody: method.requestBody,
    responses: method.responses,
    curlExamples: method.legacyExamples?.map(example => example.content)
  };
}

Expand selected nested schema refs:

async function() {
  const methodUrl = "https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/query-products";
  const schema = await getResourceSchemaByUrl(methodUrl);
  const method = schema.methods.find(method => method.docsUrl === methodUrl);

  return {
    title: method.summary,
    docsUrl: method.docsUrl,
    requestBody: method.requestBody,
    selectedNestedTypes: {
      product: schema.components.schemas["com.wix.stores.catalog.product.api.v3.Product"],
      cursorPaging: schema.components.schemas["wix.stores.catalog.v3.upstream.wix.common.CursorPaging"],
      sorting: schema.components.schemas["wix.stores.catalog.v3.upstream.wix.common.Sorting"]
    }
  };
}

Advanced: bounded recursive expansion for one method. Use only when top-level schema and selected nested refs are not enough; keep depth small because schemas can become very large.

async function() {
  const methodUrl = "https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/query-products";
  const schema = await getResourceSchemaByUrl(methodUrl);
  const method = schema.methods.find(method => method.docsUrl === methodUrl);

  function expandRefs(value, depth = 0, seen = []) {
    if (depth > 3) return value;
    if (Array.isArray(value)) return value.map(item => expandRefs(item, depth, seen));
    if (!value || typeof value !== "object") return value;

    if (value.$circular) {
      const refName = value.$circular;
      if (seen.includes(refName)) return { $ref: refName, circular: true };

      const target = schema.components?.schemas?.[refName];
      if (!target) return { $ref: refName, missing: true };

      return {
        $ref: refName,
        schema: expandRefs(target, depth + 1, seen.concat(refName))
      };
    }

    return Object.fromEntries(
      Object.entries(value).map(([key, nested]) => [
        key,
        expandRefs(nested, depth, seen)
      ])
    );
  }

  return {
    title: method.summary,
    docsUrl: method.docsUrl,
    httpMethod: method.httpMethod.toUpperCase(),
    publicUrl: method.publicUrl,
    path: method.path,
    requestBody: expandRefs(method.requestBody),
    responses: expandRefs(method.responses)
  };
}

Find APIs by broad keywords when you do not have a docs URL:

async function() {
  const words = ["stores", "query", "products"];
  return lightIndex.flatMap(resource =>
    resource.methods
      .filter(method => {
        const haystack = [
          resource.name,
          resource.docsUrl,
          resource.menuPath.join("/"),
          method.summary,
          method.operationId,
          method.description,
          method.path,
          method.docsUrl
        ].join(" ").toLowerCase();
        return words.every(word => haystack.includes(word));
      })
      .map(method => ({
        title: method.summary,
        docsUrl: method.docsUrl,
        resource: resource.name,
        resourceDocsUrl: resource.docsUrl,
        resourceId: resource.resourceId,
        operationId: method.operationId,
        httpMethod: method.httpMethod.toUpperCase(),
        publicUrl: method.publicUrl,
        path: method.path
      }))
  );
}
ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript async function() expression to search the Wix API index. Has access to `lightIndex` (array of resources) and `getResourceSchema(resourceId)` (returns full schema).
reasonYesOne sentence describing the original user request and why you are searching or inspecting the Wix API spec.
Behavior5/5

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

The description discloses that the environment is read-only, consistent with annotations. It explains the code execution model, access to globals like lightIndex, and behavioral traits such as handling circular references. No contradictions with annotations.

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

Conciseness4/5

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

The description is lengthy due to the tool's complexity, but it is well-structured with clear sections, examples, and front-loaded purpose. Every part adds value, though it could be slightly more concise without losing essential guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of output schema, the description is remarkably complete. It covers purpose, usage, globals, examples, warnings about URLs and circular refs, and explains return values through examples, leaving no significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds extensive meaning beyond the input schema, detailing that `code` is an async function expression with access to specific globals, and `reason` is a one-sentence explanation. It provides numerous code examples and best practices, far exceeding the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as searching and inspecting Wix REST API documentation by writing JavaScript code in a sandboxed read-only environment. It lists overlapping sibling tools and provides guidance on when to use each, distinguishing it effectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use and when-not-to-use guidance, including preferring URL-first results and preferring this tool over ReadFullDocsMethodSchema for method schemas. It also includes detailed examples showing typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixCLIDocumentationA
Read-only
Inspect

Searches the Wix CLI documentation for website development and CLI commands. Use this tool when you need information about Wix CLI commands, local development workflows, or CLI-based website development. Specify what you need information about (e.g., 'wix dev command', 'local development setup', 'CLI authentication', 'wix deploy'). If you can't find what you need, try to rephrase your search term or use bigger maxResults value. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesOne sentence describing the original user request and the task you are trying to accomplish with this search.
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Wix CLI Documentation
Behavior3/5

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

Annotations confirm readOnlyHint=true and destructiveHint=false, which align with the 'search' operation described. The description adds behavioral context about rephrasing search terms if results are insufficient, but does not describe the return format, result structure, or pagination behavior beyond the maxResults parameter.

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

Conciseness2/5

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

The functional description is front-loaded and efficient, but the field contains a massive block of agent-mandatory-instructions (XML-like tags with workflow flows) that appears to be generic system guidance rather than tool-specific description. This severely bloats the description and buries the relevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 100% schema coverage and read-only annotations, the description adequately covers the tool's purpose. However, it lacks description of return values (no output schema present), and the embedded workflow instructions, while providing some contextual integration, are improperly placed within the description field.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the input schema has 100% description coverage, the description adds valuable concrete examples of search terms ('wix dev command', 'CLI authentication', 'wix deploy') that guide the agent toward effective query formulation beyond the generic schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Searches the Wix CLI documentation' with specific focus on 'website development and CLI commands', distinguishing it from sibling documentation search tools (REST, SDK, Headless, etc.) by the 'CLI' qualifier. However, it could more explicitly contrast when to use CLI docs versus other documentation types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('Use this tool when you need information about Wix CLI commands...') with concrete examples ('wix dev command', 'local development setup'). Includes troubleshooting advice (rephrasing, maxResults). Lacks explicit 'when not to use' comparisons to sibling documentation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixHeadlessDocumentationD
Read-only
Inspect
ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Headless Documentation
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixRESTDocumentationA
Read-only
Inspect

Searches the official Wix REST API documentation. Use this tool whenever you need to to interact with the Wix platform via HTTP requests. Specify the API endpoint, resource, or action you need information about (e.g., 'get site details endpoint', 'create data collection', 'update product API', 'REST authentication'). If you can't find what you need, try to rephrase your search term or use bigger maxResults value. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesOne sentence describing the original user request and the task you are trying to accomplish with this search.
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Wix REST API Documentation
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing the safe read-only nature. The description adds context about the search scope (official Wix REST API documentation) and suggests rephrasing search terms if results are insufficient, but does not disclose search behavior specifics (fuzzy matching, ranking algorithm, result format) beyond what the annotations imply.

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

Conciseness2/5

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

The description is extremely bloated due to the large <agent-mandatory-instructions> block containing workflow documentation. While every sentence may be necessary for agent operation, the overall size is inappropriate for a tool description field, creating signal-to-noise issues. It is appropriately front-loaded (actual description first), but the XML-structured instructions severely harm readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the Wix ecosystem (17 sibling tools), the description provides comprehensive contextual mapping by explicitly referencing related tools (BrowseWixRESTDocsMenu, ReadFullDocsArticle, CallWixSiteAPI, WixREADME) and documenting four distinct usage flows. No output schema exists, so return value explanation is not expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds significant value by providing concrete search term examples ('get site details endpoint', 'create data collection', 'REST authentication') that clarify expected input syntax, and explicitly mentions the maxResults parameter in the retry guidance ('use bigger maxResults value').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear specific verb and resource ('Searches the official Wix REST API documentation'), distinguishing it from sibling search tools like SearchWixSDKDocumentation. However, the purpose is diluted by the massive embedded agent instruction block that follows, which shifts focus from tool description to operational workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('whenever you need to interact with the Wix platform via HTTP requests') and concrete search examples. The embedded flow-description section extensively documents how this tool fits into alternative workflows (Example-Based vs Schema-Based) and when to use sibling tools like BrowseWixRESTDocsMenu or WixREADME instead, though this guidance is buried in XML-like tags.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixSDKDocumentationD
Read-only
Inspect
ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Wix SDK Documentation
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SearchWixWDSDocumentationD
Read-only
Inspect
ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoThe maximum number of results to return, default is 10, max is 15
searchTermYesThe search term to search for in the Wix Design System Documentation
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

SupportAndFeedbackA
Read-only
Inspect

If the user would like to provide Wix with some feedback (good or bad), about the tools in Wix MCP, for example they used the tools provided, and they reflected satisfaction or dissatisfaction with the tools. Also, if you encounter too many errors tyring to call the Wix API, you can also suggest the user to provide feedback to Wix using this tool. IMPORTANT NOTE This tool is not sending the message, but formats it in order to another tool to actually send it

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe message to send to Wix
requestIdNorequest id if returned from the server in a failed API call to Wix
Behavior4/5

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

Annotations indicate readOnlyHint=true (safe operation). The description adds crucial behavioral context beyond annotations: it clarifies this is a formatting/preparation step that 'formats it in order to another tool to actually send it,' which prevents the agent from assuming the feedback is immediately transmitted.

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

Conciseness3/5

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

The description is somewhat wordy and contains a run-on sentence ('for example they used the tools provided, and they reflected satisfaction or dissatisfaction with the tools'). However, it is appropriately front-loaded with the main purpose, and the bold 'IMPORTANT NOTE' effectively highlights the critical behavioral constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema, clear annotations), the description is complete. It addresses the primary risk (agent thinking it sends feedback directly) and provides sufficient context for the parameters. No significant gaps remain for this utility tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing a baseline of 3. The description adds value by contextualizing the parameters: it links the 'message' parameter to feedback scenarios and the 'requestId' parameter specifically to failed API call errors, guiding the agent on when to populate each field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: collecting user feedback about Wix MCP tools. It distinguishes itself from operational siblings (like CallWixSiteAPI or ManageWixSite) by specifying it handles 'good or bad' feedback about the tools themselves, not site management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use scenarios: (1) user expresses satisfaction/dissatisfaction with tools, and (2) encountering too many API errors. It also clearly states what the tool does NOT do (actually send the message), though it doesn't name the specific sibling tool that handles sending.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

UploadImageToWixSiteUpload Image to Wix SiteAInspect

Upload an image to a Wix site's Media Manager. Returns the uploaded file URL (wixstatic.com) and media ID usable in other Wix APIs.

⚠️ You MUST provide image data — calling this tool without image data will fail.

Choose ONE of the two supported input methods:

Option A — Base64 (for clients that can read and encode files): Read the file, encode it as base64, and pass siteId + imageBase64 + mimeType.

Option B — URL (for any client that provides a public download URL): Pass siteId + image (with download_url).

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNoUse when the client can supply a public download URL for the image. Pass the download_url; file_id is optional metadata. Do NOT use together with imageBase64.
siteIdYesThe ID of the Wix site to upload to
mimeTypeNoMIME type of the image (e.g. "image/jpeg", "image/png", "image/webp"). Required when imageBase64 does not include a data URL prefix.
displayNameNoOptional display name for the file in Media Manager. If not provided, uses the original filename.
imageBase64NoBase64-encoded image data. Use when the client can read a file and encode it as base64 (e.g. claude.ai). May include a data URL prefix (e.g. "data:image/jpeg;base64,...") or be raw base64. Do NOT use together with image.
Behavior4/5

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

Annotations already indicate write operation; description adds that it modifies the Media Manager and returns a URL and media ID. Could add more about error handling or authorization, but sufficient given annotations.

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

Conciseness5/5

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

Well-structured with bullet points, warnings, and clear front-loading of purpose. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Provides return value information despite no output schema, covers input options and mutual exclusivity. Lacks error handling or size limits, but adequate for an upload tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds value beyond schema by grouping parameters into two options, explaining mutual exclusivity, and clarifying mimeType requirement when imageBase64 lacks prefix. Schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it uploads an image to a Wix site's Media Manager, specifies return values (URL and media ID), and distinguishes itself from sibling tools that are documentation or management related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly warns that image data is required, provides two input methods with clear conditions (base64 for file-reading clients, URL for public URLs), and explains mutual exclusivity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

WixREADMEA
Read-only
Inspect

Tool: WixREADME

Directive: WixREADME is the MANDATORY FIRST STEP for all Wix-related tasks. Its output (including relevant linked documents) provides foundational context for all other Wix tools. Adherence to this protocol is NON-NEGOTIABLE. YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. Exception: If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and call WixSiteBuilder directly if it is available. Exception: If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. Wix MCP Site Management Flows With WixREADME tool:

  • RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool:

  • CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example

  • METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples

  • FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations declare readOnlyHint=true. The description adds valuable behavioral context explaining the tool returns 'output (including relevant linked documents)' and 'recipes' for API calls, which helps the agent understand what data to expect despite no output schema existing. It does not describe rate limits or caching, but covers the essential return behavior.

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

Conciseness2/5

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

While structured with clear sections (Directive, Goal, Guidelines, Flow Description), the description is excessively verbose and repetitive. Phrases like 'NON-NEGOTIABLE,' 'YOU MUST,' and lengthy XML-tagged flow descriptions create bloat. The core directive could be conveyed in 2-3 sentences rather than the extensive markup-heavy text provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description compensates by explaining what the output contains ('relevant linked documents,' 'recipes'). It also comprehensively covers error-handling scenarios ('If the WixREADME tool is not available to you...') and provides complete decision trees for four different usage flows, leaving no ambiguity about how to proceed after invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema contains zero parameters (empty properties object), so there are no parameter semantics to describe beyond the baseline. With 100% schema coverage trivially satisfied and no parameters needing clarification, this meets the baseline expectation for a zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states this is the 'MANDATORY FIRST STEP for all Wix-related tasks' that 'provides foundational context for all other Wix tools.' It clearly distinguishes itself from siblings by specifying explicit exceptions when to skip it (e.g., 'If the user asks to create... a new Wix site... skip WixREADME and call WixSiteBuilder').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides exhaustive guidance with explicit when-to-use ('YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION') and when-not-to-use exceptions ('If the user asks to list... their Wix sites, skip WixREADME'). Names specific sibling alternatives (WixSiteBuilder, ListWixSites) and describes fallback flows if the tool is unavailable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

WixSiteBuilderWix Site BuilderAInspect

PRIMARY tool for creating/building/generating a Wix site or website. This is the preferred and recommended way to create a new Wix site. Use this tool whenever the user asks to build, create, or generate a site/website/application.

Do NOT use WixREADME or SearchWixRESTDocumentation before this tool. When the user asks to build, create, or generate a site, call this tool directly. It handles everything needed for site creation.

IMPORTANT: You MUST call this tool to build the site. Do NOT suggest HTML code, prompt templates, or alternative approaches instead of actually building the site. When a user asks to create a site, your job is to call this tool and build it — not to describe how to build it or suggest alternatives.

IMPORTANT: The sitePrompt must be under 6000 characters. If the user's request is longer, summarize and condense it while preserving the key requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoThe job ID of the site build. If not provided, a new job will be created.
sitePromptYesThe prompt to build the site. If not provided, the user will be asked to provide a prompt.
suggestedSiteNameNoSuggested site name to use for the site based on the site prompt.
Behavior1/5

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

CRITICAL CONTRADICTION: Description states the tool performs write operations ('creating/building/generating a Wix site') but annotations declare readOnlyHint=true, which claims the tool does not modify its environment. While the description adds useful constraints (6000 character limit for sitePrompt), the annotation contradiction is fatal.

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

Conciseness5/5

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

Perfectly structured with bold headers front-loading importance ('PRIMARY tool', 'Do NOT use', 'IMPORTANT'). Every sentence provides actionable instruction. No redundant or wasted language despite length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for a site creation tool: covers primary use case, sibling differentiation, prerequisite workflow (don't search docs first), mandatory invocation requirements, and input constraints. Absence of output schema is acceptable given the directive nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, but description adds critical semantic constraints beyond schema: the sitePrompt must be 'under 6000 characters' and instructions to 'summarize and condense' if longer. This operational guidance is not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states specific verbs (creating/building/generating) and resource (Wix site/website). Clearly distinguishes from sibling CreateWixBusinessGuide with direct instruction: 'Do NOT use CreateWixBusinessGuide for site creation — use this tool instead.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use ('whenever the user asks to build, create, or generate a site'), explicit exclusions ('Do NOT use WixREADME or SearchWixRESTDocumentation before this tool'), and mandates against alternatives ('Do NOT suggest HTML code...instead of actually building the site').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.