Skip to main content

Model Context Protocol server for Verbumia — list projects, missing keys, propose translations from Claude Desktop and other MCP clients.

Project description

Verbumia MCP server

Model Context Protocol server for Verbumia — exposes your translation project to Claude Desktop and other MCP clients.

Status

Tools wired: list_projects, get_project_info, list_keys, list_untranslated_keys, list_missing_keys, missing_keys_stats, acknowledge_missing_keys, create_namespace, create_key, create_keys_bulk, propose_translation, propose_translations_bulk, publish_cdn, validate_translations, project_context_get, project_context_set, glossary_list, glossary_create, glossary_update, glossary_delete.

Project context document (V1.2)

project_context_get / project_context_set read and write a free-form markdown blob attached to the project — terminology, brand voice, domain notes (religious, legal, medical, gaming, etc.). The content is intended as ambient context for human translators and for AI agents producing translations: prepend it to your translation prompts so every output stays consistent with the project's vocabulary and tone. Hard cap 100 KiB.

Scopes:

  • project_context_get requires project:read (existing scope).
  • project_context_set requires project:settings:write (new scope, narrower than project:write since settings changes propagate to every translator's prompt context).

Note: the blanket mcp:* scope is not sufficient for these tools — grant the precise scope on the key.

Glossary (V1.3)

CRUD over the project glossary — the terminology rules the backend applies when translating. The single public rule_type vocabulary is translation | do_not_translate | forbidden (the internal storage type is never exposed).

  • glossary_list — filters rule_type, q (substring on term), limit (1..500, default 200) → { items, total }.
  • glossary_create{ rule_type?, term, translations?, case_sensitive?, note? }; rule_type defaults to translation; translations is honored only for translation. 409 on a duplicate (rule_type, term).
  • glossary_update — by entry_id; send only the fields to change (term, translations, case_sensitive, note). rule_type is immutable.
  • glossary_delete — by entry_id.

These use the dedicated MCP surface /v1/mcp/projects/{id}/glossary and need the mcp:* scope (the dashboard glossary endpoints are project-role only).

Per-string glossary hints. list_untranslated_keys and list_keys accept include_glossary_hints: true (default false). When set, each returned key carries a glossary_hints[] array — { term, rule_type, target_translation, matched_text } — for the rules the backend matched against the key's source string. All matching is backend-side; the MCP forwards the flag and surfaces the hints verbatim.

Install

# Recommended (zero-install, used by Claude Desktop's mcp.json):
npx -y @verbumia/mcp

# Or from PyPI:
pipx install verbumia-mcp

A Homebrew tap (brew install verbumia/tap/verbumia-mcp) is coming once we publish to npm.

Configure (Claude Desktop)

Open Settings → Developer → Edit Config, then:

Single-project setup:

{
  "mcpServers": {
    "verbumia": {
      "command": "npx",
      "args": ["-y", "@verbumia/mcp"],
      "env": {
        "VERBUMIA_API_KEY": "vrb_live_<prefix>.<secret>",
        "VERBUMIA_PROJECTS": "<project_uuid>",
        "VERBUMIA_BASE_URL": "https://api.verbumia.dev"
      }
    }
  }
}

Multi-project setup (v0.11+) — comma-separate the UUIDs and Claude will pass project_uuid on each tool call:

"env": {
  "VERBUMIA_API_KEY": "vrb_live_<prefix>.<secret>",
  "VERBUMIA_PROJECTS": "01993a..,01993b..,01993c.."
}

Restart Claude Desktop. Tools show up in the prompt UI.

Environment

Variable Required Default Description
VERBUMIA_API_KEY yes API key from Org Settings → API Keys (VERBUMIA_TOKEN also accepted, back-compat)
VERBUMIA_PROJECTS no (LLM passes per call) CSV of project UUIDs. When >1, the LLM MUST pass project_uuid on each tool call.
VERBUMIA_PROJECT no (legacy) Singular fallback for v0.10.x users. Ignored when VERBUMIA_PROJECTS is set (warns).
VERBUMIA_BASE_URL no https://api.verbumia.dev Override for self-host or staging (VERBUMIA_API_BASE also accepted, back-compat)

The token format is vrb_live_<prefix>.<secret> and must carry the mcp:* scope. For the project_context_* tools, also grant project:read and/or project:settings:write — see the Project context document section above. Treat the token like any other secret — keychain or .env, never commit.

If your API key is pinned to a single project (its project_uuid is set server-side), listing additional UUIDs in VERBUMIA_PROJECTS will surface as a 403 API key is scoped to a different project from the backend on any call targeting one of the others.

Local development

cd mcp
uv sync
uv run verbumia-mcp        # stdio transport — pipe MCP frames over stdin/stdout

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

verbumia_mcp-0.13.0.tar.gz (60.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

verbumia_mcp-0.13.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file verbumia_mcp-0.13.0.tar.gz.

File metadata

  • Download URL: verbumia_mcp-0.13.0.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verbumia_mcp-0.13.0.tar.gz
Algorithm Hash digest
SHA256 85528964d8a9cb269843a499b840a39e291eb0ca35d73bd52023432ac312b3ee
MD5 e8f3969183da278ee2411309e1ea0664
BLAKE2b-256 bd47b604fd860a5365cec492c3018addd3a463c5dae9705696d995dfa8114a8b

See more details on using hashes here.

File details

Details for the file verbumia_mcp-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: verbumia_mcp-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verbumia_mcp-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b9187df8d9cdd6fea67e6a9296bd3efa9f77746e667f1960594283d52d75e8a
MD5 085ea9dd29a4e679384a53934a7a53ee
BLAKE2b-256 e8e75338fe5729303de0bcb79b66a99006520c90795c8c68ac6bacc47b0b8f77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page