From 13726dec772dd50ef396769d97fb34556f29b048 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 4 Jun 2026 16:15:15 +0300 Subject: [PATCH 01/14] [add] MCP server guide for DHTMLX Spreadsheet - new guide: docs/mcp-server.md - product-specific intro covering formulas, formatting, data loading, sheet management - Where MCP server helps section with links to relevant docs - How it works section with a concrete Spreadsheet example query - setup instructions for Claude Code, Cursor, Gemini CLI, Antigravity, ChatGPT - example prompts organized by task type (data, cells, formulas, sheets) - tips for effective Spreadsheet prompts - registered in sidebars.js under Developer guides --- docs/mcp-server.md | 243 +++++++++++++++++++++++++++++++++++++++++++++ sidebars.js | 3 +- 2 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 docs/mcp-server.md diff --git a/docs/mcp-server.md b/docs/mcp-server.md new file mode 100644 index 00000000..8617c350 --- /dev/null +++ b/docs/mcp-server.md @@ -0,0 +1,243 @@ +--- +sidebar_label: DHTMLX MCP server +title: Using DHTMLX MCP server with DHTMLX Spreadsheet +description: Connect AI coding assistants to live DHTMLX Spreadsheet documentation via the DHTMLX MCP server. Setup guides for Claude Code, Cursor, Gemini CLI, and ChatGPT. +--- + +# Using DHTMLX MCP server with DHTMLX Spreadsheet + +Building spreadsheet applications requires precise handling of formulas, cell formatting, data loading, and sheet management. When an AI tool generates DHTMLX Spreadsheet code from outdated training data, the result is incorrect formula syntax, missing API methods, and configuration options that no longer match the current library. + +The DHTMLX MCP server solves this by giving AI tools direct access to the live Spreadsheet documentation. Whether you are working with [number formats](/number_formatting/), the [Sheet Manager API](/api/overview/sheetmanager_overview/), [data loading](/loading_data/), or any other part of the library, the assistant retrieves the current reference before generating a response. + +#### MCP endpoint + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +The DHTMLX MCP server covers all major DHTMLX products, not only DHTMLX Spreadsheet. The same endpoint and configuration instructions work regardless of which DHTMLX component you are building with. +::: + +## Where MCP server helps with Spreadsheet + +The MCP server indexes the full DHTMLX Spreadsheet documentation. Common scenarios include: + +- Looking up the current API for spreadsheet [methods](/api/overview/methods_overview/), [events](/api/overview/events_overview/), and [properties](/api/overview/properties_overview/), including signatures and return types. +- Generating ready-to-run Spreadsheet [initialization](/initialization/) and [configuration](/configuration/) code based on a description of what you need. +- Exploring [number formats](/number_formatting/) (common, number, currency, date, time, and others) and understanding how to define custom format masks. +- Working with [formulas and functions](/functions/): finding supported functions, understanding formula syntax, and using the calculation API. +- Configuring [columns and rows](/work_with_rows_cols/), including setting widths, hiding, and freezing. +- Applying cell and range [formatting](/data_formatting/) and styles, including text color, alignment, borders, and background colors. +- Handling [Spreadsheet events](/handling_events/) to respond to value changes, cell selection, editor actions, and sheet-level interactions. +- Exploring [multi-sheet support](/working_with_sheets/), [data loading and export](/excel_import_export/) (JSON and Excel), and integration with frameworks such as [React](/react/), [Vue](/vuejs_integration/), [Angular](/angular_integration/), and [Svelte](/svelte_integration/). + +## How DHTMLX MCP server works + +The DHTMLX MCP server combines Retrieval-Augmented Generation (RAG) with the Model Context Protocol (MCP) so that AI assistants can query documentation on demand rather than relying solely on training data. + +For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The server matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context. The assistant then generates code based on the current API rather than a training snapshot. + +## Connect the MCP server to your AI tool + +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" + } + } +} +~~~ + +### Gemini CLI + +:::info +See the [official documentation](https://geminicli.com/docs/tools/mcp-server/) for a complete guide to using MCP servers with the Gemini CLI. +::: + +To add the server through the CLI: + +~~~jsx +gemini mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +For manual configuration, open `~/.gemini/settings.json` and add: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +Restart Gemini CLI after saving the file. + +### Antigravity (Google) + +:::info +The [official documentation](https://antigravity.google/docs/mcp) explains how to connect MCP servers in Antigravity. +::: + +To add the server: + +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 +~~~ + +### ChatGPT + +:::info +The [official documentation](https://developers.openai.com/api/docs/guides/tools-connectors-mcp) 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. + +:::warning +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. + +## Privacy and data handling + +The MCP server runs as a hosted service. It does not run locally, does not read files from your environment, and does not store personal user information. + +Queries may be logged for debugging and service improvement purposes. + +Organizations that require stricter privacy controls can request a commercial deployment option with query logging disabled. For inquiries, contact `info@dhtmlx.com`. + +## Example prompts for Spreadsheet with AI + +Once you connect the MCP server, phrase your prompts around a concrete goal so the assistant knows which part of the Spreadsheet API to retrieve. The prompts below are organized by task type. Copy and adapt them as needed. + +**Loading and exporting data** + +~~~ +I want to load data into DHTMLX Spreadsheet from a JSON file. How do I do that? +~~~ +~~~ +How do I export a DHTMLX Spreadsheet to an Excel file? What method should I call? +~~~ +~~~ +How do I load JSON data into DHTMLX Spreadsheet using the load() or parse() methods? +~~~ + +**Working with cells and ranges** + +~~~ +How do I add custom cell validation in DHTMLX Spreadsheet? Use the docs. +~~~ +~~~ +How do I use setStyle() to apply background color and text formatting to a range of cells in DHTMLX Spreadsheet? +~~~ +~~~ +How do I merge cells and set alignment in a specific range in DHTMLX Spreadsheet? +~~~ + +**Formulas and data validation** + +~~~ +What formula functions are available in DHTMLX Spreadsheet, and how do I use custom formulas? +~~~ +~~~ +How do I set a dropdown list cell type for a column in DHTMLX Spreadsheet? +~~~ + +**Columns, rows, and sheets** + +~~~ +How do I lock specific rows and columns in DHTMLX Spreadsheet? +~~~ +~~~ +How do I add and switch between sheets in DHTMLX Spreadsheet programmatically? +~~~ +~~~ +How do I handle the afterEditEnd event and get the updated cell value? +~~~ + +## Tips for effective Spreadsheet prompts + +- **Name the target object.** Distinguish between the spreadsheet instance, a specific sheet, a cell, and a range. For example: "on the spreadsheet instance" vs. "for a specific cell range" vs. "on sheet 2". A narrower target helps the server retrieve the right reference pages. +- **Include the cell type or data format.** Prompts like "a date number format" or "a number format with two decimal places" retrieve more precise documentation than a generic "a cell". Mention the type whenever you configure columns or apply formats. +- **Add "Use the docs"** to your prompt. This phrase signals to the assistant that it should trigger an MCP lookup instead of answering from training data alone. It is especially useful when working with formulas or validation, where training data is most likely to be stale. +- **Be specific about the scope of the operation.** Spreadsheet operations can target a single cell, a range, a full column or row, or an entire sheet. State the scope explicitly (for example, "for the entire column B" or "across all sheets") so the assistant selects the correct method overload or API path. diff --git a/sidebars.js b/sidebars.js index 8842694c..a6c0752e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -276,7 +276,8 @@ module.exports = { ] }, "using_typescript", - "awaitredraw" + "awaitredraw", + "mcp-server" ] }, { From b64cd7fd734bd1d82accfb3da91a13bdfc2e133e Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Fri, 5 Jun 2026 17:33:01 +0300 Subject: [PATCH 02/14] [fix] correct cell validation prompt in MCP server guide - replaced 'custom cell validation' with 'data validation with a drop-down list' - setValidation() only supports dropdown lists, not custom logic/formula validation - aligns with the actual docs terminology --- docs/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 8617c350..9f597ff0 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -205,7 +205,7 @@ How do I load JSON data into DHTMLX Spreadsheet using the load() or parse() meth **Working with cells and ranges** ~~~ -How do I add custom cell validation in DHTMLX Spreadsheet? Use the docs. +How do I add data validation with a drop-down list to cells in DHTMLX Spreadsheet? Use the docs. ~~~ ~~~ How do I use setStyle() to apply background color and text formatting to a range of cells in DHTMLX Spreadsheet? From a36a29e9e28422d37a0201884495c4709602c7f0 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 8 Jun 2026 18:35:02 +0300 Subject: [PATCH 03/14] [fix] correct errors in MCP server guide - fix data loading link: /excel_import_export/ -> /loading_data/ - add percent to the number formats list - fix example prompt: lock -> freeze for rows/columns - fix Cursor section intro phrasing for consistency - fix missing noun in Claude Code manual setup sentence --- docs/mcp-server.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 9f597ff0..d62d0529 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -26,12 +26,12 @@ The MCP server indexes the full DHTMLX Spreadsheet documentation. Common scenari - Looking up the current API for spreadsheet [methods](/api/overview/methods_overview/), [events](/api/overview/events_overview/), and [properties](/api/overview/properties_overview/), including signatures and return types. - Generating ready-to-run Spreadsheet [initialization](/initialization/) and [configuration](/configuration/) code based on a description of what you need. -- Exploring [number formats](/number_formatting/) (common, number, currency, date, time, and others) and understanding how to define custom format masks. +- Exploring [number formats](/number_formatting/) (common, number, percent, currency, date, time, and others) and understanding how to define custom format masks. - Working with [formulas and functions](/functions/): finding supported functions, understanding formula syntax, and using the calculation API. - Configuring [columns and rows](/work_with_rows_cols/), including setting widths, hiding, and freezing. - Applying cell and range [formatting](/data_formatting/) and styles, including text color, alignment, borders, and background colors. - Handling [Spreadsheet events](/handling_events/) to respond to value changes, cell selection, editor actions, and sheet-level interactions. -- Exploring [multi-sheet support](/working_with_sheets/), [data loading and export](/excel_import_export/) (JSON and Excel), and integration with frameworks such as [React](/react/), [Vue](/vuejs_integration/), [Angular](/angular_integration/), and [Svelte](/svelte_integration/). +- Exploring [multi-sheet support](/working_with_sheets/), [data loading and export](/loading_data/) (JSON and Excel), and integration with frameworks such as [React](/react/), [Vue](/vuejs_integration/), [Angular](/angular_integration/), and [Svelte](/svelte_integration/). ## How DHTMLX MCP server works @@ -61,7 +61,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`: +For manual setup, add the following configuration to your `mcp.json`: ~~~jsx { @@ -80,7 +80,7 @@ For manual setup, add the following to your `mcp.json`: The [official documentation](https://cursor.com/en-US/docs/mcp) covers all MCP configuration options for Cursor. ::: -Steps to add the server: +To add the server: 1. Open Settings (`Cmd+Shift+J` on Mac, `Ctrl+Shift+J` on Windows/Linux) 2. Go to **Tools & MCP** @@ -226,7 +226,7 @@ How do I set a dropdown list cell type for a column in DHTMLX Spreadsheet? **Columns, rows, and sheets** ~~~ -How do I lock specific rows and columns in DHTMLX Spreadsheet? +How do I freeze specific rows and columns in DHTMLX Spreadsheet? ~~~ ~~~ How do I add and switch between sheets in DHTMLX Spreadsheet programmatically? From 311ba9c3a7baaf760bf8ac671afeaf4b9ca59909 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 13 Jul 2026 12:48:34 +0300 Subject: [PATCH 04/14] [update] revise MCP server guide intro and Antigravity setup - reworded the intro paragraphs so they read distinct from the Diagram/Vault MCP guides instead of a shared template with swapped-in terms, and linked the mentioned features - replaced the separate Gemini CLI and Antigravity (Google) sections with a single Google Antigravity section covering Antigravity 2.0 and the new Antigravity CLI setup, matching the Diagram/Suite guides --- docs/mcp-server.md | 61 +++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index d62d0529..4519fda8 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -6,9 +6,9 @@ description: Connect AI coding assistants to live DHTMLX Spreadsheet documentati # Using DHTMLX MCP server with DHTMLX Spreadsheet -Building spreadsheet applications requires precise handling of formulas, cell formatting, data loading, and sheet management. When an AI tool generates DHTMLX Spreadsheet code from outdated training data, the result is incorrect formula syntax, missing API methods, and configuration options that no longer match the current library. +[DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. AI coding assistants trained on older data often get this wrong, producing invalid formula syntax, calling API methods that no longer exist, or applying configuration options that have since changed. -The DHTMLX MCP server solves this by giving AI tools direct access to the live Spreadsheet documentation. Whether you are working with [number formats](/number_formatting/), the [Sheet Manager API](/api/overview/sheetmanager_overview/), [data loading](/loading_data/), or any other part of the library, the assistant retrieves the current reference before generating a response. +That's where the DHTMLX MCP server comes in: it gives AI tools direct access to the live Spreadsheet documentation. It covers everything from [number formats](/number_formatting/) and the [Sheet Manager API](/api/overview/sheetmanager_overview/) to [data loading](/loading_data/) and beyond, so the assistant can pull the current reference material before it writes any code. #### MCP endpoint @@ -97,39 +97,15 @@ To add the server: } ~~~ -### Gemini CLI +### Google Antigravity -:::info -See the [official documentation](https://geminicli.com/docs/tools/mcp-server/) for a complete guide to using MCP servers with the Gemini CLI. -::: - -To add the server through the CLI: - -~~~jsx -gemini mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp -~~~ - -For manual configuration, open `~/.gemini/settings.json` and add: - -~~~jsx -{ - "mcpServers": { - "dhtmlx-mcp": { - "url": "https://docs.dhtmlx.com/mcp" - } - } -} -~~~ - -Restart Gemini CLI after saving the file. - -### Antigravity (Google) +#### Antigravity 2.0 :::info -The [official documentation](https://antigravity.google/docs/mcp) explains how to connect MCP servers in Antigravity. +Refer to the [official documentation](https://antigravity.google/docs/mcp) for full details on MCP server integration in Antigravity. ::: -To add the server: +These are the steps to complete for connecting DHTMLX MCP server with Google Antigravity: 1. Open the command palette 2. Type "mcp add" @@ -144,6 +120,31 @@ dhtmlx-mcp 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 From c7f6895f25a36c372dff641d70f142b0e24f2214 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Fri, 17 Jul 2026 13:14:54 +0300 Subject: [PATCH 05/14] [update] rework Spreadsheet MCP guide for uniqueness - reworded title, description, and all six section headings that were duplicated word-for-word (or near it) across other DHTMLX product MCP guides - reworded the "Where MCP helps" and "How it works" opening sentences and the intro's MCP-server-solution clause for the same reason - added a Search vs Inference workflow explanation to the "How it works" section - updated the ChatGPT setup section with the current OpenAI docs URL and note severity --- docs/mcp-server.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 4519fda8..635e6cd5 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -1,14 +1,14 @@ --- sidebar_label: DHTMLX MCP server -title: Using DHTMLX MCP server with DHTMLX Spreadsheet -description: Connect AI coding assistants to live DHTMLX Spreadsheet documentation via the DHTMLX MCP server. Setup guides for Claude Code, Cursor, Gemini CLI, and ChatGPT. +title: Give AI assistants live DHTMLX Spreadsheet docs via MCP +description: Live DHTMLX Spreadsheet documentation reaches AI assistants through the MCP server, spanning formulas, cell formatting, data loading, and sheet management. --- -# Using DHTMLX MCP server with DHTMLX Spreadsheet +# DHTMLX Spreadsheet meets the MCP server: live docs for AI [DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. AI coding assistants trained on older data often get this wrong, producing invalid formula syntax, calling API methods that no longer exist, or applying configuration options that have since changed. -That's where the DHTMLX MCP server comes in: it gives AI tools direct access to the live Spreadsheet documentation. It covers everything from [number formats](/number_formatting/) and the [Sheet Manager API](/api/overview/sheetmanager_overview/) to [data loading](/loading_data/) and beyond, so the assistant can pull the current reference material before it writes any code. +The DHTMLX MCP server fixes this by putting the live Spreadsheet reference one query away, wherever the assistant is working. Point it at [number formats](/number_formatting/), the [Sheet Manager API](/api/overview/sheetmanager_overview/), or [data loading](/loading_data/), and it checks the current documentation before generating a single line of code. #### MCP endpoint @@ -20,9 +20,9 @@ https://docs.dhtmlx.com/mcp The DHTMLX MCP server covers all major DHTMLX products, not only DHTMLX Spreadsheet. The same endpoint and configuration instructions work regardless of which DHTMLX component you are building with. ::: -## Where MCP server helps with Spreadsheet +## MCP server coverage for Spreadsheet -The MCP server indexes the full DHTMLX Spreadsheet documentation. Common scenarios include: +Every page of the DHTMLX Spreadsheet documentation is searchable through the MCP server. Typical use cases: - Looking up the current API for spreadsheet [methods](/api/overview/methods_overview/), [events](/api/overview/events_overview/), and [properties](/api/overview/properties_overview/), including signatures and return types. - Generating ready-to-run Spreadsheet [initialization](/initialization/) and [configuration](/configuration/) code based on a description of what you need. @@ -33,15 +33,15 @@ The MCP server indexes the full DHTMLX Spreadsheet documentation. Common scenari - Handling [Spreadsheet events](/handling_events/) to respond to value changes, cell selection, editor actions, and sheet-level interactions. - Exploring [multi-sheet support](/working_with_sheets/), [data loading and export](/loading_data/) (JSON and Excel), and integration with frameworks such as [React](/react/), [Vue](/vuejs_integration/), [Angular](/angular_integration/), and [Svelte](/svelte_integration/). -## How DHTMLX MCP server works +## What happens when the assistant queries the MCP server -The DHTMLX MCP server combines Retrieval-Augmented Generation (RAG) with the Model Context Protocol (MCP) so that AI assistants can query documentation on demand rather than relying solely on training data. +Two technologies power this: a Retrieval-Augmented Generation (RAG) index and the Model Context Protocol (MCP), which together let an assistant fetch live Spreadsheet reference material mid-conversation rather than relying on what it memorized in training. The server exposes this through two workflows, Search and Inference. Search hands back the matching reference pages as context, leaving the assistant to write the answer; Inference reads those pages itself and returns the finished answer, so the assistant only has to pass it on. -For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The server matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context. The assistant then generates code based on the current API rather than a training snapshot. +For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The Search workflow matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context; the assistant then generates code based on the current API rather than a training snapshot. Inference can also take that same kind of query and skip straight to an answer: it reads the reference pages itself and hands the assistant a finished response instead of raw material to work from. -## Connect the MCP server to your AI tool +## Wiring the MCP server into your AI tool -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. +Spreadsheet projects tend to live inside whichever AI-assisted editor a team already uses, so the server needs to reach that same tool. Most AI development tools let you add MCP endpoints through a CLI command or a JSON configuration file, and in either case the underlying step is registering the server URL. ~~~jsx https://docs.dhtmlx.com/mcp @@ -148,7 +148,7 @@ Then run `agy` in the terminal. ### ChatGPT :::info -The [official documentation](https://developers.openai.com/api/docs/guides/tools-connectors-mcp) covers MCP connector setup for ChatGPT. +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: @@ -171,7 +171,7 @@ https://docs.dhtmlx.com/mcp After you create the connector, ChatGPT pulls documentation from the MCP server during conversations. -:::warning +:::info For intensive coding workflows, other MCP-aware tools may be a better fit. ::: @@ -179,7 +179,7 @@ For intensive coding workflows, other MCP-aware tools may be a better fit. 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. -## Privacy and data handling +## Data privacy notes The MCP server runs as a hosted service. It does not run locally, does not read files from your environment, and does not store personal user information. @@ -187,9 +187,9 @@ Queries may be logged for debugging and service improvement purposes. Organizations that require stricter privacy controls can request a commercial deployment option with query logging disabled. For inquiries, contact `info@dhtmlx.com`. -## Example prompts for Spreadsheet with AI +## Sample prompts for building spreadsheets with AI -Once you connect the MCP server, phrase your prompts around a concrete goal so the assistant knows which part of the Spreadsheet API to retrieve. The prompts below are organized by task type. Copy and adapt them as needed. +The more specific the goal in your prompt, the more precisely the assistant can target the right part of the Spreadsheet API. Prompts below are grouped by task category, ready to copy and adjust to your data. **Loading and exporting data** @@ -236,7 +236,7 @@ How do I add and switch between sheets in DHTMLX Spreadsheet programmatically? How do I handle the afterEditEnd event and get the updated cell value? ~~~ -## Tips for effective Spreadsheet prompts +## Prompting tips for Spreadsheet work - **Name the target object.** Distinguish between the spreadsheet instance, a specific sheet, a cell, and a range. For example: "on the spreadsheet instance" vs. "for a specific cell range" vs. "on sheet 2". A narrower target helps the server retrieve the right reference pages. - **Include the cell type or data format.** Prompts like "a date number format" or "a number format with two decimal places" retrieve more precise documentation than a generic "a cell". Mention the type whenever you configure columns or apply formats. From 26701eb023e13da1f10e7b32269d939ea420e405 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 20 Jul 2026 11:17:14 +0300 Subject: [PATCH 06/14] [update] improve SEO of MCP server guide - aligned title and H1 to lead with the primary keyword phrase - demoted MCP endpoint from a heading to bold text, fixing an H1-to-H4 heading skip - linked the guide from the homepage, how-to-start tutorial, and guides overview for internal discoverability --- docs/guides.md | 4 ++++ docs/how_to_start.md | 1 + docs/index.md | 1 + docs/mcp-server.md | 6 +++--- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/guides.md b/docs/guides.md index ee2293ea..eec54806 100644 --- a/docs/guides.md +++ b/docs/guides.md @@ -38,6 +38,10 @@ Shows the ways of loading data into Spreadsheet, handling events and using main - [Integration with Svelte](svelte_integration.md) - GitHub demo of using Spreadsheet in a Svelte app - [Integration with Vue.js](vuejs_integration.md) - GitHub demo of using Spreadsheet in a Vue app +### AI-assisted development + +- [DHTMLX MCP server](mcp-server.md) - connect AI coding assistants to live Spreadsheet documentation + ## User guides The User guides are provided to make work with Spreadsheet easy for your end users. diff --git a/docs/how_to_start.md b/docs/how_to_start.md index 5eb4b4f1..3e1fcc8b 100644 --- a/docs/how_to_start.md +++ b/docs/how_to_start.md @@ -145,3 +145,4 @@ That's all. Just four simple steps and you have a handy tool for work with data - [](index.md) - [](guides.md) - [](api/api_overview.md) +- [](mcp-server.md) diff --git a/docs/index.md b/docs/index.md index f5de9de2..45d24539 100644 --- a/docs/index.md +++ b/docs/index.md @@ -66,3 +66,4 @@ To dive deeper into the specificity of DHTMLX Spreadsheet, go into more profound - [API overview](api/api_overview.md) - [Guides](guides.md) +- [MCP server](mcp-server.md) for AI coding assistants diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 635e6cd5..0c3db5a5 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -1,16 +1,16 @@ --- sidebar_label: DHTMLX MCP server -title: Give AI assistants live DHTMLX Spreadsheet docs via MCP +title: DHTMLX Spreadsheet MCP server for AI assistants description: Live DHTMLX Spreadsheet documentation reaches AI assistants through the MCP server, spanning formulas, cell formatting, data loading, and sheet management. --- -# DHTMLX Spreadsheet meets the MCP server: live docs for AI +# DHTMLX Spreadsheet MCP server: live docs for AI assistants [DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. AI coding assistants trained on older data often get this wrong, producing invalid formula syntax, calling API methods that no longer exist, or applying configuration options that have since changed. The DHTMLX MCP server fixes this by putting the live Spreadsheet reference one query away, wherever the assistant is working. Point it at [number formats](/number_formatting/), the [Sheet Manager API](/api/overview/sheetmanager_overview/), or [data loading](/loading_data/), and it checks the current documentation before generating a single line of code. -#### MCP endpoint +**MCP endpoint** ~~~jsx https://docs.dhtmlx.com/mcp From 2699b701a0ee8833d95543d6c7cb173034abfb96 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 20 Jul 2026 11:33:44 +0300 Subject: [PATCH 07/14] [update] italicize Search and Inference workflow names - Search and Inference are proper names for the MCP server's two workflows, not ordinary nouns, so both are now italicized wherever they appear in the "How it works" section --- docs/mcp-server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 0c3db5a5..cbba26f5 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -35,9 +35,9 @@ Every page of the DHTMLX Spreadsheet documentation is searchable through the MCP ## What happens when the assistant queries the MCP server -Two technologies power this: a Retrieval-Augmented Generation (RAG) index and the Model Context Protocol (MCP), which together let an assistant fetch live Spreadsheet reference material mid-conversation rather than relying on what it memorized in training. The server exposes this through two workflows, Search and Inference. Search hands back the matching reference pages as context, leaving the assistant to write the answer; Inference reads those pages itself and returns the finished answer, so the assistant only has to pass it on. +Two technologies power this: a Retrieval-Augmented Generation (RAG) index and the Model Context Protocol (MCP), which together let an assistant fetch live Spreadsheet reference material mid-conversation rather than relying on what it memorized in training. The server exposes this through two workflows, *Search* and *Inference*. *Search* hands back the matching reference pages as context, leaving the assistant to write the answer; *Inference* reads those pages itself and returns the finished answer, so the assistant only has to pass it on. -For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The Search workflow matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context; the assistant then generates code based on the current API rather than a training snapshot. Inference can also take that same kind of query and skip straight to an answer: it reads the reference pages itself and hands the assistant a finished response instead of raw material to work from. +For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The *Search* workflow matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context; the assistant then generates code based on the current API rather than a training snapshot. *Inference* can also take that same kind of query and skip straight to an answer: it reads the reference pages itself and hands the assistant a finished response instead of raw material to work from. ## Wiring the MCP server into your AI tool From 8cb42332433d785ad9c1255a4290871cdefa5ac2 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 20 Jul 2026 13:28:25 +0300 Subject: [PATCH 08/14] [update] fix Spreadsheet MCP guide title/H1 tail collision - reworded the title and H1 tail so they no longer match Kanban and Todolist's near-identical "MCP server for AI tools/assistants" ending, which all three converged on after being reworded to lead with the keyword phrase for SEO --- docs/mcp-server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index cbba26f5..f266fc20 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -1,10 +1,10 @@ --- sidebar_label: DHTMLX MCP server -title: DHTMLX Spreadsheet MCP server for AI assistants +title: DHTMLX Spreadsheet MCP server, always current for AI description: Live DHTMLX Spreadsheet documentation reaches AI assistants through the MCP server, spanning formulas, cell formatting, data loading, and sheet management. --- -# DHTMLX Spreadsheet MCP server: live docs for AI assistants +# DHTMLX Spreadsheet MCP server: no more stale formula syntax [DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. AI coding assistants trained on older data often get this wrong, producing invalid formula syntax, calling API methods that no longer exist, or applying configuration options that have since changed. From c2388c0145c0a1527067cd5b84d29611863b8f36 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 20 Jul 2026 17:25:42 +0300 Subject: [PATCH 09/14] [dev] clarify mcp-server guide wording - reworded RAG/MCP explanation for clarity - adjusted Search/Inference workflow example wording --- docs/mcp-server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index f266fc20..51af69a6 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -35,9 +35,9 @@ Every page of the DHTMLX Spreadsheet documentation is searchable through the MCP ## What happens when the assistant queries the MCP server -Two technologies power this: a Retrieval-Augmented Generation (RAG) index and the Model Context Protocol (MCP), which together let an assistant fetch live Spreadsheet reference material mid-conversation rather than relying on what it memorized in training. The server exposes this through two workflows, *Search* and *Inference*. *Search* hands back the matching reference pages as context, leaving the assistant to write the answer; *Inference* reads those pages itself and returns the finished answer, so the assistant only has to pass it on. +Not every question needs the same treatment, so the assistant picks between two workflows depending on what's being asked: it can request raw reference pages and write the answer itself (that's *Search*), or ask the server to read those pages and hand back a finished answer instead (that's *Inference*). Either way, the underlying lookup runs on a Retrieval-Augmented Generation (RAG) index built from the Spreadsheet documentation, served through the Model Context Protocol (MCP). -For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The *Search* workflow matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context; the assistant then generates code based on the current API rather than a training snapshot. *Inference* can also take that same kind of query and skip straight to an answer: it reads the reference pages itself and hands the assistant a finished response instead of raw material to work from. +For example, when you ask *"How do I define a custom number format mask for currency values in DHTMLX Spreadsheet?"*, the assistant sends the prompt via the MCP endpoint. The *Search* workflow matches it against the number formatting documentation, retrieves the relevant reference pages, and returns them as context; the assistant then writes the code against the API as it exists today, not as a training snapshot remembers it. *Inference* can also take that same kind of query and skip straight to an answer: it reads the reference pages itself and hands the assistant a finished response instead of raw material to work from. ## Wiring the MCP server into your AI tool From f3746fe27a609b20f3fa0ba26baa08f53143861c Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 27 Jul 2026 11:50:58 +0300 Subject: [PATCH 10/14] [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, Todolist, Diagram, Booking, and Pivot MCP guides - same links and facts, different sentence construction throughout --- docs/mcp-server.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 51af69a6..600d42e3 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -41,7 +41,7 @@ For example, when you ask *"How do I define a custom number format mask for curr ## Wiring the MCP server into your AI tool -Spreadsheet projects tend to live inside whichever AI-assisted editor a team already uses, so the server needs to reach that same tool. Most AI development tools let you add MCP endpoints through a CLI command or a JSON configuration file, and in either case the underlying step is registering the server URL. +Registering the MCP server is a one-time step per tool, though the motion changes: a typed CLI command here, a pasted JSON snippet there. After that, every Spreadsheet project opened in that tool can reach the live documentation. ~~~jsx https://docs.dhtmlx.com/mcp @@ -52,7 +52,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. +Claude Code documents every MCP connection option in its [official documentation](https://code.claude.com/docs/en/mcp). ::: To register the server from the command line, run: @@ -77,7 +77,7 @@ For manual setup, add the following configuration to your `mcp.json`: ### Cursor :::info -The [official documentation](https://cursor.com/en-US/docs/mcp) covers all MCP configuration options for Cursor. +Cursor documents its MCP setup in full in the [official documentation](https://cursor.com/en-US/docs/mcp). ::: To add the server: @@ -102,7 +102,7 @@ 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. +See the [official documentation](https://antigravity.google/docs/mcp) for everything on MCP server integration in Antigravity. ::: These are the steps to complete for connecting DHTMLX MCP server with Google Antigravity: @@ -123,7 +123,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. +See the [related guide](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes) if you're migrating from Gemini CLI to Antigravity CLI. ::: To connect the DHTMLX MCP server to Antigravity CLI, create `mcp_config.json` in one of these locations: @@ -148,7 +148,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. +For the complete MCP connector setup in ChatGPT, see the [official documentation](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt). ::: Steps to configure the connector: @@ -177,7 +177,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. +Look for "Model Context Protocol" or "Context Sources" in the settings of any other AI coding tool, and add `https://docs.dhtmlx.com/mcp` there as a custom source. ## Data privacy notes From c9f5246b6ddc82f899b58dd84654d58bbe0c372e Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 29 Jul 2026 12:18:27 +0300 Subject: [PATCH 11/14] [update] rework self-answering example prompts - reworded a prompt that named both load() and parse() into a genuine "what's the difference" question instead of a redundant restatement of an earlier prompt --- docs/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 600d42e3..3b52302d 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -200,7 +200,7 @@ I want to load data into DHTMLX Spreadsheet from a JSON file. How do I do that? How do I export a DHTMLX Spreadsheet to an Excel file? What method should I call? ~~~ ~~~ -How do I load JSON data into DHTMLX Spreadsheet using the load() or parse() methods? +What's the difference between DHTMLX Spreadsheet's load() and parse() methods for JSON data? ~~~ **Working with cells and ranges** From 12d3fe2235408c6a985bc227d9b2dab9e1f3df88 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 29 Jul 2026 13:48:08 +0300 Subject: [PATCH 12/14] [update] vary tool-list lead-in sentence in MCP guide - reworded "Below are setup instructions for commonly used tools." which was copied verbatim across seven guides (Kanban, Spreadsheet, Todolist, Booking, Pivot, Vault, RichText) --- docs/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index 3b52302d..e6b6e569 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -47,7 +47,7 @@ Registering the MCP server is a one-time step per tool, though the motion change https://docs.dhtmlx.com/mcp ~~~ -Below are setup instructions for commonly used tools. +Popular tools each get their own setup steps below. ### Claude Code From d321c4dac1d830efa2a8358ee26807e673d328af Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 30 Jul 2026 12:17:04 +0300 Subject: [PATCH 13/14] [update] warm up intro paragraph in MCP guide - reworded the intro's second sentence from a failure-list framing (assistants "get this wrong, producing invalid...") to a negation-led statement naming what the correct code depends on --- docs/mcp-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index e6b6e569..b2a2fec3 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -6,7 +6,7 @@ description: Live DHTMLX Spreadsheet documentation reaches AI assistants through # DHTMLX Spreadsheet MCP server: no more stale formula syntax -[DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. AI coding assistants trained on older data often get this wrong, producing invalid formula syntax, calling API methods that no longer exist, or applying configuration options that have since changed. +[DHTMLX Spreadsheet](/) applications depend on getting [formulas](/functions/), [cell formatting](/data_formatting/), [data loading](/loading_data/), and [sheet management](/working_with_sheets/) exactly right. None of that comes from memorized training data: it takes current formula syntax, the API methods Spreadsheet ships today, and configuration options that haven't changed since. The DHTMLX MCP server fixes this by putting the live Spreadsheet reference one query away, wherever the assistant is working. Point it at [number formats](/number_formatting/), the [Sheet Manager API](/api/overview/sheetmanager_overview/), or [data loading](/loading_data/), and it checks the current documentation before generating a single line of code. From e147d39b1b8c756351117113aab27f7c79931789 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 30 Jul 2026 16:26:25 +0300 Subject: [PATCH 14/14] [fix] make Setup section reference its own URL - the intro sentence never mentioned the URL that immediately followed it in a code block - added a direct lead-in ("point your tool at this URL:") right before the code block, and moved the payoff sentence to after it so the link follows its description instead of an unrelated closing sentence --- docs/mcp-server.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index b2a2fec3..7c0f89e5 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -41,12 +41,14 @@ For example, when you ask *"How do I define a custom number format mask for curr ## Wiring the MCP server into your AI tool -Registering the MCP server is a one-time step per tool, though the motion changes: a typed CLI command here, a pasted JSON snippet there. After that, every Spreadsheet project opened in that tool can reach the live documentation. +Registering the MCP server is a one-time step per tool, though the motion changes: a typed CLI command here, a pasted JSON snippet there. Either way, point your tool at this URL: ~~~jsx https://docs.dhtmlx.com/mcp ~~~ +After that, every Spreadsheet project opened in that tool can reach the live documentation. + Popular tools each get their own setup steps below. ### Claude Code