# Improved Documentation Tools for the Text Control MCP Server

> The Text Control MCP server now includes 9 documentation tools. AI assistants can look up and check TX Text Control API names against the release a project uses, read documentation pages, compare products, and see what changed between releases. Same endpoint, nothing to reconfigure.

- **Author:** Jonathan Maron
- **Published:** 2026-11-02
- **Modified:** 2026-11-07
- **Description:** The Text Control MCP server now includes 9 documentation tools. AI assistants can look up and check TX Text Control API names against the release a project uses, read documentation pages, compare products, and see what changed between releases. Same endpoint, nothing to reconfigure.
- **11 min read** (2011 words)
- **Tags:**
  - AI
  - MCP
  - Documentation
- **Web URL:** https://www.textcontrol.com/blog/2026/11/02/text-control-mcp-server-improved-documentation-tools/
- **LLMs URL:** https://www.textcontrol.com/blog/2026/11/02/text-control-mcp-server-improved-documentation-tools/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2026/11/02/text-control-mcp-server-improved-documentation-tools/llms-full.txt

---

Today, we are announcing improved **documentation tools** for the [Text Control MCP Server](https://www.textcontrol.com/blog/2026/04/07/text-control-mcp-server/llms-full.txt).

Your AI assistant can now look up TX Text Control APIs, check the API names in your code against the version your project targets, read documentation pages, find working code samples, and see what changed between releases — all from the endpoint it already uses.

The following tools that cover TX Text Control .NET Server, TX Text Control .NET for Windows Forms and WPF, DS Server, and TX Spell .NET for Windows Forms and WPF are now available:

Documentation Tools 
--------------------

Run a search across guides and API reference, resolve and verify API names, browse the members of a class, pull up code samples, check a page in the other products, and find out what a release changed. Begin with `documentation_products`, which tells which products and releases your project targets. To get the complete page as Markdown, ask for its *full content*.

documentation\_products 
------------------------

Find out which TX Text Control product a package belongs to, which `product_name_id` the other tools expect, and which version is current. Hand over the package references of a project, and the tool names its products and releases.

```plaintext
Give me an overview of all TX Text Control products and their current versions.
```

Calls `documentation_products` without arguments.

```plaintext
We use TXTextControl.TextControl.ASP.SDK 33.0.1. Which product and release is this?
```

Calls `documentation_products` with `packages: ["TXTextControl.TextControl.ASP.SDK@33.0.1"]`.

```plaintext
Look at my package.json and tell me which Text Control products the front end uses.
```

Reads the npm dependencies, then calls `documentation_products` with them in `packages`.

```plaintext
Which npm packages belong to TX Text Control .NET Server?
```

Calls `documentation_products` and reads the npm `packages` of `tx-text-control-dotnet-server`.

documentation\_search 
----------------------

Search guides and API reference at once. A hit includes the passage that matched and, where the hit is an API, its declaration. Leave out the product to search across all products.

```plaintext
How can I convert a DOCX file to PDF on the server?
```

Calls `documentation_search` with `query: "convert docx to pdf"` and `product_name_id: "tx-text-control-dotnet-server"`.

```plaintext
Where is ApplicationField documented?
```

Calls `documentation_search` with `query: "ApplicationField"`.

```plaintext
Find three reference pages about table cells in TX Text Control .NET for Windows Forms.
```

Calls `documentation_search` with `query: "table cells"`, `product_name_id: "tx-text-control-dotnet-winforms"`, `section: ["reference"]`, and `limit: 3`.

```plaintext
How do I merge a Word template with JSON data through DS Server?
```

Calls `documentation_search` with `query: "merge a word template with json data"`, `product_name_id: "ds-server"`, and `section: ["documentation"]`.

documentation\_lookup 
----------------------

Resolve a name to its reference page: classes, members, enumeration values, JavaScript objects, and DS Server endpoints. The answer carries kind, summary, and declarations. With `content: true`, the page follows as Markdown.

```plaintext
Show me the declaration of MailMerge.MergeJsonData in Visual Basic.
```

Calls `documentation_lookup` with `symbol: "MailMerge.MergeJsonData"`, `product_name_id: "tx-text-control-dotnet-server"`, and `languages: ["vbnet"]`.

```plaintext
Can I use ServerTextControl.Save in a project on TX Text Control 30?
```

Calls `documentation_lookup` with `symbol: "ServerTextControl.Save"`, `product_name_id: "tx-text-control-dotnet-server"`, and `version: "30"`.

```plaintext
What does the DS Server endpoint GET /admin/securityprofiles return?
```

Calls `documentation_lookup` with `symbol: "GET /admin/securityprofiles"` and `product_name_id: "ds-server"`.

```plaintext
How do I construct a MailMerge object?
```

Calls `documentation_lookup` with `symbol: "new MailMerge"`.

documentation\_check\_symbols 
------------------------------

Verify every API name a piece of code uses, for one product and, optionally, one release. For each name, the result says whether it exists, is deprecated, arrived after that release, lives on a different type or product, appears only in the guides, is ambiguous, or does not exist — with declarations for the real ones and alternatives for the rest.

```plaintext
Before you show me the code, verify its TX Text Control calls against release 32 of .NET Server.
```

Extracts the `Type.Member` names, then calls `documentation_check_symbols` with them in `symbols`, `product_name_id: "tx-text-control-dotnet-server"`, and `version: "32"`.

```plaintext
Is there a ServerTextControl.Print method?
```

Calls `documentation_check_symbols` with `symbols: ["ServerTextControl.Print"]` and `product_name_id: "tx-text-control-dotnet-server"`. The answer confirms the method and returns its overloads.

```plaintext
Does my WPF code use anything that is obsolete?
```

Calls `documentation_check_symbols` with the names in `symbols` and `product_name_id: "tx-text-control-dotnet-wpf"`, and lists those with `status: "deprecated"`.

```plaintext
Check the JavaScript calls in my Document Editor integration.
```

Calls `documentation_check_symbols` with the names in `symbols`, `product_name_id: "tx-text-control-dotnet-server"`, and `api: "javascript"`.

documentation\_get 
-------------------

Open one page of the documentation: by its URL, an old documentation URL, a legacy page ID, or a symbol name. `content: true` adds the page as Markdown, `sections` limits it to the parts you need.

```plaintext
Show me only the examples of MailMerge.Merge.
```

Calls `documentation_get` with `id: "MailMerge.Merge"`, `content: true`, and `sections: ["examples"]`.

```plaintext
Open the guide about digital signatures for TX Text Control .NET Server.
```

Calls `documentation_search` to locate the guide, then `documentation_get` with its URL as `id` and `content: true`.

```plaintext
My notes link to https://docs.textcontrol.com/textcontrol/asp-dotnet/ref.txtextcontrol.servertextcontrol.save.method.htm. Where is that page now?
```

Calls `documentation_get` with the old URL as `id`, which leads to the page in the new documentation.

```plaintext
Show me the Windows Forms page of TextControl.Save, with Visual Basic code only.
```

Calls `documentation_get` with `id: "TextControl.Save"`, `product_name_id: "tx-text-control-dotnet-winforms"`, `languages: ["vbnet"]`, and `content: true`.

documentation\_list 
--------------------

Show the children of a page: the types in a namespace, the members of a class, the values of an enumeration, or the pages of a guide. Leave out the parent to start at the top level of a product.

```plaintext
Which events does ServerTextControl have?
```

Calls `documentation_list` with `parent: "ServerTextControl"`, `product_name_id: "tx-text-control-dotnet-server"`, and `kind: ["event"]`.

```plaintext
List the values of the BinaryStreamType enumeration.
```

Calls `documentation_lookup` with `symbol: "TXTextControl.BinaryStreamType"` and `api: "dotnet"` to find the enumeration page, then `documentation_list` with its URL as `parent`.

```plaintext
What is at the top level of the TX Text Control .NET for WPF documentation?
```

Calls `documentation_list` with `product_name_id: "tx-text-control-dotnet-wpf"`.

```plaintext
Show me the methods of MailMerge, five at a time.
```

Calls `documentation_list` with the URL of the MailMerge class page as `parent`, `kind: ["method"]`, and `limit: 5`, then again with `offset: 5`.

documentation\_equivalents 
---------------------------

Take a page or a symbol to the other products: the same page under its name there, and the products that do not have it. Handy when code moves between Windows Forms, WPF, and ASP.NET.

```plaintext
What is TextControl.Save called in TX Text Control .NET for WPF?
```

Calls `documentation_equivalents` with `symbol: "TextControl.Save"` and `product_name_id: "tx-text-control-dotnet-winforms"`.

```plaintext
Which products document ServerTextControl.Save?
```

Calls `documentation_equivalents` with `symbol: "ServerTextControl.Save"`, and reports `pages` and `missingIn`.

```plaintext
This WPF page is open in my browser. Does .NET Server have the same page?
```

Calls `documentation_equivalents` with the URL of the page as `id`.

documentation\_examples 
------------------------

Get code that already works: samples from the documentation with the page they come from, and the blog posts whose code calls the same APIs.

```plaintext
Show me Visual Basic code that merges a DataTable into a template.
```

Calls `documentation_examples` with `query: "mail merge data table"`, `product_name_id: "tx-text-control-dotnet-server"`, and `languages: ["vbnet"]`.

```plaintext
How do I merge business objects into a template?
```

Calls `documentation_examples` with `query: "merge business objects into a template"` and `product_name_id: "tx-text-control-dotnet-server"`.

```plaintext
I need an Angular example for the Document Viewer, two samples are enough.
```

Calls `documentation_examples` with `query: "angular document viewer"`, `languages: ["javascript"]`, and `limit: 2`.

```plaintext
Find code that adds a digital signature to a PDF.
```

Calls `documentation_examples` with `query: "digital signature pdf"`.

documentation\_whats\_new 
--------------------------

See what a release brought: its release notes and each class and member it added. With `since`, everything after the release you are leaving, together with the upgrade guide, the breaking changes, and the deprecated APIs. Add `version` to stop at the release you are moving to.

```plaintext
What did the latest TX Text Control .NET for Windows Forms release add?
```

Calls `documentation_whats_new` with `product_name_id: "tx-text-control-dotnet-winforms"`.

```plaintext
We are still on TX Text Control 31. What changed since then?
```

Calls `documentation_whats_new` with `product_name_id: "tx-text-control-dotnet-server"` and `since: "31"`.

```plaintext
We are upgrading from TX Text Control 32 to 33. What changes?
```

Calls `documentation_whats_new` with `product_name_id: "tx-text-control-dotnet-server"`, `since: "32"`, and `version: "33"`.

```plaintext
Which methods were introduced in TX Text Control .NET Server 32?
```

Calls `documentation_whats_new` with `product_name_id: "tx-text-control-dotnet-server"`, `version: "32"`, and `kind: ["method"]`.

 

### Know Your Project 

Everything starts with the product and the release. Ask your AI assistant to read your project file, and it passes the package references to `documentation_products`:

```plaintext
Read my .csproj and tell me which TX Text Control products and releases this project uses.
```

The answer names the `product_name_id` and the `version` that every other documentation tool takes. From then on, answers are about your product and your release: an API introduced after it is marked as not available, and the release notes start where you are.

### Look It Up Before Writing It 

When your AI assistant is about to call a TX Text Control API, `documentation_lookup` returns its kind, summary, signatures, and page. Short and qualified names both work, and so do constructors and DS Server REST endpoints:

```plaintext
What are the overloads of ServerTextControl.Load in C#?
```

A name that matches nothing is not a dead end: the answer lists the products that do document it, the guides whose code uses it, and the closest real names.

### Check the Code Before Showing It 

`documentation_check_symbols` takes up to 50 API names and checks each against your product and release. Here, a method that exists and one that belongs to another type:

```json
{
  "symbols": [
    {
      "name": "ServerTextControl.Load",
      "status": "found",
      "symbol": "TXTextControl.ServerTextControl.Load",
      "kind": "method",
      "introduced": "12.0",
      "signatures": [
        {
          "language": "csharp",
          "code": "public void Load(string path, StreamType streamType);"
        }
      ]
    },
    {
      "name": "ServerTextControl.LoadDocument",
      "status": "other_type",
      "suggestions": [
        "DocumentViewer.LoadDocument"
      ]
    }
  ],
  "counts": {
    "found": 1,
    "other_type": 1
  }
}
```

The response is shortened. Besides `found` and `other_type`, a name can be `deprecated`, `newer_than_version`, `other_product`, `guides_only`, `ambiguous`, or `not_found`. Your AI assistant fixes what is wrong before you see the code.

### Upgrade and Port with Confidence 

Upgrading from an older release? `documentation_whats_new` with `since` lists every class and member added after your release, together with the upgrade guide, the breaking changes, and the deprecated APIs:

```plaintext
I am upgrading from TX Text Control 32. What do I need to know?
```

Moving code from Windows Forms to WPF or to ASP.NET Core? `documentation_equivalents` finds the same page in the other products, under its name there, and the products without it:

```plaintext
What is the WPF equivalent of TextControl.Load in Windows Forms?
```

### Learn from Working Code 

`documentation_examples` returns code samples from the documentation, each with the page it comes from and the sentence that introduces it, plus the blog posts whose code uses the same APIs. Filter by language to get C#, Visual Basic, or JavaScript only:

```plaintext
Show me C# code that creates a PDF with TX Text Control .NET Server.
```

### Nothing to Reconfigure 

The documentation tools are part of the Text Control MCP Server, at the same endpoint:

```
https://www.textcontrol.com/mcp/v1
```

If you have not connected your AI assistant yet, the [configuration for every supported client](https://www.textcontrol.com/blog/2026/04/07/text-control-mcp-server/llms-full.txt) is in our announcement of the MCP server, together with example prompts for all 36 tools.

> **Always the Current Documentation**
> 
> The documentation tools read the same documentation as the documentation website. When a new release of the documentation is published, the MCP server answers from it.

### Get Started Today 

The documentation tools are live now. Ask your AI assistant which TX Text Control products your project uses, and let it look up, check, and verify the APIs it writes.

Connect your assistant and see what it finds. Happy coding!

---

## About Jonathan Maron

Jonathan is an experienced web development and operations leader based in Bremen, Germany. Since 2012, he has served as Head of Web Development and Operations at Text Control. After joining the company in 1996 as a web developer, he advanced through various technical and leadership roles, demonstrating his sustained professional growth and long-term commitment.

With 30 years of industry experience, Jonathan has developed deep expertise in Linux, Apache, MySQL, PHP, JavaScript, and SCSS. He combines strong architectural knowledge with operational excellence. Most recently, Jonathan led the integration of artificial intelligence into Text Control's web platform and engineering workflows. He built Model Context Protocol (MCP) services that make product assets directly accessible to AI assistants.

Fluent in English, French, and German, Jonathan effectively communicates across technical and business contexts, contributing to successful collaboration in international environments.

- [LinkedIn](https://www.linkedin.com/in/jonathanmaron/)
- [X](https://x.com/jonathanmaron)
- [GitHub](https://github.com/jonathanmaron?tab=repositories)

---

## Related Posts

- [AI Tools: MCP Server and Agent Skills](https://www.textcontrol.com/blog/2026/04/09/text-control-ai-tools-mcp-server-and-agent-skills/llms.txt)
- [Text Control MCP Server](https://www.textcontrol.com/blog/2026/04/07/text-control-mcp-server/llms.txt)
