Skip to main content

MCP server for Nativ — AI-powered localization platform. Translate text, manage translation memory, and access style guides from any MCP-compatible AI tool.

Project description

Nativ MCP Server

mcp-name: io.github.Nativ-Technologies/nativ

AI-powered localization for any MCP-compatible tool — Claude Code, Cursor, Windsurf, and more.

Nativ is a localization platform that uses AI to translate content while respecting your brand voice, translation memory, glossaries, and style guides. This MCP server brings Nativ's full localization engine into your AI coding workflow.

Smithery MCP Badge


Why use Nativ via MCP?

  • Translate in-context — localize strings, copy, and content directly from your editor without switching to a browser
  • Translation Memory aware — every translation checks your TM first, ensuring consistency across your project
  • Brand voice built-in — your team's tone, formality, and style guides are applied automatically
  • Review and approve — add approved translations to TM from your editor, building quality over time
  • Multi-format — JSON, CSV, Markdown, or freeform text — Nativ handles it all

Quick Start

1. Get a Nativ API Key

Sign up at dashboard.usenativ.com, go to Settings → API Keys, and create a key. It looks like nativ_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

2. Install

Add to your MCP configuration:

Claude Code / Claude Desktop (~/.claude/claude_desktop_config.json)

{
  "mcpServers": {
    "nativ": {
      "command": "npx",
      "args": ["-y", "nativ-mcp"],
      "env": {
        "NATIV_API_KEY": "nativ_your_api_key_here"
      }
    }
  }
}

Cursor (.cursor/mcp.json in your project or ~/.cursor/mcp.json globally)

{
  "mcpServers": {
    "nativ": {
      "command": "npx",
      "args": ["-y", "nativ-mcp"],
      "env": {
        "NATIV_API_KEY": "nativ_your_api_key_here"
      }
    }
  }
}

Windsurf

{
  "mcpServers": {
    "nativ": {
      "command": "npx",
      "args": ["-y", "nativ-mcp"],
      "env": {
        "NATIV_API_KEY": "nativ_your_api_key_here"
      }
    }
  }
}

Note: npx auto-downloads the package on first run — no manual install needed. If uv isn't already on your machine, it will be installed automatically on first launch.

Alternative: use uvx directly

If you already have uv installed and prefer to skip the npm wrapper:

{
  "mcpServers": {
    "nativ": {
      "command": "uvx",
      "args": ["nativ-mcp"],
      "env": {
        "NATIV_API_KEY": "nativ_your_api_key_here"
      }
    }
  }
}

macOS tip: If you get spawn uvx ENOENT in Cursor or Claude Desktop, GUI apps don't inherit your shell PATH. Use the full path (e.g. "command": "/Users/you/.local/bin/uvx") or wrap in a login shell: "command": "/bin/sh", "args": ["-lc", "uvx nativ-mcp"].

3. Use it

Ask your AI assistant things like:

  • "Translate 'Welcome back!' to French and German"
  • "Check our translation memory for existing translations of 'Sign up'"
  • "What are our style guides for localization?"
  • "Localize these i18n strings to all configured languages"
  • "Review this German translation against our TM and brand voice"

Tools

Tool Description
translate Translate text using the full localization engine (TM, style guides, brand voice, glossary)
translate_batch Translate multiple texts to a target language in one call
search_translation_memory Fuzzy-search the translation memory for existing translations
add_translation_memory_entry Add an approved translation to TM for future reuse
get_languages List all configured languages with formality and style settings
get_translation_memory_stats Get TM statistics — total entries, sources, and breakdown
get_style_guides List all style guides with their content and status
get_brand_voice Get the brand voice prompt that shapes all translations
extract_image_text Extract on-image text segments (OCR) in reading order
localize_image Replace on-image text with translations in place, keeping layout and graphics intact
check_image_cultural_fit Flag cultural-sensitivity issues in an image across target markets

Resources

URI Description
nativ://languages Configured languages (JSON)
nativ://style-guides All style guides (JSON)
nativ://brand-prompt Brand voice prompt (JSON)
nativ://tm/stats Translation memory statistics (JSON)

Prompts

Prompt Description
localize-content Guided workflow to localize content into target languages
review-translation Review a translation against TM, style guides, and brand voice
batch-localize-strings Batch-localize i18n strings with structured output

Examples

Translate a marketing headline

You: Translate "The future of luxury, delivered" to French and Japanese

AI: [calls translate tool for each language]

Translation (French): "L'avenir du luxe, livré chez vous"
  TM Match: 0% — new translation, no prior TM entries
  Rationale: "Livré chez vous" adds a personal touch absent from the literal
  "livré", aligning with the brand's premium yet approachable voice.

Translation (Japanese): "ラグジュアリーの未来を、あなたの元へ"
  TM Match: 45% partial — similar pattern found in TM from brand_voice source

Check existing translations

You: Do we have translations for "Add to cart" in our TM?

AI: [calls search_translation_memory]

TM Search Results for "Add to cart" (3 matches):
- 95% [strong] "Add to cart" → "Ajouter au panier" (source: approved)
- 95% [strong] "Add to cart" → "In den Warenkorb" (source: brand_voice)
- 72% [partial] "Add items to cart" → "Ajouter des articles" (source: phrase_tm)

Batch localize i18n strings

You: Localize these to French:
  - "Sign up"
  - "Log in"
  - "Forgot password?"
  - "Continue with Google"

AI: [calls translate_batch]

Batch translation to French (4 items):
1. "Sign up" → "S'inscrire" (TM 100%)
2. "Log in" → "Se connecter" (TM 100%)
3. "Forgot password?" → "Mot de passe oublié ?" (TM 92%)
4. "Continue with Google" → "Continuer avec Google" (TM 85%)

Configuration

Environment Variable Required Description
NATIV_API_KEY Yes Your Nativ API key (nativ_xxx...)
NATIV_API_URL No API base URL (defaults to https://api.usenativ.com)

How It Works

This MCP server acts as a bridge between your AI coding assistant and the Nativ API:

┌─────────────────────┐     ┌──────────────┐     ┌─────────────────┐
│  Claude / Cursor /   │────▶│  Nativ MCP   │────▶│   Nativ API     │
│  Windsurf / etc.     │◀────│  Server      │◀────│ (Translation,   │
│                      │     │  (stdio)     │     │  TM, Styles)    │
└─────────────────────┘     └──────────────┘     └─────────────────┘

The MCP server runs locally via stdio. It authenticates with your API key and calls the Nativ REST API on your behalf. Your AI assistant sees Nativ's tools, resources, and prompts as native capabilities.

Development

# Clone the repo
git clone https://github.com/nativ-ai/nativ-mcp.git
cd nativ-mcp

# Set up environment
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

# Run the server (for testing)
NATIV_API_KEY=nativ_xxx nativ-mcp

# Run with MCP Inspector
NATIV_API_KEY=nativ_xxx npx @modelcontextprotocol/inspector uv run nativ-mcp

License

MIT — see LICENSE.

Links

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

nativ_mcp-0.2.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

nativ_mcp-0.2.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file nativ_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: nativ_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for nativ_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8f1a52da60d73f99fcb222da726dfcda0cc8b6c4beed3b33865a89e942bd3b58
MD5 9885f41ab71907c6f54f99f37b91b78a
BLAKE2b-256 1bbc884dfca967d867e7d8545c9f08f26644e4f57fd73443897ecf503df58894

See more details on using hashes here.

File details

Details for the file nativ_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nativ_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for nativ_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f192e506dccefe78a713ec9a927b2a655d5a328adcf1357e62259656949b7301
MD5 9ad548f2b99ca21858312a3471367bcf
BLAKE2b-256 c83a2d6b3d11d1daa5348104e87ac01fb063cdd7ce0612a20982bc0441695014

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