使用说明
TextToolkit MCP Server
A Text Transformation & Formatting MCP Server for the Cline Marketplace that provides developers with common text manipulation functions directly within their workflow.
在不离开AI助手工作流程的情况下转换、格式化和分析文本。
可用工具
| 工具 | 说明 |
|---|---|
| case_to_calm | 将文本转换为camelCase |
| case_to_pascal | 将文本转换为PascalCase |
| case_to_snake | 将文本转换为snake_case |
| case_to_kobb | 将文本转换为烤肉串大小写 |
| case_to_costant | 将文本转换为constant_case |
| case_to_dot | 将文本转换为dot.case |
| case_to_no | 将文本转换为无大小写 |
| case_to_pascal_snake | 将文本转换为pascal_snake_case |
| case_to_path | 将文本转换为path/case |
| case_to_ssentence | 将文本转换为句子case |
| case_to_tain | 将文本转换为train case |
| case_to_capital | 将文本转换为大写 |
| encode_base64 | 将文本编码为base64 |
| decode_base64 | 将base64解码为文本 |
| encode_url | 对url的文本进行编码 |
| decode_url | 解码url编码文本 |
| encode_html | 对html实体进行编码 |
| decode_html | 解码html实体 |
| format_json | 格式化和美化json |
| format_xml | 格式化和美化xml |
| format_sql | 格式化和美化sql |
| format_html | 格式化和美化html |
| count_characters | 统计文本中的字符数 |
| count_words | 统计文本中的单词 |
| count_lines | 计数文本中的行 |
| analyze_readability | 计算可读性指标 |
| string_trim | 修剪文本中的空格 |
| string_substring | 提取子字符串 |
| string_replace | 替换文本 |
| string_split | 将文本拆分为数组 |
| string_join | 将数组连接成文本 |
| generate_uid | 生成uuid |
| validate_uuid | 验证uuid |
| generate_md5 | 生成md5哈希 |
| generate_sha1 | 生成SHA-1哈希 |
| generate_sha256 | 生成SHA-256哈希 |
| generate_sha512 | 生成SHA-512哈希 |
| generate_hmac | 生成hmac哈希 |
| generate_lorem_ipsum。生成lorem-ipsum文本。 | |
| regex_test | 根据文本测试正则表达式模式 |
| regex_replace | 使用正则表达式模式替换文本 |
| regex_extract | 使用正则表达式模式提取匹配项 |
| regex_split | 使用正则表达式模式拆分文本 |
🌟 特性
🔠 案例转换
- 在camelCase、PasclCase、snake_case、烤肉串case之间转换文本
- 支持CONSTANT_CASE、dot.CASE、无案例、Pascal_Snake_CASE
- 附加格式:路径/案例、句子案例、训练案例、资本案例
- 可通过分隔符和区域设置选项进行自定义
🔄 字符串编码/解码
- Base64编码和解码
- URL编码和解码
- HTML实体编码和解码
- 安全可靠的转换
📝 格式化和美化
- JSON格式,可定制缩进
- XML格式化和漂亮的打印
- SQL查询格式和标准化
- HTML代码美化
📊 文本分析
- 字符计数(有空格和无空格)
- 精确标记的字数统计
- 多行文本的行计数
- 可读性评分(Flesch-Kincaid等)
✂️ 字符串操作
- 修剪空白(开始、结束或两者)
- 精确控制提取子字符串
- 用强大的选项替换文本
- 将文本拆分为数组并将数组连接为文本
🆔 UUID/GUID生成
- 生成UUID(v1、v4、v5或nil)
- 验证现有UUID
- 所有UUID版本的可定制选项
🔒 哈希生成
- MD5哈希生成
- SHA-1、SHA-256和SHA-512哈希
- 使用自定义密钥生成HMAC哈希
- 安全加密功能
📄 Lorem Ipsum一代
- 生成占位符文本
- 可定制的长度和格式
- 控制段落和句子结构
🔍 正则表达式模式测试
- 根据文本测试正则表达式模式
- 使用正则表达式模式替换文本
- 使用正则表达式模式提取匹配项
- 使用正则表达式模式拆分文本
💻 安装
先决条件
- Node.js 16.x或更高版本-TextToolkit MCP服务器需要Node.js 16+才能正常运行。
设置
要使用Node.js npx运行TextToolkit MCP服务器,请使用以下命令:
npx -y @cicatriz/text-toolkit@latest
客户端特定安装
光标
要将此服务器添加到Cursor IDE,请执行以下操作:
- 转到光标设置>MCP
- 单击+添加新的全局MCP服务器
- 将以下配置添加到全局
.cursor/mcp.json文件:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
请参阅 光标文档 了解更多详情。
帆板运动
要使用Cascade设置MCP,请导航到Windsurf-设置>高级设置或命令面板>打开Windsurf设置页面。
向下滚动到Cascade部分,并将TextToolkit MCP服务器直接添加到 mcp_config.json:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
克莱恩
手动将以下JSON添加到您的 cline_mcp_settings.json 通过临床MCP服务器设置:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
Roo代码
通过单击Roo Code设置中的Edit MCP settings或使用VS Code命令面板中的Roo Code:Open MCP Config命令来访问MCP设置:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
克劳德
将以下内容添加到您的 claude_desktop_config.json 文件:
{
"mcpServers": {
"text-toolkit": {
"command": "npx",
"args": [
"-y",
"@cicatriz/text-toolkit"
]
}
}
}
请参阅 Claude桌面文档 了解更多详情。
命令行界面
您还可以通过运行以下命令将其作为CLI运行:
npx -y @cicatriz/text-toolkit@latest
替代安装方法
从npm安装
# 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
MCP检验员测试
您可以使用MCP检查器测试TextToolkit MCP服务器:
# Install the MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run the inspector against your server
mcp-inspector @cicatriz/text-toolkit
例子
该存储库包括演示如何使用TextToolkit MCP服务器的示例脚本:
# Run the case transformation example
node examples/case-transform-example.js
此示例演示了如何:
- 连接到TextToolkit MCP服务器
- 列出可用工具
- 将文本转换为不同的案例
- 使用自定义选项进行转换
🔧 可用工具
1.case_to_tocamel
将文本转换为camelCase格式。
参数:
text:要转换的文本delimiter(可选):单词之间使用的字符locale(可选):用于案例转换的区域设置mergeAmbiguousCharacters(可选):是否合并歧义字符
例子:
{
"text": "hello world test"
}
答复:
{
"result": "helloWorldTest"
}
2.case_to_pascal
将文本转换为PascalCase。
参数:
text:要转换的文本delimiter(可选):单词之间使用的字符locale(可选):用于案例转换的区域设置mergeAmbiguousCharacters(可选):是否合并歧义字符
例子:
{
"text": "hello world test"
}
答复:
{
"result": "HelloWorldTest"
}
3.encode_base64
将文本编码为Base64。
参数:
text:要编码的文本
例子:
{
"text": "hello world"
}
答复:
{
"result": "aGVsbG8gd29ybGQ="
}
4.解码基础64
将Base64解码为文本。
参数:
text:要解码的Base64字符串
例子:
{
"text": "aGVsbG8gd29ybGQ="
}
答复:
{
"result": "hello world"
}
5.格式_儿子
格式化和美化JSON。
参数:
text:要格式化的JSON文本indent_size(可选):缩进的空格数(1-8)。默认为2。
例子:
{
"text": "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}",
"indent_size": 4
}
答复:
{
"result": "{\n \"name\": \"John\",\n \"age\": 30,\n \"city\": \"New York\"\n}"
}
6.计数字符
统计文本中的字符数。
参数:
text:要分析的文本
例子:
{
"text": "hello world"
}
答复:
{
"total_characters": 11,
"characters_without_spaces": 10
}
7.字符串替换
替换文本。
参数:
text:替换文本search:要搜索的字符串replace:要替换的字符串replace_all(可选):是否替换所有事件。默认为true。
例子:
{
"text": "hello world",
"search": "world",
"replace": "universe"
}
答复:
{
"result": "hello universe"
}
8.generate_uid
生成UUID。
参数:
version(可选):要生成的UUID版本(v1、v4、v5、nil)。默认为v4。namespace(可选):v5 UUID的命名空间(v5需要)name(可选):v5 UUID的名称(v5需要)uppercase(可选):是否返回大写的UUID。默认为false。
例子:
{
"version": "v4"
}
答复:
{
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
9.生成lorem-ipsum
发电机正在发短信。
参数:
count(可选):要生成的单位数。默认为5。units(可选):要生成的单元类型(单词、句子、段落)。默认为句子。paragraphLowerBound(可选):每段最少句子。默认为3。paragraphUpperBound(可选):每段最多句子数。默认为7。sentenceLowerBound(可选):每句话最少单词数。默认为5。sentenceUpperBound(可选):每句话的最大字数。默认值为15。format(可选):输出格式(纯文本、html)。默认为plain。
例子:
{
"count": 2,
"units": "sentences"
}
答复:
{
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut hendrerit ipsum in nulla euismod, vel ultrices nisi tincidunt."
}
10.regex_test
针对文本测试正则表达式模式。
参数:
text:根据模式测试的文本pattern:要测试的正则表达式模式flags(可选):正则表达式标志(例如“g”、“i”、“gi”)。默认为“g”。
例子:
{
"text": "hello world",
"pattern": "\\w+",
"flags": "g"
}
答复:
{
"matches": ["hello", "world"],
"match_count": 2,
"is_match": true
}
💬 Claude Desktop中的查询示例
- “将'hello world'转换为camelCase”
- “将‘hello world’编码为Base64”
- 格式化此JSON:{“姓名”:“约翰”,“年龄”:30}
- “统计‘hello world’中的字符数”
- “将‘hello world’中的‘world’替换为‘universe’”
- “生成UUID”
- “生成2个lorem ipsum句子”
- “测试‘hello world’是否与正则表达式模式‘\w+’匹配”
- “将‘Hello World’转换为snake_case”
- “解码此Base64字符串:aGVsbG8gd29ybGQ=”
💻 技术细节
建筑
TextToolkit是使用模型上下文协议(MCP)规范构建的,它允许它与Claude Desktop和其他兼容MCP的客户端无缝集成。服务器使用TypeScript实现,并使用以下架构:
- 核心服务:实现文本转换、编码/解码和格式化
- MCP服务器:处理来自客户端的JSON-RPC请求
- 工具函数:为文本操作提供辅助函数
- 测试框架:包括用于验证功能的全面测试脚本
依赖项
- 变更案例 -用于案例转换操作
- 加密js -用于哈希生成
- js美化 -用于代码格式化和美化
- 通用唯一标识符 -用于UUID生成和验证
- 洛伦·伊普瑟姆 -用于占位符文本生成
- @模型上下文协议/sdk -用于MCP服务器实施
需求
- Node.js 16.x或更高版本
- npm 7.x或更高版本
📝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
🔍 测试
TextToolkit包含全面的测试脚本,可用于验证MCP服务器的功能。测试脚本可用于测试stdio和SSE模式。
运行测试
# Test stdio mode
node test-comprehensive.js
# Test SSE mode
node test-sse-comprehensive.js
🔒 隐私和安全
TextToolkit在本地处理所有数据,不向外部服务器发送任何信息。您的文本数据和查询在您的设备上保持私密。
📃 许可证
麻省理工学院
👨💻 作者
疤痕