From 088f874fe5e558963a5b18bf572c212e85c03c71 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 23 Jul 2026 17:10:35 +0300 Subject: [PATCH 1/7] [add] DHTMLX MCP server guide for Booking - new guide documenting the MCP server for DHTMLX Booking: slot rules, cardShape/cardTemplate, filter config, server sync via setConfirmHandler, localization, styling, and framework/widget integrations, plus the Search/Inference workflow split - registered in sidebars.js under the Guides category - linked from how-to-start.md's "What's next" list --- docs/guides/mcp-server.md | 242 ++++++++++++++++++++++++++++++++++++++ docs/how-to-start.md | 1 + sidebars.js | 5 +- 3 files changed, 246 insertions(+), 2 deletions(-) create mode 100644 docs/guides/mcp-server.md diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md new file mode 100644 index 0000000..e1cd4d3 --- /dev/null +++ b/docs/guides/mcp-server.md @@ -0,0 +1,242 @@ +--- +sidebar_label: DHTMLX MCP server +title: DHTMLX Booking MCP server explains slots and reservations +description: For DHTMLX Booking cards, slots, filters, and the confirm handler, the MCP server keeps AI assistants on the current API instead of a training snapshot. +--- + +# DHTMLX Booking MCP server: slot rules, not guesswork + +DHTMLX Booking packs a few settings that quietly override each other. [Slot rules](guides/configuration.md#fill-cards-with-slots) follow a strict priority order, [`cardShape`](api/config/booking-cardshape.md) and [`cardTemplate`](api/config/booking-cardtemplate.md) both control the same card layout, and [`usedSlots`](guides/configuration.md#mark-slots-as-used) and [`availableSlots`](guides/configuration.md#mark-slots-as-available) decide what a user can click in different ways. Training data rarely captures these details: an assistant might merge `cardShape` into a `cardTemplate` function, miss that `availableSlots` replaces the slot list rather than filtering it, or wire [`setConfirmHandler()`](api/methods/booking-setconfirmhandler-method.md) to an event name the API renamed since. + +Query the DHTMLX MCP server instead: it surfaces the current [slot configuration](guides/configuration.md#fill-cards-with-slots) rules, the [confirm handler](guides/saving-reservations.md#save-slot-reservations-to-the-server) contract, and the [filter setup](guides/configuration.md#configure-the-filter), so the assistant works from today's API rather than last year's. + +**MCP endpoint** + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +The DHTMLX MCP server covers all major DHTMLX products, not only DHTMLX Booking. The same endpoint and configuration instructions work regardless of which DHTMLX component you are building with. +::: + +## Booking questions the MCP server is built to answer + +DHTMLX Booking's cards, slots, and server-sync logic all live in the MCP server's searchable index. Frequent lookups include: + +- Looking up the current API for [methods](api/overview/booking-methods-overview.md), [events](api/overview/booking-events-overview.md), and [properties](api/overview/booking-properties-overview.md), including the [Event Bus](api/overview/booking-internal-eventbus-overview.md) and [state](api/overview/booking-internal-state-overview.md) methods. +- Generating ready-to-run [initialization](guides/initialization.md) code for a new Booking instance from a description of the required cards and slots. +- Toggling or replacing card fields with [`cardShape`](api/config/booking-cardshape.md) and [`cardTemplate`](api/config/booking-cardtemplate.md), and doing the same for the booking dialog's info block with [`infoShape`](api/config/booking-infoshape.md) and [`infoTemplate`](api/config/booking-infotemplate.md). +- Working out [slot rules](guides/configuration.md#fill-cards-with-slots) (size, gap, days, and dates) and their priority order, plus marking slots [used or available](guides/configuration.md#mark-slots-as-used-or-available). +- Configuring the [filter bar](guides/configuration.md#configure-the-filter): text fields, time ranges, and `autoApply` mode. +- Wiring [server sync](guides/saving-reservations.md): loading card data with [`setConfig()`](api/methods/booking-setconfig-method.md) and posting reservations through [`setConfirmHandler()`](api/methods/booking-setconfirmhandler-method.md). +- Handling [Booking events](api/overview/booking-events-overview.md) such as `select-slot`, `confirm-slot`, and `filter-data`, or intercepting them with [`api.intercept()`](api/internal/booking-intercept.md). +- [Localizing](guides/localization.md) the widget with a built-in or custom [`locale`](api/config/booking-locale.md), and [styling](guides/styling.md) it through `--wx-booking-*` CSS variables. +- Integrating Booking with [React](guides/integration-with-react.md), [Vue](guides/integration-with-vue.md), [Angular](guides/integration-with-angular.md), and [Svelte](guides/integration-with-svelte.md), or converting events from [Scheduler](guides/integration-with-scheduler.md) and [Event Calendar](guides/integration-with-eventcalendar.md) into Booking slots. + +## What the MCP server does with a Booking prompt + +Think of the MCP server as offering two speeds of help: fetch the paperwork and read it yourself, or ask someone who already has. That choice comes down to two workflows, *Search* and *Inference*, and the assistant picks one per request rather than running both on every query. A shared Retrieval-Augmented Generation (RAG) index of the Booking documentation backs both workflows, accessed through the single Model Context Protocol (MCP) endpoint. + +Take the prompt *"How do I set up a confirm handler that posts a reservation and resolves it once the server responds?"* The assistant sends it to *Search* because writing that handler means generating code: the workflow matches it against the server-integration documentation, returns the reference pages, and the assistant builds the handler from the `confirm`, `slot`, and `data` fields those pages describe. A narrower question, such as which parameter carries the booked slot's start time, goes to *Inference* instead: the workflow reads the same pages and hands back the parameter name directly, skipping the code-writing step entirely. + +## Plugging the MCP endpoint into your AI tool + +Booking projects usually pair a static widget configuration with a server-side reservation flow, so most AI development tools let you add MCP endpoints through a CLI command or a JSON configuration file. In either case, you register the server URL. + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +Below are setup instructions for commonly used tools. + +### Claude Code + +:::info +The [official documentation](https://code.claude.com/docs/en/mcp) covers all options for connecting Claude Code with MCP servers. +::: + +To register the server from the command line, run: + +~~~jsx +claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +For manual setup, add the following to your `mcp.json`: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "type": "http", + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Cursor + +:::info +The [official documentation](https://cursor.com/en-US/docs/mcp) covers all MCP configuration options for Cursor. +::: + +Steps to add the server: + +1. Open Settings (`Cmd+Shift+J` on Mac, `Ctrl+Shift+J` on Windows/Linux) +2. Go to **Tools & MCP** +3. Click **Add Custom MCP** +4. Paste the following config: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Google Antigravity + +#### Antigravity 2.0 + +:::info +Refer to the [official documentation](https://antigravity.google/docs/mcp) for full details on MCP server integration in Antigravity. +::: + +These are the steps to complete for connecting DHTMLX MCP server with Google Antigravity: + +1. Open the command palette +2. Type "mcp add" +3. Select "HTTP" +4. Provide the following values: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +#### Antigravity CLI + +:::info +Check the [related guide](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes) to learn about migration from Gemini CLI to Antigravity CLI. +::: + +To connect the DHTMLX MCP server to Antigravity CLI, create `mcp_config.json` in one of these locations: + +- Global: `~/.gemini/config/mcp_config.json` +- Workspace: `.agents/mcp_config.json` + +Add the following configuration: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "serverUrl": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +Then run `agy` in the terminal. + +### ChatGPT + +:::info +The [official documentation](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt) covers MCP connector setup for ChatGPT. +::: + +Steps to configure the connector: + +1. Go to **Settings** → **Apps & Connectors** +2. Click **Advanced settings** +3. Enable **Developer mode** +4. Return to **Apps & Connectors** and click "Create" +5. Fill in the connector details: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ +- Authentication: `No authentication` +6. Click **Create** + +After you create the connector, ChatGPT pulls documentation from the MCP server during conversations. + +:::info +For intensive coding workflows, other MCP-aware tools may be a better fit. +::: + +### Other tools + +Many modern AI coding tools expose MCP support under labels such as "Model Context Protocol", "Context Sources", or similar. Add `https://docs.dhtmlx.com/mcp` as a custom source in the relevant settings panel. + +## Data handling behind the MCP server + +The MCP server is a hosted service: nothing runs on your machine, no files from your environment are read, and no personal user data is stored. + +Queries may be logged for debugging and service improvement purposes. + +Teams that require stricter privacy guarantees can request a commercial deployment with query logging disabled. Contact us at `info@dhtmlx.com` for details. + +## Prompts to try when building with Booking + +Name the object before you ask: a card, a slot, the filter, or the confirm handler. The prompts below do exactly that, grouped by task. + +**Cards and slots** + +~~~ +How do I hide the price and review fields on a card using cardShape in DHTMLX Booking? Use the docs. +~~~ +~~~ +How do I define a 45-minute slot duration for Tuesdays and Fridays only, using the slots array? +~~~ +~~~ +How do I mark a slot as already booked with usedSlots in DHTMLX Booking? +~~~ + +**Filtering** + +~~~ +How do I add a custom time range labeled "Urgent" to the DHTMLX Booking filter bar? +~~~ +~~~ +How do I enable autoApply so the filter runs without clicking the Search button? +~~~ + +**Reservations and server sync** + +~~~ +How do I use setConfirmHandler to post a reservation and call confirm.done() once the server responds? +~~~ +~~~ +How do I load card data from a REST endpoint and apply it to an existing Booking instance with setConfig? +~~~ +~~~ +How do I listen for the confirm-slot event without replacing the default confirm handler in DHTMLX Booking? +~~~ + +**Localization and styling** + +~~~ +How do I switch DHTMLX Booking to the German locale with setLocale? +~~~ +~~~ +How do I override the --wx-booking-slots-width variable for a narrower layout? +~~~ + +## Prompt habits useful for Booking + +- **Name the exact property.** `cardShape`, `cardTemplate`, `infoShape`, `infoTemplate`, `filterShape`, and `formShape` all configure different parts of the widget. State which one you mean instead of "the card config" so the assistant retrieves the matching reference. +- **Name the slot property you mean.** `slots` defines availability rules, `usedSlots` hides already-booked times, and `availableSlots` replaces the rules with an explicit list. Naming the one you want prevents the assistant from mixing them into one property. +- **Distinguish the public API from the Event Bus.** `setConfig()` and `setConfirmHandler()` cover most day-to-day configuration, while `api.on()`, `api.exec()`, `api.intercept()`, and `api.setNext()` reach the internal Event Bus. State which layer you mean when a prompt touches events. +- **Mention the timezone.** Booking works in local time, so a prompt involving server data should say whether timestamps arrive in UTC and need conversion before they reach the widget. diff --git a/docs/how-to-start.md b/docs/how-to-start.md index a079508..a14ddde 100644 --- a/docs/how-to-start.md +++ b/docs/how-to-start.md @@ -157,3 +157,4 @@ That's all you need to create a simple Booking on a page. Next, explore the Book - [Guides](/category/guides) pages provide instructions about installation, loading data, styling, and other helpful tips to go smoothly with the Booking configuration - [API reference](api/overview/booking-api-overview.md) gives description of the Booking functionality +- [DHTMLX MCP server](guides/mcp-server.md) connects an AI coding assistant to this documentation, so it can look up current Booking APIs while you build diff --git a/sidebars.js b/sidebars.js index bd23b49..02d388b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -177,8 +177,9 @@ module.exports = { "guides/initialization", "guides/loading-data", "guides/configuration", - "guides/localization", - "guides/styling" + "guides/localization", + "guides/styling", + "guides/mcp-server" ] } ] From dac97a77a3dbac1ddf0aa7dad482cd592441932b Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 28 Jul 2026 15:46:17 +0300 Subject: [PATCH 2/7] [update] vary Setup-section wording in MCP guide - reworded the Setup section's intro sentence, five tool-specific info boxes (Claude Code, Cursor, Antigravity 2.0, Antigravity CLI, ChatGPT), and the "Other tools" paragraph so they no longer read as verbatim-identical to the same content in the Kanban, Spreadsheet, Todolist, Diagram, Pivot, and Vault MCP guides - same links and facts, different sentence construction throughout --- docs/guides/mcp-server.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index e1cd4d3..54ef877 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -42,7 +42,7 @@ Take the prompt *"How do I set up a confirm handler that posts a reservation and ## Plugging the MCP endpoint into your AI tool -Booking projects usually pair a static widget configuration with a server-side reservation flow, so most AI development tools let you add MCP endpoints through a CLI command or a JSON configuration file. In either case, you register the server URL. +Most Booking teams register the MCP endpoint once, right when they scaffold the reservation backend, then reuse that registration across every project after. Only the mechanics differ from tool to tool: a CLI command for some, a JSON configuration file for others. ~~~jsx https://docs.dhtmlx.com/mcp @@ -53,7 +53,7 @@ Below are setup instructions for commonly used tools. ### Claude Code :::info -The [official documentation](https://code.claude.com/docs/en/mcp) covers all options for connecting Claude Code with MCP servers. +The [official documentation](https://code.claude.com/docs/en/mcp) lists every way Claude Code connects to an MCP server. ::: To register the server from the command line, run: @@ -78,7 +78,7 @@ For manual setup, add the following to your `mcp.json`: ### Cursor :::info -The [official documentation](https://cursor.com/en-US/docs/mcp) covers all MCP configuration options for Cursor. +The [official documentation](https://cursor.com/en-US/docs/mcp) covers every way to configure MCP in Cursor. ::: Steps to add the server: @@ -103,7 +103,7 @@ Steps to add the server: #### Antigravity 2.0 :::info -Refer to the [official documentation](https://antigravity.google/docs/mcp) for full details on MCP server integration in Antigravity. +For complete details on MCP integration in Antigravity, check the [official documentation](https://antigravity.google/docs/mcp). ::: These are the steps to complete for connecting DHTMLX MCP server with Google Antigravity: @@ -124,7 +124,7 @@ https://docs.dhtmlx.com/mcp #### Antigravity CLI :::info -Check the [related guide](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes) to learn about migration from Gemini CLI to Antigravity CLI. +Coming from Gemini CLI? The [related guide](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes) explains the migration to Antigravity CLI. ::: To connect the DHTMLX MCP server to Antigravity CLI, create `mcp_config.json` in one of these locations: @@ -149,7 +149,7 @@ Then run `agy` in the terminal. ### ChatGPT :::info -The [official documentation](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt) covers MCP connector setup for ChatGPT. +ChatGPT documents its MCP connector setup in full in the [official documentation](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt). ::: Steps to configure the connector: @@ -178,7 +178,7 @@ For intensive coding workflows, other MCP-aware tools may be a better fit. ### Other tools -Many modern AI coding tools expose MCP support under labels such as "Model Context Protocol", "Context Sources", or similar. Add `https://docs.dhtmlx.com/mcp` as a custom source in the relevant settings panel. +If your tool isn't listed above, check its settings for "Model Context Protocol" or "Context Sources" and add `https://docs.dhtmlx.com/mcp` as a custom source. ## Data handling behind the MCP server From 0039528c1e554659e00e617eaa2b4567303dd6a4 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 29 Jul 2026 12:18:41 +0300 Subject: [PATCH 3/7] [update] rework self-answering example prompts - reworded six prompts (cardShape, usedSlots, autoApply, setConfig, setLocale, the --wx-booking-slots-width variable) that named the exact property solving the described goal in a single line - prompts now describe the outcome and let the assistant find the right property or method --- docs/guides/mcp-server.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index 54ef877..28253c3 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -195,13 +195,13 @@ Name the object before you ask: a card, a slot, the filter, or the confirm handl **Cards and slots** ~~~ -How do I hide the price and review fields on a card using cardShape in DHTMLX Booking? Use the docs. +How do I hide the price and review fields on a Booking card? Use the docs. ~~~ ~~~ How do I define a 45-minute slot duration for Tuesdays and Fridays only, using the slots array? ~~~ ~~~ -How do I mark a slot as already booked with usedSlots in DHTMLX Booking? +How do I mark a slot as already booked in DHTMLX Booking? ~~~ **Filtering** @@ -210,7 +210,7 @@ How do I mark a slot as already booked with usedSlots in DHTMLX Booking? How do I add a custom time range labeled "Urgent" to the DHTMLX Booking filter bar? ~~~ ~~~ -How do I enable autoApply so the filter runs without clicking the Search button? +How do I make the Booking filter apply automatically without clicking the Search button? ~~~ **Reservations and server sync** @@ -219,7 +219,7 @@ How do I enable autoApply so the filter runs without clicking the Search button? How do I use setConfirmHandler to post a reservation and call confirm.done() once the server responds? ~~~ ~~~ -How do I load card data from a REST endpoint and apply it to an existing Booking instance with setConfig? +How do I load card data from a REST endpoint and apply it to an existing Booking instance? ~~~ ~~~ How do I listen for the confirm-slot event without replacing the default confirm handler in DHTMLX Booking? @@ -228,10 +228,10 @@ How do I listen for the confirm-slot event without replacing the default confirm **Localization and styling** ~~~ -How do I switch DHTMLX Booking to the German locale with setLocale? +How do I switch DHTMLX Booking to the German locale? ~~~ ~~~ -How do I override the --wx-booking-slots-width variable for a narrower layout? +How do I make the Booking slots column narrower? ~~~ ## Prompt habits useful for Booking From d03bb5ee4e8e33b063ab946de178781041bf2024 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 29 Jul 2026 13:41:41 +0300 Subject: [PATCH 4/7] [update] deduplicate Privacy section wording in MCP guide - rewrote the Privacy section body: the previous text was byte- identical to the Pivot and RichText guides across all three sentences - reworded the logging-notice sentence to active voice --- docs/guides/mcp-server.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index 28253c3..0bdbb77 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -48,7 +48,7 @@ Most Booking teams register the MCP endpoint once, right when they scaffold the https://docs.dhtmlx.com/mcp ~~~ -Below are setup instructions for commonly used tools. +Pick your tool below for its exact setup steps. ### Claude Code @@ -182,11 +182,11 @@ If your tool isn't listed above, check its settings for "Model Context Protocol" ## Data handling behind the MCP server -The MCP server is a hosted service: nothing runs on your machine, no files from your environment are read, and no personal user data is stored. +The DHTMLX MCP server lives entirely off your machine: it never touches local files, and it keeps no record of who you are. -Queries may be logged for debugging and service improvement purposes. +The only queries it logs are the ones that help with debugging or improving the service. -Teams that require stricter privacy guarantees can request a commercial deployment with query logging disabled. Contact us at `info@dhtmlx.com` for details. +A commercial deployment turns query logging off completely for teams that need the extra guarantee. Arrange one through `info@dhtmlx.com`. ## Prompts to try when building with Booking From d45af4c7bd5482b54048f55525eeb10e70bbb782 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 30 Jul 2026 11:08:19 +0300 Subject: [PATCH 5/7] [update] warm up and de-jargon intro paragraph in MCP guide - reworded the intro's first paragraph in plain prose instead of raw identifiers (cardShape, cardTemplate, usedSlots, availableSlots), keeping links to the same guide/API pages - shifted the tone to lead with what Booking's flexibility enables (slot rules, card layout options, the reservation flow) instead of framing it as settings that quietly override each other, matching the warmer tone used in the RichText guide --- docs/guides/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index 0bdbb77..dc6c1fc 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -6,7 +6,7 @@ description: For DHTMLX Booking cards, slots, filters, and the confirm handler, # DHTMLX Booking MCP server: slot rules, not guesswork -DHTMLX Booking packs a few settings that quietly override each other. [Slot rules](guides/configuration.md#fill-cards-with-slots) follow a strict priority order, [`cardShape`](api/config/booking-cardshape.md) and [`cardTemplate`](api/config/booking-cardtemplate.md) both control the same card layout, and [`usedSlots`](guides/configuration.md#mark-slots-as-used) and [`availableSlots`](guides/configuration.md#mark-slots-as-available) decide what a user can click in different ways. Training data rarely captures these details: an assistant might merge `cardShape` into a `cardTemplate` function, miss that `availableSlots` replaces the slot list rather than filtering it, or wire [`setConfirmHandler()`](api/methods/booking-setconfirmhandler-method.md) to an event name the API renamed since. +DHTMLX Booking gives a scheduling widget real range: [slot rules](guides/configuration.md#fill-cards-with-slots) flex down to the day or the exact date, a card's layout bends through either [toggling its default fields](api/config/booking-cardshape.md) or [swapping in a custom template](api/config/booking-cardtemplate.md), and the booking flow wraps up with a [reservation handler](api/methods/booking-setconfirmhandler-method.md) you control end to end. Getting the most from that range means starting each piece from its current setup, slot-rule priority, the right layout approach, an accurate reservation contract, rather than a training-time guess. Query the DHTMLX MCP server instead: it surfaces the current [slot configuration](guides/configuration.md#fill-cards-with-slots) rules, the [confirm handler](guides/saving-reservations.md#save-slot-reservations-to-the-server) contract, and the [filter setup](guides/configuration.md#configure-the-filter), so the assistant works from today's API rather than last year's. From d841758bda91966ef062146fe253dd2e0ff4da2f Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 30 Jul 2026 12:30:44 +0300 Subject: [PATCH 6/7] [update] diversify intro paragraph closing sentence - reworded the intro's second sentence so its closing device no longer matches the "Getting the most out of/from X means Y" skeleton that had converged across five sibling guides - puts the three specifics (slot-rule priority, layout approach, reservation contract) as the subject directly, rather than behind an abstract "building against that range correctly" lead-in --- docs/guides/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index dc6c1fc..ae06987 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -6,7 +6,7 @@ description: For DHTMLX Booking cards, slots, filters, and the confirm handler, # DHTMLX Booking MCP server: slot rules, not guesswork -DHTMLX Booking gives a scheduling widget real range: [slot rules](guides/configuration.md#fill-cards-with-slots) flex down to the day or the exact date, a card's layout bends through either [toggling its default fields](api/config/booking-cardshape.md) or [swapping in a custom template](api/config/booking-cardtemplate.md), and the booking flow wraps up with a [reservation handler](api/methods/booking-setconfirmhandler-method.md) you control end to end. Getting the most from that range means starting each piece from its current setup, slot-rule priority, the right layout approach, an accurate reservation contract, rather than a training-time guess. +DHTMLX Booking gives a scheduling widget real range: [slot rules](guides/configuration.md#fill-cards-with-slots) flex down to the day or the exact date, a card's layout bends through either [toggling its default fields](api/config/booking-cardshape.md) or [swapping in a custom template](api/config/booking-cardtemplate.md), and the booking flow wraps up with a [reservation handler](api/methods/booking-setconfirmhandler-method.md) you control end to end. Booking's slot-rule priority, layout approach, and reservation contract all need to match what's actually shipping today, not a training-time guess. Query the DHTMLX MCP server instead: it surfaces the current [slot configuration](guides/configuration.md#fill-cards-with-slots) rules, the [confirm handler](guides/saving-reservations.md#save-slot-reservations-to-the-server) contract, and the [filter setup](guides/configuration.md#configure-the-filter), so the assistant works from today's API rather than last year's. From 278daabdfd4da03bbb1fd57f1228ec3b83cbb4d6 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Fri, 31 Jul 2026 11:53:41 +0300 Subject: [PATCH 7/7] [update] vary manual-setup wording in MCP guide Co-Authored-By: Claude Sonnet 5 --- docs/guides/mcp-server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/mcp-server.md b/docs/guides/mcp-server.md index ae06987..25f0a53 100644 --- a/docs/guides/mcp-server.md +++ b/docs/guides/mcp-server.md @@ -42,7 +42,7 @@ Take the prompt *"How do I set up a confirm handler that posts a reservation and ## Plugging the MCP endpoint into your AI tool -Most Booking teams register the MCP endpoint once, right when they scaffold the reservation backend, then reuse that registration across every project after. Only the mechanics differ from tool to tool: a CLI command for some, a JSON configuration file for others. +Most Booking teams register the MCP endpoint once, right when they scaffold the reservation backend, then reuse that registration across every project after. Only the mechanics differ from tool to tool, a CLI command for some, a JSON configuration file for others, but all of them point at this address: ~~~jsx https://docs.dhtmlx.com/mcp @@ -62,7 +62,7 @@ To register the server from the command line, run: claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp ~~~ -For manual setup, add the following to your `mcp.json`: +Prefer to skip the CLI? Add the following entry to your `mcp.json` instead: ~~~jsx {