@better-i18n/mcp-server 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -100
- package/dist/tools/bulkCreateKeys.d.ts.map +1 -1
- package/dist/tools/bulkCreateKeys.js +4 -4
- package/dist/tools/bulkCreateKeys.js.map +1 -1
- package/dist/tools/createTranslationKey.d.ts.map +1 -1
- package/dist/tools/createTranslationKey.js +3 -3
- package/dist/tools/createTranslationKey.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,58 +1,48 @@
|
|
|
1
1
|
# @better-i18n/mcp-server
|
|
2
2
|
|
|
3
|
-
MCP (Model Context Protocol) server for [Better i18n](https://better-i18n.com)
|
|
3
|
+
MCP (Model Context Protocol) server for [Better i18n](https://better-i18n.com). Enables AI assistants like Claude and GPT to manage translations directly from your IDE.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- 🤖 **AI-Powered Translation
|
|
8
|
-
- 📝 **Create
|
|
7
|
+
- 🤖 **AI-Powered Translation** - Let AI handle your i18n workflow
|
|
8
|
+
- 📝 **Create & Update Keys** - Add new keys with source text and translations
|
|
9
9
|
- 🔄 **Bulk Operations** - Create/update multiple keys at once
|
|
10
|
-
- 🔍 **Smart
|
|
11
|
-
- 🌍 **Multi-language
|
|
10
|
+
- 🔍 **Smart Filtering** - Find keys by name, namespace, or missing translations
|
|
11
|
+
- 🌍 **Multi-language** - Manage all your target languages
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
|
-
### Global Installation (Recommended)
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install -g @better-i18n/mcp-server
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### With npx
|
|
22
|
-
|
|
23
|
-
You can also run it directly without installing:
|
|
24
|
-
|
|
25
15
|
```bash
|
|
16
|
+
# With npx (no install needed)
|
|
26
17
|
npx @better-i18n/mcp-server
|
|
18
|
+
|
|
19
|
+
# Or install globally
|
|
20
|
+
npm install -g @better-i18n/mcp-server
|
|
27
21
|
```
|
|
28
22
|
|
|
29
23
|
## Setup
|
|
30
24
|
|
|
31
25
|
### 1. Get Your API Key
|
|
32
26
|
|
|
33
|
-
1. Go to [better-i18n.com
|
|
34
|
-
2.
|
|
35
|
-
3.
|
|
36
|
-
|
|
37
|
-
### 2. Add i18n.config.ts to Your Project
|
|
27
|
+
1. Go to [dash.better-i18n.com](https://dash.better-i18n.com)
|
|
28
|
+
2. Navigate to Settings → API Keys
|
|
29
|
+
3. Create and copy your API key
|
|
38
30
|
|
|
39
|
-
|
|
31
|
+
### 2. Add i18n config to your project
|
|
40
32
|
|
|
41
|
-
```
|
|
42
|
-
|
|
33
|
+
```ts
|
|
34
|
+
// i18n.ts
|
|
35
|
+
import { createI18n } from "@better-i18n/next";
|
|
43
36
|
|
|
44
37
|
export const i18n = createI18n({
|
|
45
|
-
|
|
46
|
-
projectSlug: "your-project", // Your project slug
|
|
38
|
+
project: "your-org/your-project", // Format: "org-slug/project-slug"
|
|
47
39
|
defaultLocale: "en",
|
|
48
40
|
});
|
|
49
41
|
```
|
|
50
42
|
|
|
51
|
-
### 3. Configure
|
|
43
|
+
### 3. Configure Cursor
|
|
52
44
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Add to your MCP settings (`~/.cursor/mcp.json` or project's `.cursor/mcp.json`):
|
|
45
|
+
Add to `~/.cursor/mcp.json`:
|
|
56
46
|
|
|
57
47
|
```json
|
|
58
48
|
{
|
|
@@ -68,92 +58,43 @@ Add to your MCP settings (`~/.cursor/mcp.json` or project's `.cursor/mcp.json`):
|
|
|
68
58
|
}
|
|
69
59
|
```
|
|
70
60
|
|
|
71
|
-
Or with global install:
|
|
72
|
-
|
|
73
|
-
```json
|
|
74
|
-
{
|
|
75
|
-
"mcpServers": {
|
|
76
|
-
"better-i18n": {
|
|
77
|
-
"command": "better-i18n-mcp",
|
|
78
|
-
"env": {
|
|
79
|
-
"BETTER_I18N_API_KEY": "your-api-key-here"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
61
|
## Available Tools
|
|
87
62
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
63
|
+
| Tool | Description |
|
|
64
|
+
|------|-------------|
|
|
65
|
+
| `getProjectInfo` | Get project overview: namespaces, languages, key count |
|
|
66
|
+
| `listKeys` | List all translation keys with filtering |
|
|
67
|
+
| `createTranslationKey` | Create a single key with translations |
|
|
68
|
+
| `bulkCreateKeys` | Create multiple keys at once |
|
|
69
|
+
| `updateTranslation` | Update a single translation |
|
|
70
|
+
| `bulkUpdateTranslations` | Update multiple translations at once |
|
|
96
71
|
|
|
97
|
-
|
|
98
|
-
Create a single translation key with source text and optional translations.
|
|
72
|
+
## Example Prompts
|
|
99
73
|
|
|
100
|
-
|
|
101
|
-
Create multiple translation keys with all translations in one request.
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"keys": [
|
|
106
|
-
{
|
|
107
|
-
"key": "nav.home",
|
|
108
|
-
"namespace": "nav",
|
|
109
|
-
"sourceText": "Home",
|
|
110
|
-
"translations": { "tr": "Ana Sayfa", "de": "Startseite" }
|
|
111
|
-
}
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
```
|
|
74
|
+
Ask your AI assistant:
|
|
115
75
|
|
|
116
|
-
|
|
117
|
-
Update a single translation for a specific language.
|
|
76
|
+
> "List all my translation keys"
|
|
118
77
|
|
|
119
|
-
|
|
120
|
-
Update translations for multiple keys at once.
|
|
78
|
+
> "Add Turkish translations for all keys missing Turkish"
|
|
121
79
|
|
|
122
|
-
|
|
80
|
+
> "Create a new key nav.home with text 'Home' and translate to German and Turkish"
|
|
123
81
|
|
|
124
|
-
|
|
82
|
+
> "Show me translation coverage stats"
|
|
125
83
|
|
|
126
|
-
|
|
84
|
+
## How It Works
|
|
127
85
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
86
|
+
1. MCP server detects your project from `i18n.ts` config
|
|
87
|
+
2. AI assistant uses tools to read/write translations
|
|
88
|
+
3. Changes sync to Better i18n dashboard
|
|
89
|
+
4. CDN serves updated translations to your app
|
|
131
90
|
|
|
132
91
|
## Environment Variables
|
|
133
92
|
|
|
134
93
|
| Variable | Required | Description |
|
|
135
94
|
|----------|----------|-------------|
|
|
136
|
-
| `BETTER_I18N_API_KEY` | Yes | Your API key
|
|
137
|
-
| `BETTER_I18N_API_URL` | No | API URL (
|
|
138
|
-
| `
|
|
139
|
-
| `BETTER_I18N_DEBUG` | No | Set to `true` to enable request/response logging (for development) |
|
|
140
|
-
|
|
141
|
-
## Development
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# Clone the repo
|
|
145
|
-
git clone https://github.com/better-i18n/better-i18n.git
|
|
146
|
-
cd packages/mcp-server
|
|
147
|
-
|
|
148
|
-
# Install dependencies
|
|
149
|
-
npm install
|
|
150
|
-
|
|
151
|
-
# Run in development mode
|
|
152
|
-
npm run dev
|
|
153
|
-
|
|
154
|
-
# Build
|
|
155
|
-
npm run build
|
|
156
|
-
```
|
|
95
|
+
| `BETTER_I18N_API_KEY` | Yes | Your API key |
|
|
96
|
+
| `BETTER_I18N_API_URL` | No | API URL (auto-detected) |
|
|
97
|
+
| `BETTER_I18N_DEBUG` | No | Enable verbose logging |
|
|
157
98
|
|
|
158
99
|
## License
|
|
159
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkCreateKeys.d.ts","sourceRoot":"","sources":["../../src/tools/bulkCreateKeys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"bulkCreateKeys.d.ts","sourceRoot":"","sources":["../../src/tools/bulkCreateKeys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAc9C,eAAO,MAAM,cAAc,EAAE,IA6G5B,CAAC"}
|
|
@@ -17,7 +17,7 @@ const inputSchema = z.object({
|
|
|
17
17
|
export const bulkCreateKeys = {
|
|
18
18
|
definition: {
|
|
19
19
|
name: "bulkCreateKeys",
|
|
20
|
-
description: "Create multiple translation keys with their translations in a single request. Use this when adding translations for an entire component or page. Each key can have sourceText (English) and translations for other languages.",
|
|
20
|
+
description: "Create multiple translation keys with their translations in a single request. Use this when adding translations for an entire component or page. Each key can have sourceText (English) and translations for other languages. IMPORTANT: If namespace is provided, the key should NOT include the namespace prefix (e.g., namespace: 'nav', key: 'features' NOT 'nav.features').",
|
|
21
21
|
inputSchema: {
|
|
22
22
|
type: "object",
|
|
23
23
|
properties: {
|
|
@@ -33,11 +33,11 @@ export const bulkCreateKeys = {
|
|
|
33
33
|
properties: {
|
|
34
34
|
key: {
|
|
35
35
|
type: "string",
|
|
36
|
-
description: "Translation key (e.g., 'nav.features')",
|
|
36
|
+
description: "Translation key WITHOUT namespace prefix when namespace is provided (e.g., 'features' when namespace is 'nav', NOT 'nav.features'). Only include full path if namespace is not provided.",
|
|
37
37
|
},
|
|
38
38
|
namespace: {
|
|
39
39
|
type: "string",
|
|
40
|
-
description: "Namespace (e.g., 'nav', 'home'). Defaults to 'default'",
|
|
40
|
+
description: "Namespace for the key (e.g., 'nav', 'home', 'cta'). When provided, the key should NOT include this namespace prefix. Defaults to 'default' if not provided.",
|
|
41
41
|
},
|
|
42
42
|
sourceText: {
|
|
43
43
|
type: "string",
|
|
@@ -72,7 +72,7 @@ export const bulkCreateKeys = {
|
|
|
72
72
|
}
|
|
73
73
|
try {
|
|
74
74
|
// Format keys with default namespace
|
|
75
|
-
const formattedKeys = input.keys.map(k => ({
|
|
75
|
+
const formattedKeys = input.keys.map((k) => ({
|
|
76
76
|
key: k.key,
|
|
77
77
|
namespace: k.namespace || "default",
|
|
78
78
|
sourceText: k.sourceText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkCreateKeys.js","sourceRoot":"","sources":["../../src/tools/bulkCreateKeys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"bulkCreateKeys.js","sourceRoot":"","sources":["../../src/tools/bulkCreateKeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTranslationKey.d.ts","sourceRoot":"","sources":["../../src/tools/createTranslationKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAS9C,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"createTranslationKey.d.ts","sourceRoot":"","sources":["../../src/tools/createTranslationKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAS9C,eAAO,MAAM,oBAAoB,EAAE,IA4FlC,CAAC"}
|
|
@@ -14,7 +14,7 @@ const inputSchema = z.object({
|
|
|
14
14
|
export const createTranslationKey = {
|
|
15
15
|
definition: {
|
|
16
16
|
name: "createTranslationKey",
|
|
17
|
-
description: "Create a new translation key with source text.
|
|
17
|
+
description: "Create a new translation key with source text. If namespace is provided, the key should NOT include the namespace prefix (e.g., namespace: 'auth', key: 'login.title' NOT 'auth.login.title'). If namespace is not provided, it will be auto-extracted from the key if it contains dots. If projectSlug is not provided, uses the project from i18n.config.ts in the workspace.",
|
|
18
18
|
inputSchema: {
|
|
19
19
|
type: "object",
|
|
20
20
|
properties: {
|
|
@@ -24,7 +24,7 @@ export const createTranslationKey = {
|
|
|
24
24
|
},
|
|
25
25
|
key: {
|
|
26
26
|
type: "string",
|
|
27
|
-
description: "Translation key (e.g., '
|
|
27
|
+
description: "Translation key WITHOUT namespace prefix when namespace is provided (e.g., 'login.title' when namespace is 'auth'). Include namespace in key only if namespace parameter is not provided (e.g., 'auth.login.title').",
|
|
28
28
|
},
|
|
29
29
|
sourceValue: {
|
|
30
30
|
type: "string",
|
|
@@ -32,7 +32,7 @@ export const createTranslationKey = {
|
|
|
32
32
|
},
|
|
33
33
|
namespace: {
|
|
34
34
|
type: "string",
|
|
35
|
-
description: "
|
|
35
|
+
description: "Namespace for the key (e.g., 'auth', 'home', 'cta'). When provided, the key should NOT include this namespace prefix.",
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
required: ["key", "sourceValue"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTranslationKey.js","sourceRoot":"","sources":["../../src/tools/createTranslationKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"createTranslationKey.js","sourceRoot":"","sources":["../../src/tools/createTranslationKey.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-i18n/mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "MCP server for Better i18n translation management - AI-powered translation workflow for Cursor, Claude, and other AI assistants",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|