Products Technologies Demo Docs Blog Support Company

Text Control MCP Server

The Text Control MCP server is a read-only Model Context Protocol endpoint that exposes 30 tools across 8 content domains. Each domain supports search, list, and get operations over JSON-RPC 2.0 via Streamable HTTP. Compatible with Claude Code, VS Code, Cursor, and JetBrains.

Text Control MCP Server

Today we are proud to announce the release of our Text Control MCP Server, a read-only Model Context Protocol (MCP) endpoint that gives AI assistants direct access to our blog posts, product features, API documentation, pricing, career postings, conference listings, newsletter archives, and the full-text site search index.

Add one URL to your AI assistant's configuration, and it can search, list, and retrieve Text Control content without leaving your editor.

Why Model Context Protocol (MCP)

The Model Context Protocol is an open standard that defines how AI assistants communicate with external data sources. Before MCP, connecting an assistant to a new data source meant writing custom integration code for each client. MCP replaces that with a single interface: the assistant sends JSON-RPC 2.0 requests over HTTP, and any conforming server responds with structured data.

One server, every client. Claude Code, VS Code with GitHub Copilot, Cursor, Claude Desktop, and JetBrains IDEs all connect to the same endpoint using the same protocol.

What the MCP Server Provides

30 tools organized into 8 content domains. Each domain follows a consistent pattern of search, list, and get operations. Search and list tools return up to 15 results by default. Ask for a specific number to control the limit parameter. Use the offset parameter to page through larger result sets. The examples below show what to ask your AI assistant and which tool it calls behind the scenes.

Search, list, and retrieve posts, tags, and authors.

Search posts by keywords across titles, summaries, authors, slugs, and tags.

Search the Text Control blog for posts about document editing.

Calls blog_search_posts with query: "document editing".

Find the 5 most relevant blog posts about mail merge.

Calls blog_search_posts with query: "mail merge" and limit: 5.

Are there any blog posts about PDF export?

Calls blog_search_posts with query: "PDF export".

Retrieve a single post by ID or by date and slug. Set content: true to include the full Markdown body.

Get the blog post with ID 20260217a.

Calls blog_get_post with id: "20260217a".

Show me the blog post from February 17, 2026 about building a custom backstage view.

Calls blog_get_post with year: "2026", month: "02", day: "17", and the matching slug.

Get the full Markdown content of blog post 20260217a.

Calls blog_get_post with id: "20260217a" and content: true.

List posts with optional date filters. All parameters - year, month, day, and limit - are optional.

List the 10 most recent blog posts.

Calls blog_list_posts with limit: 10.

What blog posts were published in March 2025?

Calls blog_list_posts with year: "2025" and month: "03".

Show me all blog posts from March 28, 2025.

Calls blog_list_posts with year: "2025", month: "03", and day: "28".

List posts filtered by a specific tag. The id parameter is the tag slug.

List all blog posts tagged with aspnet-core.

Calls blog_list_posts_by_tag with id: "aspnet-core".

Show me the 5 most recent posts about Angular.

Calls blog_list_posts_by_tag with id: "angular" and limit: 5.

List posts filtered by a specific author. The id parameter is the author slug.

List all blog posts written by Bjoern Meyer.

Calls blog_list_posts_by_author with id: "bjoern-meyer".

Show me the 3 most recent posts by Jonathan Maron.

Calls blog_list_posts_by_author with id: "jonathan-maron" and limit: 3.

List all tags with their labels and post counts.

What tags are used on the Text Control blog?

Calls blog_list_tags with no arguments.

List the 5 most popular blog tags.

Calls blog_list_tags with limit: 5.

Get a single tag by ID, returning its label and post count.

How many posts are tagged with aspnet-core?

Calls blog_get_tag with id: "aspnet-core".

Get a single author by ID, returning their name, bio, and post count.

Tell me about blog author Bjoern Meyer.

Calls blog_get_author with id: "bjoern-meyer".

List all authors with bios and post counts, sorted by post count descending.

Who writes for the Text Control blog?

Calls blog_list_authors with no arguments.

List the top 3 most prolific blog authors.

Calls blog_list_authors with limit: 3.

Search, list, and retrieve job postings. Ask for full content or full job description to retrieve the complete posting as Markdown.

Search career postings by keywords across titles, summaries, locales, employment types, and offices.

Search Text Control job openings for C++ positions.

Calls career_search with query: "C++".

Find career postings related to technical support, limit to 3.

Calls career_search with query: "technical support" and limit: 3.

Retrieve a single career posting by ID. Set content: true to include the full job description as Markdown.

Show me the details of career posting 42388ff2.

Calls career_get with id: "42388ff2".

Get the full job description for posting 42388ff2.

Calls career_get with id: "42388ff2" and content: true.

List all visible career postings.

List all open positions at Text Control.

Calls career_list with no arguments.

Show me the 2 most recent job openings.

Calls career_list with limit: 2.

Search, list, and retrieve industry events.

Search conferences by keywords in title or summary.

Search for Text Control conferences related to Visual Studio.

Calls conference_search with query: "Visual Studio".

Find conferences about .NET, limit to 3.

Calls conference_search with query: ".NET" and limit: 3.

Get a single conference by its ID.

Get the details for the most recent conference.

Calls conference_list with limit: 1, then conference_get with the returned ID.

List all conferences, sorted newest first.

List all conferences where Text Control has presented.

Calls conference_list with no arguments.

Show me the 3 most recent conference appearances.

Calls conference_list with limit: 3.

Search, list, and retrieve API documentation pages from the reference manuals. Documentation is available per product. Ask for full content to retrieve the complete page as Markdown.

Search documentation pages by keywords in title or description. Optionally filter by product.

Search the TX Text Control .NET Server documentation for MailMerge.

Calls documentation_search with query: "MailMerge".

Find documentation about ApplicationField in TX Text Control .NET Server, limit to 5.

Calls documentation_search with query: "ApplicationField", product_name_id: "tx-text-control-dotnet-server", and limit: 5.

Search for ServerTextControl in the TX Text Control .NET Server docs.

Calls documentation_search with query: "ServerTextControl" and product_name_id: "tx-text-control-dotnet-server".

Find all documentation related to Barcode in TX Text Control .NET Server, limit to 10.

Calls documentation_search with query: "Barcode", product_name_id: "tx-text-control-dotnet-server", and limit: 10.

What document formats does TX Text Control .NET Server support for loading and saving?

Calls documentation_search with query: "StreamType" and product_name_id: "tx-text-control-dotnet-server".

What does the TX Text Control .NET Server documentation say about tracking changes?

Calls documentation_search with query: "tracking changes" and product_name_id: "tx-text-control-dotnet-server".

Retrieve a single documentation page by product and page ID. Set content: true to include the full page body as Markdown.

What is the TXTextControl.ApplicationField class and what is it used for?

Calls documentation_search with query: "ApplicationField class" to find the page, then documentation_get with content: true to retrieve the full documentation.

Show me all properties of the TXTextControl.ServerTextControl class in TX Text Control .NET Server.

Calls documentation_search with query: "ServerTextControl" and product_name_id: "tx-text-control-dotnet-server", then documentation_get with content: true.

What methods does the TXTextControl.DocumentServer.MailMerge class provide for mail merge operations?

Calls documentation_search with query: "MailMerge class", then documentation_get with content: true to retrieve the class members.

What properties does the TXTextControl.SaveSettings class provide for saving documents?

Calls documentation_search with query: "SaveSettings" and product_name_id: "tx-text-control-dotnet-server", then documentation_get with content: true.

What configuration options does the TXTextControl.LoadSettings object support?

Calls documentation_search with query: "LoadSettings" and product_name_id: "tx-text-control-dotnet-server", then documentation_get with content: true.

Give me an overview of the TXTextControl namespace and its main classes.

Calls documentation_search with query: "TXTextControl namespace", then documentation_get to retrieve the namespace overview page.

List documentation pages for a product, optionally filtered by type or subpart.

List all TX Text Control .NET Server documentation pages of type "class".

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server" and type: "class".

Show me TX Text Control .NET Server documentation pages in the JavaScript API section, limit to 5.

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server", subpart: "JavaScript API", and limit: 5.

List all namespaces in TX Text Control .NET Server.

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server" and type: "namespace".

Show me all enumerations in the TX Text Control .NET Server documentation, limit to 10.

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server", type: "enumeration", and limit: 10.

List documentation pages in the TXTextControl.DocumentServer Namespace section.

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server" and subpart: "TXTextControl.DocumentServer Namespace".

What methods are available in the JavaScript API section of TX Text Control .NET Server? Limit to 10.

Calls documentation_list with product_name_id: "tx-text-control-dotnet-server", subpart: "JavaScript API", type: "method", and limit: 10.

Search, list, and retrieve product features. Mention a category name to filter results. Ask for full content to retrieve the complete feature body as Markdown.

Search product features by keywords in title or summary.

Search Text Control product features for mail merge.

Calls feature_search with query: "mail merge".

Find features related to PDF, limit to 3.

Calls feature_search with query: "PDF" and limit: 3.

Retrieve a single feature by its ID (URL slug). Set content: true to include the full feature body as Markdown.

Get details about the mail-merge feature.

Calls feature_get with id: "mail-merge".

Show me the full content of the mail-merge feature.

Calls feature_get with id: "mail-merge" and content: true.

List features with optional category filter. Both category and limit parameters are optional.

List all Text Control product features.

Calls feature_list with no arguments.

Show me features in the common category.

Calls feature_list with category: "common".

List the first 5 features in the common category.

Calls feature_list with category: "common" and limit: 5.

Search, list, and retrieve newsletter issues. Ask for full content to retrieve the complete newsletter body as Markdown.

Search newsletters by keywords in title or summary.

Search Text Control newsletters for release announcements.

Calls newsletter_search with query: "released".

Find newsletters about service pack updates, limit to 5.

Calls newsletter_search with query: "service pack" and limit: 5.

List newsletters with an optional year filter. Both year and limit parameters are optional.

List all Text Control newsletters from 2025.

Calls newsletter_list with year: "2025".

Show me the 5 most recent newsletters.

Calls newsletter_list with limit: 5.

Retrieve a single newsletter by ID or by date. Current-format newsletters include structured lead and items data. Set content: true to include the full body as Markdown.

Get the newsletter from February 18, 2026.

Calls newsletter_get with year: "2026", month: "02", and day: "18".

Show me newsletter 20260218 with the full Markdown content.

Calls newsletter_get with id: "20260218" and content: true.

Search, list, and retrieve product listings with prices in EUR and USD.

Search products by keywords across product codes, names, technologies, editions, and descriptions.

Search Text Control products for enterprise editions.

Calls pricing_search with query: "enterprise".

Find products related to server licenses, limit to 3.

Calls pricing_search with query: "server" and limit: 3.

Retrieve a single product by its ID (product code).

What is the price of product TX-3400-DE-S?

Calls pricing_get with id: "TX-3400-DE-S".

List all products for sale with pricing in EUR and USD.

List all Text Control server products with pricing.

Calls pricing_list with no arguments.

Show me the first 3 products for sale.

Calls pricing_list with limit: 3.

Full-text search across the entire Text Control website. Searches blog posts, documentation, product pages, newsletters, and code samples from a single search index. Filter by content section using scope, and narrow documentation results to a specific product with product_name_id. Ask for full content to retrieve the complete page body as Markdown.

Full-text search across the entire Text Control website - blog, documentation, product pages, newsletters, and code samples.

Search the Text Control website for MailMerge.

Calls web_search with query: "MailMerge".

Find pages about PDF generation on the Text Control site.

Calls web_search with query: "PDF generation".

Search Text Control newsletters for articles about PDF/A compliance.

Calls web_search with query: "PDF/A compliance" and scope: "newsletter".

Find pages about digital signatures in the TX Text Control .NET Server documentation.

Calls web_search with query: "digital signatures", scope: "documentation", and product_name_id: "tx-text-control-dotnet-server".

Browse all indexed pages on the Text Control website. Filter by content section using scope. When scope is documentation, narrow to a specific product with product_name_id.

List the most recent pages on the Text Control website.

Calls web_list with no arguments (defaults to all scopes).

Show me the latest blog posts on the Text Control website.

Calls web_list with scope: "blog".

List documentation pages for TX Text Control .NET Server.

Calls web_list with scope: "documentation" and product_name_id: "tx-text-control-dotnet-server".

List 25 sample pages from the Text Control website.

Calls web_list with scope: "samples" and limit: 25.

Retrieve a single page by its ID (UUID). Use an id value returned by web_search or web_list. Set content: true to include the full page body as Markdown.

Search for MailMerge on the website, then show me the full content of the first result.

Calls web_search to find results, then web_get with the id of the first result and content: true.

What does the Text Control website say about document templates? Show me the full content of the most relevant page.

Calls web_search with query: "document templates", then web_get with the id of the top result and content: true.

Public and Read-Only

The MCP server requires no authentication. All exposed data is public content already available on the Text Control website. The server supports read operations only - it cannot modify any data.

Connecting Your AI Assistant

Setup takes one step: add the server URL to your client's MCP configuration. The endpoint is:

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

Select your client below for the exact configuration:

Amazon Q Developer CLI is AWS's AI-powered coding assistant that runs in your terminal. It supports MCP servers for connecting to external data sources during coding and debugging sessions. The MCP configuration is stored in your AWS configuration directory.

Add the following to your Amazon Q MCP configuration at ~/.aws/amazonq/mcp.json:

// ~/.aws/amazonq/mcp.json
{
  "mcpServers": {
    "textcontrol": {
      "type": "http",
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

Claude Code is Anthropic's terminal-based AI coding assistant. It runs directly in your shell, reads your codebase, and executes commands on your behalf. MCP servers registered in the project or global configuration are available to Claude Code in every conversation.

Add the following to your project's .mcp.json or your global settings at ~/.claude.json:

// .mcp.json (project) or ~/.claude.json (global)
{
  "mcpServers": {
    "textcontrol": {
      "type": "http",
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

Claude Desktop is Anthropic's standalone chat application for macOS and Windows. It connects to MCP servers, giving Claude access to external data sources during conversations. You can add remote servers through the UI via Settings Connectors Add custom connector. Alternatively, add the following to your claude_desktop_config.json using the mcp-remote bridge:

// claude_desktop_config.json
{
  "mcpServers": {
    "textcontrol": {
      "command": "npx",
      "args": ["mcp-remote", "https://www.textcontrol.com/mcp/v1"]
    }
  }
}

For further configuration details, please refer to the documentation.

Cline is one of the most popular AI coding extensions for VS Code. It brings agentic coding capabilities directly into the editor with full MCP support. MCP servers can be configured through the Cline sidebar panel or by editing the settings file directly.

In VS Code, open the Cline panel, click the MCP Servers icon, and add a new server. Alternatively, add the following to your Cline MCP settings file (cline_mcp_settings.json):

// cline_mcp_settings.json
{
  "mcpServers": {
    "textcontrol": {
      "type": "streamableHttp",
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

Codex CLI is OpenAI's open-source terminal-based coding agent. Like Claude Code, it runs in your shell and can read and modify your codebase. It supports MCP servers for connecting to external data sources during coding sessions.

Add the following to your global configuration at ~/.codex/config.toml:

# ~/.codex/config.toml
[mcp_servers.textcontrol]
url = "https://www.textcontrol.com/mcp/v1"

For further configuration details, please refer to the documentation.

Cursor is an AI-native code editor built on the VS Code foundation. It supports MCP servers natively, allowing its built-in AI to query external tools and data sources during chat and inline editing sessions. MCP configuration is stored per project in the repository root.

Add the following to your Cursor MCP configuration at .cursor/mcp.json:

// .cursor/mcp.json
{
  "mcpServers": {
    "textcontrol": {
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

JetBrains IDEs - IntelliJ IDEA, Rider, PhpStorm, WebStorm, PyCharm, and others - include an AI Assistant with Model Context Protocol support. MCP servers are configured through the IDE settings UI, making external tools available during AI-assisted coding sessions.

In your JetBrains IDE, navigate to Settings Tools AI Assistant Model Context Protocol, and add a new server with the URL https://www.textcontrol.com/mcp/v1.

For further configuration details, please refer to the documentation.

GitHub Copilot integrates directly into VS Code as an AI pair programmer. With MCP support, Copilot can query external data sources during chat sessions. The MCP configuration lives in a dedicated mcp.json file, either at the workspace level or scoped to a user.

Add the following to .vscode/mcp.json in your workspace (or open the user-level config via Command Palette MCP: Open User Configuration):

// .vscode/mcp.json
{
  "servers": {
    "textcontrol": {
      "type": "http",
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

Windsurf is an AI-powered code editor by Codeium that features deep codebase understanding and agentic workflows. It supports MCP servers natively, allowing its AI to access external data sources during chat and code generation. The MCP configuration is stored in a global settings file.

Add the following to your Windsurf MCP configuration at ~/.codeium/windsurf/mcp_config.json:

// ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "textcontrol": {
      "serverUrl": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

Zed is a high-performance, open-source code editor with built-in AI features. It supports MCP through its context server system, giving its AI assistant access to external data sources. MCP servers are configured in the Zed settings file.

Add the following to your Zed settings at ~/.config/zed/settings.json:

// ~/.config/zed/settings.json (excerpt)
{
  "context_servers": {
    "textcontrol": {
      "url": "https://www.textcontrol.com/mcp/v1"
    }
  }
}

For further configuration details, please refer to the documentation.

How It Works

The server implements the MCP 2025-03-26 specification using Streamable HTTP transport. Clients send JSON-RPC 2.0 requests via POST to a single endpoint. The server responds with structured JSON.

Four JSON-RPC methods handle the full lifecycle:

Method Purpose
initialize Handshake - exchanges protocol version and server capabilities
ping Health check - confirms the server is reachable
tools/list Discovery - returns all 30 tool definitions with JSON Schema parameter descriptions
tools/call Execution - runs a named tool with the supplied arguments and returns results

Internally, each request flows through three layers:

  1. A PSR-15 request handler parses and validates the JSON-RPC envelope
  2. A central adapter routes the tool name to one of 8 domain-specific adapters
  3. Each domain adapter queries the existing business model layer, serializes the entities, and generates absolute URLs for every returned record

The MCP server shares the same models and database layer that power the Text Control website. There is no separate data store and no synchronization step. When content changes on the website, the MCP server reflects it immediately.

Get Started Today

The Text Control MCP server is live now. Add the endpoint URL to your AI assistant and start querying - blog posts, product features, pricing, open positions, and more.

We built this because we want our content available where developers already work: inside their editors and AI assistants. MCP makes that possible with one endpoint and a standard protocol.

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

Stay in the loop!

Subscribe to the newsletter to receive the latest updates.

Related Posts

ASP.NETAIASP.NET Core

Introducing Text Control Agent Skills

With the introduction of Text Control Agent Skills, AI coding assistants can now understand how to correctly work with the TX Text Control Document Editor and its APIs. This means that developers…


ASP.NETAIASP.NET Core

AI-Ready Legal Documents: What to Fix Before Adding AI

Summerization, analysis, and risk detection: AI can help legal professionals process documents faster and more efficiently. However, before integrating AI into your legal document workflows, it's…


ASP.NETAIASP.NET Core

Explaining Contract Tracked Changes Automatically Using .NET C# and AI

Learn how to use AI and .NET C# to automatically explain changes to contracts, improving the document review and collaboration processes. This comprehensive guide provides practical implementation…


ASP.NETAIASP.NET Core

Automating PDF/UA Accessibility with AI: Describing DOCX Documents Using TX…

This article shows how to use TX Text Control together with the OpenAI API to automatically add descriptive texts (alt text and labels) to images, links, and tables in a DOCX. The resulting…


ASP.NETAIASP.NET Core

Transforming Legal Review with AI and TX Text Control: A Smarter, Faster…

AI is revolutionizing legal document review by providing faster, more consistent, and cost-effective analysis to help legal professionals identify risks and streamline workflows. TX Text Control…

Share on this blog post on: