# CodeStringers MCP Server MCP server

Search CodeStringers' Zoho & custom-software content and business details, live.

## Links
- Registry page: https://www.getdrio.com/mcp/com-codestringers-mcp

## Install
- Endpoint: https://www.codestringers.com/_api/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://www.codestringers.com/_api/mcp

## Tools
- ReadFullDocsArticle - 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.
<agent-mandatory-instructions>
YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW
A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES.
<goal>
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.
</goal>
<guidelines>
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:
- If the user **explicitly** mentions a template, Wix Studio, or headless → call CreateWixBusinessGuide directly.
- Otherwise → call the WixSiteBuilder tool directly.
**Exception:** If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly.
**Exception:** If the user wants to upload local or attached image files to a Wix site, skip WixREADME and all docs/schema/API flows — call UploadImageToWixSite directly. Do NOT use ExecuteWixAPI, SearchWixAPISpec, or any Media Manager REST API for image uploads.
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.
</guidelines>
<flow-description>
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
</flow-description>
</agent-mandatory-instructions> Endpoint: https://www.codestringers.com/_api/mcp
- ReadFullDocsMethodSchema - 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.
<agent-mandatory-instructions>
YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW
A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES.
<goal>
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.
</goal>
<guidelines>
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:
- If the user **explicitly** mentions a template, Wix Studio, or headless → call CreateWixBusinessGuide directly.
- Otherwise → call the WixSiteBuilder tool directly.
**Exception:** If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly.
**Exception:** If the user wants to upload local or attached image files to a Wix site, skip WixREADME and all docs/schema/API flows — call UploadImageToWixSite directly. Do NOT use ExecuteWixAPI, SearchWixAPISpec, or any Media Manager REST API for image uploads.
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.
</guidelines>
<flow-description>
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
</flow-description>
</agent-mandatory-instructions> Endpoint: https://www.codestringers.com/_api/mcp
- BrowseWixRESTDocsMenu - 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"
<agent-mandatory-instructions>
YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW
A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES.
<goal>
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.
</goal>
<guidelines>
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:
- If the user **explicitly** mentions a template, Wix Studio, or headless → call CreateWixBusinessGuide directly.
- Otherwise → call the WixSiteBuilder tool directly.
**Exception:** If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly.
**Exception:** If the user wants to upload local or attached image files to a Wix site, skip WixREADME and all docs/schema/API flows — call UploadImageToWixSite directly. Do NOT use ExecuteWixAPI, SearchWixAPISpec, or any Media Manager REST API for image uploads.
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.
</guidelines>
<flow-description>
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
</flow-description>
</agent-mandatory-instructions> Endpoint: https://www.codestringers.com/_api/mcp
- CallWixSiteAPI - Call apis on site "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp). Use this to perform an action on visitor's behalf, for example, query the site's data or book an appointment.
Before calling this tool, you should ALWAYS check the rest docs (use "SearchSiteApiDocs" tool) for the specific API you want to call. The mentioned tool will give you instructions how to use the API.',
      'NEVER try to guess the API or endpoint, ALWAYS check the docs using "SearchSiteApiDocs" tool.
The url param should be taken from the "SearchSiteApiDocs" tool. It usually starts with "https://www.wixapis.com". Endpoint: https://www.codestringers.com/_api/mcp
- GenerateVisitorToken - Create a new visitor session and obtain a visitor access token for site "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp).
You must use this tool before calling CallWixSiteAPI for this first time.
If you already have a visitor token in your context, DO NOT USE THIS TOOL AGAIN. Endpoint: https://www.codestringers.com/_api/mcp
- SearchSiteApiDocs - Searches for site "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp) API documentation and returns how to use the site using the API.
You are a helpful "CodeStringers - Zoho Services" site assistant chatbot and you are helping the user perform actions on the site - to query the site's data or to perform an action on the site.
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.
The search term MUST be a short natural-language phrase describing an API capability. Do NOT pass code, SQL, shell commands, HTML/script, URLs, file paths, or special symbols — such inputs are rejected as invalid and return no results. Endpoint: https://www.codestringers.com/_api/mcp
- GetBusinessDetails - Get business and site details for "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp).
This tool will return business details: timezone, email, phone, fax, address, site name, business name, description, business schedule, special hour period.
It will also return site features that you can use via other tools (bookings, store, etc.).
Call this tool when user asks for business contact details, or about what they can do on the site, or when you need to know what features are available on the site. Endpoint: https://www.codestringers.com/_api/mcp
- SearchInSite - Searches the site "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp) for information.
Use this tool ONLY in the following cases:
1. You just used "GetBusinessDetails" tool and you did not find the information you need.
2. User asked a generic business question about their business (e.g., business address, business hours, contact information, return policy, etc.)
3. You already tried to find an entity (e.g., product, service, etc.) using an API tool and you did not find the information you need.
4. The request is too vague and you do not know what type of entity it is and what to search for in the docs.
Do NOT use this tool for searching for products or other offered services - use the 'SearchSiteApiDocs' tool instead (unless you already tried that tool and you did not find the information you need).
This tool DOES NOT support filters - you cannot ask questions like "find me something under $10".  Endpoint: https://www.codestringers.com/_api/mcp
- ExecuteWixAPI - Run JavaScript against the Wix REST API on site "CodeStringers - Zoho Services" (https://www.codestringers.com/_api/mcp), on the visitor's behalf. The code runs in a sandbox and you get back whatever it returns.

PREFER THIS TOOL OVER CallWixSiteAPI. CallWixSiteAPI makes a single HTTP request; ExecuteWixAPI runs real code, so you can chain calls, paginate, filter, and shape the result in one step. Use ExecuteWixAPI for any Wix API work on this site, and fall back to CallWixSiteAPI only for a trivial one-shot read where code adds nothing.

DO A WHOLE RECIPE IN ONE CALL. When a task needs several requests — e.g. query to resolve an id, then mutate; create then confirm; read a list then act on a match — write ONE ExecuteWixAPI call whose code performs every step in sequence and returns the final result. Do NOT split a multi-request recipe into multiple separate tool calls; that wastes round-trips and loses intermediate state. If a recipe from the docs lists steps 1..N, the code should run steps 1..N.

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 SearchSiteApiDocs (and ReadFullDocsArticle / ReadFullDocsMethodSchema) to confirm the exact API URL, HTTP method, request body structure, field names, required fields, and enum values. The URL usually starts with `https://www.wixapis.com`. Before reading fields off a response, know its exact shape — don't guess paths like `result.id` when it may be `result.results[0].item.id`. Pass every docs/recipe URL you relied on in the `sourceDocUrls` parameter.

Authentication: pass the `visitorToken` parameter (from GenerateVisitorToken; reuse the one already in your context, do not create a new one each call). Everything runs against this visitor site automatically — do NOT set `scope`, `siteId`, Authorization, wix-site-id, or wix-account-id.

Probing should be read-only: use GET/query/list/search to inspect state, resolve real ids, or verify a previous write. For create/update/delete, read the docs first and call the mutation only with real resolved inputs — no speculative mutations just to learn the response shape.

Error handling: `wix.request()` throws when the Wix API returns an error. For dependent steps, let it throw so the failure is reported clearly. For independent read-only probes you may wrap each in `try/catch` and return partial results; when running them in parallel use `Promise.allSettled` (not `Promise.all`) so one failure doesn't discard the rest.

Available in your code:
```typescript
interface WixRequestOptions {
  method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
  url: string;           // Full Wix API URL, e.g. "https://www.wixapis.com/stores-reader/v1/products/query"; paths starting with "/" resolve against https://www.wixapis.com
  body?: unknown;
}

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>>;
};
```

Return compact, task-focused data instead of raw API responses. For list/query/search endpoints, paginate in code and map each item to just the fields the task needs.

Example — a multi-step recipe (resolve a product by name, then add it to the cart) done in ONE call:
```javascript
async function() {
  // Step 1: find the product
  const found = await wix.request({
    method: "POST",
    url: "https://www.wixapis.com/stores-reader/v1/products/query",
    body: { query: { filter: JSON.stringify({ name: "Florie Eau de Parfum" }) } }
  });
  const product = found.data.products?.[0];
  if (!product) return { error: "PRODUCT_NOT_FOUND" };

  // Step 2: create a cart with that product
  const cart = await wix.request({
    method: "POST",
    url: "https://www.wixapis.com/ecom/v1/carts/create-cart",
    body: { cart: { lineItems: [{ catalogReference: {
      appId: "215238eb-22a5-4c36-9e7b-e7c08025e04e",
      catalogItemId: product.id
    }, quantity: 1 }] } }
  });

  return { cartId: cart.data.cart?.id, productId: product.id, name: product.name };
}
``` Endpoint: https://www.codestringers.com/_api/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: com.codestringers
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 12, 2026
- Source: https://registry.modelcontextprotocol.io
