textops-mcp
Server Details
Exact text tools for AI agents: unified diff, patch apply, regex testing, grapheme counting.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 5 of 5 tools scored.
Each tool has a unique and clearly distinct purpose: patching, JSON canonicalization, diffing, regex testing, and text statistics. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case: apply_patch, canonical_json, diff, regex_test, text_stats. 'diff' is a bit of an outlier but still fits the pattern as a verb.
With 5 tools, the server is well-scoped for its domain of text operations. It covers common needs without being overly minimal or bloated.
The set covers patching, diffing, regex, JSON validation, and text stats—addressing frequent LLM text issues. Minor gaps like string search/replace exist, but the tools are purpose-built for reliability.
Available Tools
5 toolsapply_patchAInspect
Apply a unified diff to a text, with context verification and small-offset fuzzing. Reports per-hunk success so failures are explicit rather than silent.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to patch. | |
| patch | Yes | Unified diff (with @@ hunk headers). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: context verification, small-offset fuzzing, and reporting per-hunk success. This adds value beyond the schema, though it lacks details on auth or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The main action is front-loaded, and every sentence adds meaningful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and some behavior, but lacks information about the return value or output format. Given no output schema, this is a gap for a tool that produces per-hunk success reports.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-described in the schema. The description adds context about the patch format ('unified diff') but does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Apply a unified diff to a text'. It distinguishes from siblings like 'diff' (which generates diffs) and 'regex_test' (regex operations), making its unique function clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for patching with context verification and fuzzing, but does not explicitly state when not to use or mention alternatives. However, the context among siblings suggests appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canonical_jsonAInspect
Validate JSON and return it canonicalized (recursively sorted object keys) in compact and pretty forms. Useful for stable comparison and exact validation with error details.
| Name | Required | Description | Default |
|---|---|---|---|
| json | Yes | JSON text to validate and canonicalize. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions error details but does not specify what happens on invalid JSON (e.g., throws exception vs. returns error object). The description is accurate but lacks explicit behavioral specifics beyond the core functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently states the main action and use case. No wasted words and front-loaded with the key verb 'Validate'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description explains the functionality and use case. However, it does not specify the return format (e.g., an object with compact and pretty fields) or error behavior, leaving some gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description restates the parameter purpose ('JSON text to validate and canonicalize'). It adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates JSON and canonicalizes it by sorting keys, and mentions output formats (compact, pretty). The purpose is distinct from sibling tools (patch, diff, regex, text stats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains usefulness for stable comparison and exact validation, providing context for when to use. It does not explicitly mention when not to use or list alternatives, but the use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diffAInspect
Compute an exact line-based unified diff between two texts. Use instead of writing diffs yourself — LLM-authored diffs have wrong line numbers and miscounted hunks.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Context lines per hunk (default 3). | |
| new_text | Yes | Modified text. | |
| old_text | Yes | Original text. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It accurately describes the tool as computing an exact diff but does not disclose output format, edge cases (e.g., empty texts), or performance considerations. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy: first states purpose, second provides usage advice. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema and description of return value (likely a diff string). No mention of error handling or large text limits. Adequate for simple usage but incomplete without output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all parameters (old_text, new_text, context). The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'compute', the resource 'two texts', and the specific type of diff 'exact line-based unified diff'. It distinguishes from alternative approaches by warning against LLM-authored diffs, which sets clear expectations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises 'Use instead of writing diffs yourself' and warns about LLM-generated diffs having wrong line numbers and miscounted hunks. This provides strong guidance on when to use the tool and when not to rely on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regex_testAInspect
Execute a JavaScript regular expression against a text and return real matches with indices and capture groups. Use instead of predicting regex behavior — LLM regex predictions are unreliable.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to search. | |
| flags | No | Regex flags, e.g. "gi". Include "g" to find all matches. | |
| pattern | Yes | Regex pattern WITHOUT surrounding slashes. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the return of real matches with indices and capture groups, but does not mention side effects, error handling (e.g., invalid patterns), or performance characteristics. Adequate but could be richer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each carrying essential information. No filler or redundancy. Front-loaded with the main action and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple regex tool with no output schema, the description covers purpose, usage guidance, and parameter clarifications. It doesn't detail the exact format of matches or error cases, but these are minor gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters described). The description adds value by reminding that 'pattern' should be without slashes and that flags should include 'g' for all matches. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Execute'), names the resource ('regular expression against a text'), and clearly states the output ('real matches with indices and capture groups'). It distinguishes itself from sibling tools (apply_patch, canonical_json, diff, text_stats) by being the only regex execution tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends use over predicting regex behavior, citing LLM unreliability. This provides clear context for when to use. It does not explicitly list when not to use, but the recommendation is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_statsAInspect
Count text length EXACTLY: graphemes (user-perceived characters, correct for emoji/CJK/combining marks), words, lines, Unicode code points, UTF-16 units, UTF-8 bytes. Use whenever "how many characters" matters.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to measure. | |
| word_locale | No | BCP-47 locale for word segmentation (affects e.g. Japanese/Thai). Default "en". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's behavior: it counts exact graphemes, words, lines, code points, UTF-16 units, UTF-8 bytes, and notes locale effects on word segmentation. No destructive or unexpected behavior is indicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that lists all capabilities upfront, with no redundant words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers what the tool does, it does not explain the return format (e.g., object with keys for each count). Without an output schema, this missing information could hinder an agent's understanding of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining the meaning of graphemes (user-perceived characters) and the effect of the word_locale parameter on segmentation for languages like Japanese and Thai.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool counts text length in multiple specific units (graphemes, words, lines, etc.), and it is distinct from sibling tools like apply_patch or regex_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'Use whenever "how many characters" matters.' It does not explicitly list when not to use or alternatives, but the context is sufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!