
Security News
Critical Security Vulnerability in React Server Components
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.
@cicatriz/text-toolkit
Advanced tools
Text Transformation & Formatting MCP Server for the Cline Marketplace
A Text Transformation & Formatting MCP Server for the Cline Marketplace that provides developers with common text manipulation functions directly within their workflow.
Transform, format, and analyze text without leaving your AI assistant workflow.
| Tool | Description |
|---|---|
| case_to_camel | Convert text to camelCase |
| case_to_pascal | Convert text to PascalCase |
| case_to_snake | Convert text to snake_case |
| case_to_kebab | Convert text to kebab-case |
| case_to_constant | Convert text to CONSTANT_CASE |
| case_to_dot | Convert text to dot.case |
| case_to_no | Convert text to no case |
| case_to_pascal_snake | Convert text to Pascal_Snake_Case |
| case_to_path | Convert text to path/case |
| case_to_sentence | Convert text to Sentence case |
| case_to_train | Convert text to Train-Case |
| case_to_capital | Convert text to Capital Case |
| encode_base64 | Encode text to Base64 |
| decode_base64 | Decode Base64 to text |
| encode_url | Encode text for URLs |
| decode_url | Decode URL-encoded text |
| encode_html | Encode HTML entities |
| decode_html | Decode HTML entities |
| format_json | Format and beautify JSON |
| format_xml | Format and beautify XML |
| format_sql | Format and beautify SQL |
| format_html | Format and beautify HTML |
| count_characters | Count characters in text |
| count_words | Count words in text |
| count_lines | Count lines in text |
| analyze_readability | Calculate readability metrics |
| string_trim | Trim whitespace from text |
| string_substring | Extract a substring |
| string_replace | Replace text |
| string_split | Split text into an array |
| string_join | Join an array into text |
| generate_uuid | Generate a UUID |
| validate_uuid | Validate a UUID |
| generate_md5 | Generate MD5 hash |
| generate_sha1 | Generate SHA-1 hash |
| generate_sha256 | Generate SHA-256 hash |
| generate_sha512 | Generate SHA-512 hash |
| generate_hmac | Generate HMAC hash |
| generate_lorem_ipsum | Generate lorem ipsum text |
| regex_test | Test a regex pattern against text |
| regex_replace | Replace text using a regex pattern |
| regex_extract | Extract matches using a regex pattern |
| regex_split | Split text using a regex pattern |
To run the TextToolkit MCP server using Node.js npx, use the following command:
npx -y @cicatriz/text-toolkit@latest
To add this server to Cursor IDE:
.cursor/mcp.json file:{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
See the Cursor documentation for more details.
To set up MCP with Cascade, navigate to Windsurf - Settings > Advanced Settings or Command Palette > Open Windsurf Settings Page.
Scroll down to the Cascade section and add the TextToolkit MCP server directly in mcp_config.json:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
Add the following JSON manually to your cline_mcp_settings.json via Cline MCP Server setting:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
Access the MCP settings by clicking Edit MCP Settings in Roo Code settings or using the Roo Code: Open MCP Config command in VS Code's command palette:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
Add the following to your claude_desktop_config.json file:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
See the Claude Desktop documentation for more details.
You can also run it as CLI by running the following command:
npx -y @cicatriz/text-toolkit@latest
# Install globally from npm
npm install -g @cicatriz/text-toolkit
# Run the server
text-toolkit
# Clone the repository
git clone https://github.com/Cicatriiz/text-toolkit.git
cd text-toolkit
# Install dependencies
npm install
# Build the project
npm run build
# Run the server
node dist/index.js
# Start in stdio mode (default)
text-toolkit
# Start in SSE mode on a specific port
text-toolkit --sse --port=8000
# Display version
text-toolkit --version
You can test the TextToolkit MCP server using the MCP Inspector:
# Install the MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run the inspector against your server
mcp-inspector @cicatriz/text-toolkit
The repository includes example scripts demonstrating how to use the TextToolkit MCP server:
# Run the case transformation example
node examples/case-transform-example.js
This example demonstrates how to:
Converts text to camelCase.
Parameters:
text: The text to transformdelimiter (optional): The character to use between wordslocale (optional): Locale for case conversionmergeAmbiguousCharacters (optional): Whether to merge ambiguous charactersExample:
{
"text": "hello world test"
}
Response:
{
"result": "helloWorldTest"
}
Converts text to PascalCase.
Parameters:
text: The text to transformdelimiter (optional): The character to use between wordslocale (optional): Locale for case conversionmergeAmbiguousCharacters (optional): Whether to merge ambiguous charactersExample:
{
"text": "hello world test"
}
Response:
{
"result": "HelloWorldTest"
}
Encodes text to Base64.
Parameters:
text: The text to encodeExample:
{
"text": "hello world"
}
Response:
{
"result": "aGVsbG8gd29ybGQ="
}
Decodes Base64 to text.
Parameters:
text: The Base64 string to decodeExample:
{
"text": "aGVsbG8gd29ybGQ="
}
Response:
{
"result": "hello world"
}
Formats and beautifies JSON.
Parameters:
text: The JSON text to formatindent_size (optional): Number of spaces for indentation (1-8). Defaults to 2.Example:
{
"text": "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}",
"indent_size": 4
}
Response:
{
"result": "{\n \"name\": \"John\",\n \"age\": 30,\n \"city\": \"New York\"\n}"
}
Counts characters in text.
Parameters:
text: The text to analyzeExample:
{
"text": "hello world"
}
Response:
{
"total_characters": 11,
"characters_without_spaces": 10
}
Replaces text.
Parameters:
text: The text to perform replacements onsearch: The string to search forreplace: The string to replace withreplace_all (optional): Whether to replace all occurrences. Defaults to true.Example:
{
"text": "hello world",
"search": "world",
"replace": "universe"
}
Response:
{
"result": "hello universe"
}
Generates a UUID.
Parameters:
version (optional): UUID version to generate (v1, v4, v5, nil). Defaults to v4.namespace (optional): Namespace for v5 UUID (required for v5)name (optional): Name for v5 UUID (required for v5)uppercase (optional): Whether to return the UUID in uppercase. Defaults to false.Example:
{
"version": "v4"
}
Response:
{
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
Generates lorem ipsum text.
Parameters:
count (optional): Number of units to generate. Defaults to 5.units (optional): Type of units to generate (words, sentences, paragraphs). Defaults to sentences.paragraphLowerBound (optional): Minimum sentences per paragraph. Defaults to 3.paragraphUpperBound (optional): Maximum sentences per paragraph. Defaults to 7.sentenceLowerBound (optional): Minimum words per sentence. Defaults to 5.sentenceUpperBound (optional): Maximum words per sentence. Defaults to 15.format (optional): Output format (plain, html). Defaults to plain.Example:
{
"count": 2,
"units": "sentences"
}
Response:
{
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut hendrerit ipsum in nulla euismod, vel ultrices nisi tincidunt."
}
Tests a regex pattern against text.
Parameters:
text: The text to test against the patternpattern: The regex pattern to testflags (optional): Regex flags (e.g., 'g', 'i', 'gi'). Defaults to 'g'.Example:
{
"text": "hello world",
"pattern": "\\w+",
"flags": "g"
}
Response:
{
"matches": ["hello", "world"],
"match_count": 2,
"is_match": true
}
TextToolkit is built using the Model Context Protocol (MCP) specification, which allows it to integrate seamlessly with Claude Desktop and other MCP-compatible clients. The server is implemented in TypeScript and uses the following architecture:
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)TextToolkit includes comprehensive test scripts that can be used to verify the functionality of the MCP server. The test scripts can be used to test both stdio and SSE modes.
# Test stdio mode
node test-comprehensive.js
# Test SSE mode
node test-sse-comprehensive.js
TextToolkit processes all data locally and does not send any information to external servers. Your text data and queries remain private on your device.
MIT
Cicatriz
FAQs
Text Transformation & Formatting MCP Server for the Cline Marketplace
We found that @cicatriz/text-toolkit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.

Research
/Security News
We spotted a wave of auto-generated “elf-*” npm packages published every two minutes from new accounts, with simple malware variants and early takedowns underway.

Security News
TypeScript 6.0 will be the last JavaScript-based major release, as the project shifts to the TypeScript 7 native toolchain with major build speedups.