文本验证mcp
](https://www.npmjs.org/package/texterify-mcp) 
A. 模型上下文协议(MCP) 允许LLM代理完全访问的服务器 文本验证 翻译管理API。无需离开编辑器,即可搜索、创建、更新和删除翻译键及其翻译。
为什么
在开发过程中管理翻译意味着在代码编辑器和Texterify web UI之间不断切换上下文。这个MCP服务器消除了这种摩擦——你的AI编码助手可以查找密钥、添加翻译、查找未翻译的字符串,并直接通过自然语言管理语言。
快速开始
最快的开始方式是通过 npx:
npx texterify-mcp或全局安装:
npm install -g texterify-mcp服务器需要以下环境变量:
| 变量 | 必填 | 描述 |
|---|---|---|
TEXTERIFY_AUTH_EMAIL | 是 | 您的Textverify帐户电子邮件 |
TEXTERIFY_AUTH_SECRET | 是 | 您的Texterify API机密/访问令牌 |
TEXTERIFY_PROJECT_ID | 没有要操作的项目的UUID(可以为每个工具或通过env提供) | |
TEXTERIFY_API_BASE_URL | 没有 | API基本URL(默认值: https://app.texterify.com/api) |
TEXTERIFY_API_VERSION | 无 | API版本(默认值: v1) |
您可以在Texterify帐户设置中找到您的API凭据。
注意 TEXTERIFY_PROJECT_ID: 虽然为了方便起见,可以将其设置为环境变量,但每个项目范围的工具也接受一个可选的 project_id 参数。分辨率顺序为:刀具参数→ 环境变量→ 错误。您可以在项目的 texterify.json 文件或使用 list_projects 工具。
客户端配置
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"texterify": {
"command": "npx",
"args": ["-y", "texterify-mcp"],
"env": {
"TEXTERIFY_AUTH_EMAIL": "you@example.com",
"TEXTERIFY_AUTH_SECRET": "your-api-secret",
"TEXTERIFY_PROJECT_ID": "your-project-uuid"
}
}
}
}配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%AppData%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
克劳德代码
claude mcp add --transport stdio \
--env TEXTERIFY_AUTH_EMAIL=you@example.com \
--env TEXTERIFY_AUTH_SECRET=your-api-secret \
--env TEXTERIFY_PROJECT_ID=your-project-uuid \
texterify -- npx -y texterify-mcp注: 所有旗帜(--transport,--env)一定要来 之前 服务器名称。这--将服务器名称与命令分开。TEXTERIFY_PROJECT_ID是可选的,可以为每个工具提供。
OpenCode
添加到您的 opencode.json (或 opencode.jsonc):
{
"mcp": {
"texterify": {
"type": "local",
"command": ["npx", "-y", "texterify-mcp"],
"environment": {
"TEXTERIFY_AUTH_EMAIL": "you@example.com",
"TEXTERIFY_AUTH_SECRET": "your-api-secret",
"TEXTERIFY_PROJECT_ID": "your-project-uuid"
}
}
}
}TEXTERIFY_PROJECT_ID 是可选的,可以为每个工具提供。VS代码/副本
增添 .vscode/mcp.json 在您的工作区中(或通过以下方式添加到您的用户配置文件中 MCP:添加服务器 在命令选项板中):
{
"servers": {
"texterify": {
"command": "npx",
"args": ["-y", "texterify-mcp"],
"env": {
"TEXTERIFY_AUTH_EMAIL": "you@example.com",
"TEXTERIFY_AUTH_SECRET": "your-api-secret",
"TEXTERIFY_PROJECT_ID": "your-project-uuid"
}
}
}
}TEXTERIFY_PROJECT_ID 是可选的,可以为每个工具提供。光标
增添 .cursor/mcp.json 在项目根目录中(特定于项目)或 ~/.cursor/mcp.json (全球):
{
"mcpServers": {
"texterify": {
"command": "npx",
"args": ["-y", "texterify-mcp"],
"env": {
"TEXTERIFY_AUTH_EMAIL": "you@example.com",
"TEXTERIFY_AUTH_SECRET": "your-api-secret",
"TEXTERIFY_PROJECT_ID": "your-project-uuid"
}
}
}
}TEXTERIFY_PROJECT_ID 是可选的,可以为每个工具提供。可用工具
list_keys
搜索并列出带分页的翻译键。支持按名称和未翻译状态进行筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
search | string | 否 | 按名称筛选密钥 |
only_untranslated | boolean | 否 | 仅返回未翻译的键 |
page | number | No | 页码(默认值:1) |
per_page | number | 否 | 每页结果数(默认值:10,最大值:50) |
get_key
检索单个翻译密钥及其所有翻译。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
key_id | string | 是 | 密钥的UUID |
create_key
创建新的翻译密钥。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
name | string | Yes | 键名(例如。 welcome_message) |
description | string | 否 | 人类可读的描述 |
html_enabled | boolean | 否 | 值中允许HTML |
pluralization_enabled | boolean | 否 | 启用复数 |
update_key
更新现有密钥的属性。仅更改提供的字段。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
key_id | string | 是 | 密钥的UUID |
name | string | 否 | 新键名 |
description | string | 否 | 新描述 |
html_enabled | boolean | 否 | 切换HTML支持 |
pluralization_enabled | boolean | 否 | 切换复数 |
delete_keys
删除一个或多个翻译键。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
key_ids | string\[\] | Yes | 要删除的密钥UUID数组 |
set_translation
为特定密钥和语言创建或更新翻译(upstart)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
key_id | string | 是 | 密钥的UUID |
language_id | string | 是 | 语言的UUID |
content | string | 是 | 翻译文本 |
zero | string | 否 | 复数形式:零 |
one | string | 否 | 复数形式:1 |
two | string | 否 | 复数形式:2 |
few | string | 否 | 复数形式:少 |
many | string | 否 | 复数形式:多 |
list_languages
列出项目中配置的语言及其翻译进度。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
project_id | string | 否 | 文本验证项目UUID。如果省略,则使用 TEXTERIFY_PROJECT_ID 有人是。 |
search | string | 否 | 按语言名称筛选 |
page | number | No | 页码(默认值:1) |
per_page | number | 否 | 每页结果数(默认值:10,最大值:50) |
list_projects
列出经过身份验证的用户可访问的所有Texterify项目。可用于查找项目ID。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
search | string | 否 | 按项目名称筛选 |
page | number | No | 页码(默认值:1) |
per_page | number | 否 | 每页结果数(默认值:10,最大值:50) |
示例提示
配置后,您可以向AI助手询问以下问题:
- “列出我项目中所有未翻译的键”
- “创建一个名为
checkout.success_message描述为“付款后显示” - “此项目中配置了哪些语言?”
- “将键X的德语翻译设置为‘Willkommen’”
- “查找与'error'匹配的所有键”
- “删除我刚才创建的密钥”
发展
需要Node.js 18+和pnpm。
# Install dependencies
pnpm install
# Run the server
pnpm start
# Run in watch mode
pnpm dev
# Type-check
pnpm exec tsc --noEmit
# Run tests
pnpm test运作原理
服务器使用 stdio传输 --它使用MCP JSON-RPC协议通过stdin/stdout进行通信。所有日志记录都会进入stderr,以保持协议通道的干净。
MCP Client (LLM Agent)
| stdio (JSON-RPC)
v
Tool Handlers (Zod-validated inputs)
|
v
API Client (native fetch)
|
v
Texterify REST API- 无构建步骤 --TypeScript直接通过以下方式执行
tsx - 本土的
fetch--零HTTP库依赖(Node.js 18+) - Zod v4 用于输入验证和自动生成JSON模式的模式
- 结构化错误处理,明确显示身份验证失败、资源丢失和验证错误的消息
许可证
国际学生委员会
