Servidor MCP

Text Tools

com.apished/text-tools
Herramientas para desarrolladores Público y accesible MCP 2025-11-25

Qué hace este MCP

Performs Unicode-safe text operations including counting, indexing, reversal, sorting, palindrome checks, and detailed text statistics.

text_charat
Returns the 0-indexed character (rune) at index in text.
Esquema de entrada
{'type': 'object', 'required': ['text', 'index'], 'properties': {'text': {'type': 'string'}, 'index': {'type': 'integer', 'description': '0-indexed'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'string'}
text_count
Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based).
Esquema de entrada
{'type': 'object', 'required': ['text', 'substring'], 'properties': {'text': {'type': 'string'}, 'substring': {'type': 'string', 'description': 'must be non-empty'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'integer'}
text_palindrome
Checks whether text reads the same forwards and backwards. ignoreCase/ignoreNonAlnum default false (strict, literal comparison); set both true for phrase-style palindromes like "A man, a plan, a canal: Panama".
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}, 'ignoreCase': {'type': 'boolean'}, 'ignoreNonAlnum': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'boolean'}
text_reverse
Reverses text by Unicode code point (rune), not grapheme cluster.
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'string'}
text_sort
Sorts text's characters or words alphabetically. by: "chars" (default, sorts runes, no separator) or "words" (splits on whitespace, rejoins with a single space).
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'by': {'type': 'string', 'description': 'chars (default) or words'}, 'text': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'string'}
text_stats
Descriptive statistics for text: rune/byte/word/line counts, a unique-rune count, a letters/digits/spaces/punctuation/other breakdown, an exact per-character frequency table, and word-length min/max/average plus the actual shortest/longest word (ties resolve to the first occurrence).
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['runes', 'bytes', 'words', 'lines', 'uniqueRunes', 'charTypes', 'charFrequency', 'wordLengths'], 'properties': {'bytes': {'type': 'integer'}, 'lines': {'type': 'integer'}, 'runes': {'type': 'integer'}, 'words': {'type': 'integer'}, 'charTypes': {'type': 'object', 'required': ['letters', 'digits', 'spaces', 'punctuation', 'other'], 'properties': {'other': {'type': 'integer'}, 'digits': {'type': 'integer'}, 'spaces': {'type': 'integer'}, 'letters': {'type': 'integer'}, 'punctuation': {'type': 'integer'}}, 'additionalProperties': False}, 'uniqueRunes': {'type': 'integer'}, 'wordLengths': {'type': 'object', 'required': ['min', 'max', 'average', 'shortest', 'longest'], 'properties': {'max': {'type': 'integer'}, 'min': {'type': 'integer'}, 'average': {'type': 'number'}, 'longest': {'type': 'string'}, 'shortest': {'type': 'string'}}, 'additionalProperties': False}, 'charFrequency': {'type': 'object', 'additionalProperties': {'type': 'integer'}}}, 'additionalProperties': False}
text_wordcount
Counts whitespace-delimited words in text.
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'integer'}
Añadido
text_wordcount
17 de September de 2026 a las 12:33
Añadido
text_stats
17 de September de 2026 a las 12:33
Añadido
text_sort
17 de September de 2026 a las 12:33
Añadido
text_reverse
17 de September de 2026 a las 12:33
Añadido
text_palindrome
17 de September de 2026 a las 12:33
Añadido
text_count
17 de September de 2026 a las 12:33
Añadido
text_charat
17 de September de 2026 a las 12:33