Node.js MCP server exposing translate/search_tm/upsert_glossary/record_correction over StreamableHTTP on :9222. Routes translation calls to gemini-2.5-flash via LiteLLM, augmented with per-tenant TM + glossary + tone profile from the SmartTranslate pgvector DB. Schema migration in sql/001_schema.sql already applied to smarttranslate DB. Fleet registration in Infrastructure/litellm/config.yaml. Refs: CF-3122 CF-3123 CF-3124 CF-3125
47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# translate-mcp
|
|
|
|
Per-tenant translation MCP. Routes translations to `gemini-2.5-flash` via LiteLLM,
|
|
augmented with per-tenant translation memory, glossary, and tone profile stored in
|
|
the shared SmartTranslate Postgres (pgvector).
|
|
|
|
- Epic: **CF-3122**
|
|
- Scaffold: CF-3123 (this repo)
|
|
- Schema migration: CF-3124 (see `sql/001_schema.sql`)
|
|
- Gateway registration: CF-3125
|
|
- Claude routing (CLAUDE.md + PreToolUse hook): CF-3126
|
|
- Tenant profile seeding from memory: CF-3127
|
|
|
|
## Tools
|
|
|
|
| Tool | Purpose |
|
|
|---|---|
|
|
| `translate(text, tenant, target_lang, source_lang?)` | Main translation call; uses TM + glossary + tone. |
|
|
| `search_tm(query, tenant, target_lang, ...)` | Vector TM lookup. |
|
|
| `upsert_glossary(...)` | Manage per-tenant glossary. |
|
|
| `record_correction(tm_id, corrected_target, tenant)` | Human-in-the-loop correction. |
|
|
| `list_tenants()` / `get_tenant_profile(tenant)` | Inspect profiles. |
|
|
|
|
## Environment
|
|
|
|
```
|
|
TRANSLATE_DB_DSN=postgresql://translate_mcp_rw:***@postgres.agiliton.internal:5432/smarttranslate
|
|
LITELLM_URL=http://llm:4000
|
|
LITELLM_API_KEY=sk-litellm-master-key
|
|
TRANSLATE_MODEL=gemini-2.5-flash # override for cost tests
|
|
TRANSLATE_EMBED_MODEL=mxbai-embed-large
|
|
SENTRY_DSN=... # optional
|
|
```
|
|
|
|
## Run locally (dev)
|
|
|
|
```
|
|
uv pip install -e .
|
|
export TRANSLATE_DB_DSN=postgresql://...
|
|
python -m src.server
|
|
```
|
|
|
|
## Deploy
|
|
|
|
Via LiteLLM MCP gateway: add block in `Infrastructure/litellm/config.yaml`
|
|
(see CF-3125) and `agiliton-deploy litellm`.
|