@sonenta/mcp 0.34.1 → 0.36.0
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 +9 -74
- package/bin/sonenta-mcp.js +20085 -182
- package/bin/sonenta-mcp.js.map +1 -0
- package/package.json +34 -14
- package/python/README.md +0 -114
- package/python/dist/sonenta_mcp-0.34.1-py3-none-any.whl +0 -0
- package/python/pyproject.toml +0 -59
- package/python/verbumia_mcp/__init__.py +0 -3
- package/python/verbumia_mcp/__main__.py +0 -23
- package/python/verbumia_mcp/client.py +0 -85
- package/python/verbumia_mcp/config.py +0 -157
- package/python/verbumia_mcp/server.py +0 -88
- package/python/verbumia_mcp/tools.py +0 -3300
package/README.md
CHANGED
|
@@ -1,89 +1,24 @@
|
|
|
1
1
|
# @sonenta/mcp
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
other Model Context Protocol clients into your translation project.
|
|
3
|
+
Model Context Protocol server for **Sonenta** translation management — **pure TypeScript**, no Python, no `uv`, no bundled wheel. Runs on Node ≥18.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
download). The launcher picks the best Python runtime on your host and
|
|
8
|
-
runs the bundled `sonenta-mcp` directly.
|
|
5
|
+
Wires Claude Desktop and other MCP clients into your Sonenta project's keys, translations, accessibility surfaces, source-health, and glossary tools.
|
|
9
6
|
|
|
10
|
-
## Use
|
|
7
|
+
## Use
|
|
8
|
+
|
|
9
|
+
Auto-wired by `sonenta init` / `sonenta agents add`. Manual `.mcp.json`:
|
|
11
10
|
|
|
12
11
|
```json
|
|
13
12
|
{
|
|
14
13
|
"mcpServers": {
|
|
15
|
-
"
|
|
14
|
+
"verbumia": {
|
|
16
15
|
"command": "npx",
|
|
17
16
|
"args": ["-y", "@sonenta/mcp"],
|
|
18
|
-
"env": {
|
|
19
|
-
"SONENTA_API_KEY": "vrb_live_<prefix>.<secret>",
|
|
20
|
-
"SONENTA_PROJECTS": "<project_uuid>",
|
|
21
|
-
"SONENTA_BASE_URL": "https://api.sonenta.dev"
|
|
22
|
-
}
|
|
17
|
+
"env": { "SONENTA_API_KEY": "<mcp:* key>", "SONENTA_PROJECTS": "<uuid,…>" }
|
|
23
18
|
}
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
21
|
```
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
`
|
|
30
|
-
call:
|
|
31
|
-
|
|
32
|
-
```json
|
|
33
|
-
"env": {
|
|
34
|
-
"SONENTA_API_KEY": "vrb_live_<prefix>.<secret>",
|
|
35
|
-
"SONENTA_PROJECTS": "01993a..,01993b..,01993c.."
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Restart Claude Desktop. All thirteen Sonenta tools (`list_projects`,
|
|
40
|
-
`get_project_info`, `list_keys`, `list_untranslated_keys`,
|
|
41
|
-
`list_missing_keys`, `missing_keys_stats`, `acknowledge_missing_keys`,
|
|
42
|
-
`create_key`, `propose_translation`, `publish_cdn`,
|
|
43
|
-
`validate_translations`, `project_context_get`, `project_context_set`)
|
|
44
|
-
become callable from your prompt.
|
|
45
|
-
|
|
46
|
-
## How the launcher works
|
|
47
|
-
|
|
48
|
-
The npm tarball ships the Python sources under `python/` plus a pre-built
|
|
49
|
-
wheel under `python/dist/`. The Node bin tries these in order:
|
|
50
|
-
|
|
51
|
-
1. **`uvx --from <bundled_wheel> sonenta-mcp`** — fastest, ephemeral
|
|
52
|
-
venv. Recommended.
|
|
53
|
-
2. **`uv run --project <bundled_dir> sonenta-mcp`** — uv-managed,
|
|
54
|
-
resolves deps from `pyproject.toml`.
|
|
55
|
-
3. **`pipx run --spec <bundled_wheel> sonenta-mcp`** — pipx-managed.
|
|
56
|
-
4. **Ad-hoc venv at `~/.sonenta/mcp-venv-<wheelhash>/`** — last-resort
|
|
57
|
-
fallback that requires only `python3 >= 3.12`. Slow first run, fast
|
|
58
|
-
thereafter.
|
|
59
|
-
|
|
60
|
-
Stdio is fully passthrough so the MCP JSON-RPC framing is preserved.
|
|
61
|
-
|
|
62
|
-
## Environment variables (canonical)
|
|
63
|
-
|
|
64
|
-
| Var | Required | Default | Notes |
|
|
65
|
-
|----------------------|----------|-----------------------------|--------------------------------------------------------|
|
|
66
|
-
| `SONENTA_API_KEY` | yes* | | Bearer ApiKey token. `SONENTA_TOKEN` accepted (back-compat). *Optional if you ran `sonenta login` — the server reads `~/.sonenta/credentials`. |
|
|
67
|
-
| `SONENTA_BASE_URL` | no | `https://api.sonenta.dev` | Self-host / staging override. `SONENTA_API_BASE` accepted (back-compat) |
|
|
68
|
-
| `SONENTA_PROJECTS` | no | (LLM picks per call) | CSV of project UUIDs. When >1, the LLM MUST pass `project_uuid` per call. |
|
|
69
|
-
| `SONENTA_PROJECT` | no | (legacy) | Singular fallback for v0.10.x users. Ignored when `SONENTA_PROJECTS` is set (warns). |
|
|
70
|
-
|
|
71
|
-
## Requirements
|
|
72
|
-
|
|
73
|
-
One of:
|
|
74
|
-
|
|
75
|
-
- **uv** (recommended, https://docs.astral.sh/uv/)
|
|
76
|
-
- **pipx** (https://pipx.pypa.io/)
|
|
77
|
-
- **python3 >= 3.12** (for the venv fallback)
|
|
78
|
-
|
|
79
|
-
## Self-check
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
npx -y @sonenta/mcp --self-check
|
|
83
|
-
# -> @sonenta/mcp launchers detected: uvx, uv, python3
|
|
84
|
-
# -> @sonenta/mcp bundled wheel: <node_modules>/.../python/dist/sonenta_mcp-…whl
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## License
|
|
88
|
-
|
|
89
|
-
MIT.
|
|
23
|
+
Env: `SONENTA_API_KEY` / `SONENTA_BASE_URL` (default `https://api.sonenta.dev`) / `SONENTA_PROJECTS`
|
|
24
|
+
(legacy `VERBUMIA_*` accepted). With no key set, the server reads `~/.sonenta/credentials` (from `sonenta login`).
|