io.github.intlpull/intlpull
NPM · @INTLPULLHQ/MCP-SERVER · SCANNED SEP 25
AI-powered i18n platform with 50+ tools for translations, OTA releases, and more.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 39 of 122 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 228 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3203 tokens (~60/item across 53 items; 51 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 74% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 52 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.intlpull/intlpull MCP server?
io.github.intlpull/intlpull runs locally as an npm package, launched with npx -y @intlpullhq/mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @intlpullhq/mcp-server
claude mcp add intlpull-intlpull -- npx -y @intlpullhq/mcp-server
{
"mcpServers": {
"intlpull-intlpull": {
"command": "npx",
"args": [
"-y",
"@intlpullhq/mcp-server"
]
}
}
} {
"servers": {
"intlpull-intlpull": {
"command": "npx",
"args": [
"-y",
"@intlpullhq/mcp-server"
]
}
}
} codex mcp add intlpull-intlpull -- npx -y @intlpullhq/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"intlpull-intlpull": {
"type": "local",
"command": [
"npx",
"-y",
"@intlpullhq/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add intlpull-intlpull --command npx --arg -y --arg @intlpullhq/mcp-server
mcp_servers:
intlpull-intlpull:
command: "npx"
args: ["-y", "@intlpullhq/mcp-server"] {
"McpServers": {
"intlpull-intlpull": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@intlpullhq/mcp-server"
]
}
}
} assistant mcp add intlpull-intlpull -t stdio -c npx -a -y @intlpullhq/mcp-server
{
"mcpServers": {
"intlpull-intlpull": {
"command": "npx",
"args": [
"-y",
"@intlpullhq/mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Sept 26 −3
- Stability: pass → 0.80 functional
- 22 Sept 26 0
- Stability: 0.97 → pass security
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Analysed npm/@intlpullhq/mcp-server@0.2.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 122 packages
| Packages resolved | 122 |
|---|---|
| Deprecated | 1 |
| Stale | 38 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_languages ~38
Add languages to an existing project
| Name | Type | Req | Description |
|---|---|---|---|
| languages | array | yes | – |
| projectId | string | yes | – |
| skipTranslation | boolean | – | – |
No output schema declared.
No examples provided.
bulk_create_keys ~44
Create multiple translation keys at once. Efficient for batch operations.
| Name | Type | Req | Description |
|---|---|---|---|
| autoTranslate | boolean | – | – |
| keys | array | yes | – |
| projectPath | string | – | – |
No output schema declared.
No examples provided.
configure_platform ~72
Configure platform-specific settings (output directory, overrides) for multi-platform projects
| Name | Type | Req | Description |
|---|---|---|---|
| namespaces | array | – | Platform-specific namespaces to include |
| outputDir | string | – | Custom output directory for this platform |
| platform | string | yes | Platform to configure |
| projectPath | string | yes | Path to the project directory |
No output schema declared.
No examples provided.
create_project ~47
Create a new IntlPull project with languages
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| name | string | yes | – |
| sourceLanguage | string | yes | – |
| targetLanguages | array | yes | – |
No output schema declared.
No examples provided.
create_translation_key ~61
Create a new translation key with initial value.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| key | string | yes | – |
| namespace | string | – | – |
| platforms | array | – | – |
| projectPath | string | – | – |
| value | string | yes | – |
No output schema declared.
No examples provided.
delete_ota_release ~31
Delete an OTA release
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | – |
| releaseId | string | yes | – |
No output schema declared.
No examples provided.
detect_translation_files ~32
Scan directory and detect translation files without uploading.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | – |
| pattern | string | – | – |
No output schema declared.
No examples provided.
download_document ~58
Download a translated document
| Name | Type | Req | Description |
|---|---|---|---|
| documentId | string | yes | Document ID |
| language | string | yes | Target language code |
| outputPath | string | yes | Absolute path to save the downloaded file |
| projectId | string | yes | Project ID |
No output schema declared.
No examples provided.
download_translations ~90
Download translations from IntlPull server with branch and platform context
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Branch to download from (defaults to current git branch or main) |
| format | string | – | Output format |
| languages | array | – | Languages to download. Downloads all if not specified. |
| platform | string | – | Platform to download translations for |
| projectPath | string | yes | Path to the project directory |
No output schema declared.
No examples provided.
email_templates_list ~51
List email templates for a project. Shows both remote templates from IntlPull and local templates in the emails/ directory.
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | Path to the project directory containing .intlpull.json |
No output schema declared.
No examples provided.
email_templates_pull ~92
Pull email templates from IntlPull API and write them as HTML files to the emails/ directory. Each template gets its own subdirectory with {lang}.html files.
| Name | Type | Req | Description |
|---|---|---|---|
| languages | array | – | Languages to pull (e.g., ["en", "es", "fr"]). Defaults to ["en"] if not specified. |
| projectPath | string | – | Path to the project directory containing .intlpull.json |
No output schema declared.
No examples provided.
email_templates_push ~89
Push local HTML email templates from the emails/ directory to IntlPull API. Reads {slug}/{lang}.html files and uploads them as template translations.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | Preview changes without applying them |
| projectPath | string | – | Path to the project directory containing .intlpull.json |
| templates | array | – | Template slugs to push (all templates if not specified) |
No output schema declared.
No examples provided.
email_templates_status ~53
Compare local email templates with remote templates in IntlPull. Shows which templates exist locally only, remotely only, or are synced.
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | Path to the project directory containing .intlpull.json |
No output schema declared.
No examples provided.
generate_translation_file ~71
Generate a translation JSON file for a specific language
| Name | Type | Req | Description |
|---|---|---|---|
| extractedFile | string | yes | Path to the extracted strings file |
| format | string | – | Output format: flat or nested JSON |
| outputDir | string | – | Output directory for translation files |
| targetLanguage | string | yes | Target language code |
No output schema declared.
No examples provided.
get_branch_info ~32
Get current git branch information and translation branch strategy
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | Path to the project directory |
No output schema declared.
No examples provided.
get_document ~35
Get details of a specific document
| Name | Type | Req | Description |
|---|---|---|---|
| documentId | string | yes | Document ID |
| projectId | string | yes | Project ID |
No output schema declared.
No examples provided.
get_ota_manifest ~43
Get the OTA manifest for SDKs (includes version, bundle URLs, and delta info)
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | – |
| projectPath | string | – | – |
No output schema declared.
No examples provided.
get_pinned_version ~36
Check if a session has a pinned OTA version and get its details.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | Session ID to check |
No output schema declared.
No examples provided.
get_platform_info ~41
Get current platform configuration and available platforms for multi-platform projects (React Native, Expo, etc.)
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | Path to the project directory |
No output schema declared.
No examples provided.
get_recent_events ~64
Get recent events for debugging and monitoring. Shows the last 100 events.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of events to return (max 100) |
| projectId | string | – | Filter by project ID |
| type | string | – | Filter by event type |
No output schema declared.
No examples provided.
get_translation_status ~30
Get the translation status for a project
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Path to the project directory |
No output schema declared.
No examples provided.
glossary_check_text ~46
Check text for glossary terms and get their approved translations
| Name | Type | Req | Description |
|---|---|---|---|
| targetLanguage | string | yes | Target language code for translations |
| text | string | yes | Text to check for glossary terms |
No output schema declared.
No examples provided.
glossary_lookup ~67
Look up terms in the project glossary to ensure consistent terminology
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of results |
| query | string | yes | Term to look up in the glossary |
| targetLanguage | string | – | Target language code for translations (e.g., "es", "fr") |
No output schema declared.
No examples provided.
import_history ~31
Get recent import operations for a project
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| projectPath | string | – | – |
No output schema declared.
No examples provided.
import_preview ~182
Preview what translations would be imported without executing. Shows new keys, existing keys, and potential deletions. Optionally includes TM analysis to estimate translation memory coverage.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Path to translation file to preview |
| includeTMAnalysis | boolean | – | Include Translation Memory analysis for pre-translation opportunities |
| language | string | – | Language code (auto-detected if omitted) |
| namespace | string | – | Target namespace |
| projectPath | string | – | Path to project root |
| sourceLanguage | string | – | Source language code for TM analysis (required if includeTMAnalysis is true) |
| targetLanguages | array | – | Target language codes for TM analysis (e.g., ["es", "fr", "de"]) |
| tmMinQuality | number | – | Minimum TM match quality threshold (0-1). Default 0.85 (85%) |
No output schema declared.
No examples provided.
import_translations ~130
Import translations from a local file to IntlPull. Reads the file and uploads to the server.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Branch name to import translations to |
| filePath | string | yes | Path to translation file to import (JSON or YAML) |
| language | string | – | Target language code (auto-detected from filename if omitted) |
| namespace | string | – | Target namespace |
| options | object | – | Import options |
| platform | string | – | Platform to tag imported keys with (ios, android, web) |
| projectPath | string | – | Path to project root (for reading config) |
No output schema declared.
No examples provided.
list_branch_translations ~46
List translation files specific to the current branch
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Path to the project directory |
| showDiff | boolean | – | Show diff compared to base branch |
No output schema declared.
No examples provided.
list_documents ~29
List all documents in a project
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | Project ID to list documents for |
No output schema declared.
No examples provided.
list_languages ~15
List all supported languages for translation
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_ota_releases ~34
List all OTA releases for a project
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| projectPath | string | – | – |
No output schema declared.
No examples provided.
list_pinned_versions ~23
List all active pinned OTA versions (for debugging/monitoring).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_webhooks ~18
List all registered webhooks and their configurations
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
merge_branch_translations ~104
Merge translations from current branch into base branch or vice versa
| Name | Type | Req | Description |
|---|---|---|---|
| conflictResolution | string | – | How to handle conflicts: keep-base (default), keep-branch, or keep-both (adds suffix) |
| direction | string | yes | Direction: to-base (merge feature->main), from-base (sync main->feature) |
| namespace | string | – | Namespace to merge (or all if not specified) |
| projectPath | string | yes | Path to the project directory |
No output schema declared.
No examples provided.
migrate_translations ~97
Migrate translation files to IntlPull with auto project/language creation.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | – |
| namespace | string | – | – |
| path | string | yes | Path to translation files directory |
| pattern | string | – | – |
| projectName | string | yes | Project name (creates if not exists) |
| sourceLanguage | string | yes | Source language code (e.g., "en", "de", "ja"). Required. |
No output schema declared.
No examples provided.
pin_ota_version ~120
Pin an OTA version for critical flows (checkout, payment, onboarding). Ensures consistent translations during the flow, preventing mid-transaction text changes.
| Name | Type | Req | Description |
|---|---|---|---|
| flowType | string | – | Type of critical flow for analytics |
| projectPath | string | – | Path to project root |
| sessionId | string | yes | Unique session identifier (e.g., user session ID, cart ID) |
| ttlMinutes | number | – | Time-to-live in minutes (max 60 recommended) |
| version | string | – | Specific version to pin (defaults to current latest) |
No output schema declared.
No examples provided.
publish_ota_release ~64
Publish an OTA release for mobile/web SDKs. Creates a versioned bundle that apps can download at runtime.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Translation branch to publish from |
| projectPath | string | – | – |
| version | string | – | Version string for this release |
No output schema declared.
No examples provided.
register_webhook ~142
Register a webhook to receive IntlPull events. Webhooks can trigger CI/CD pipelines, send Slack notifications, or integrate with other systems.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Whether the webhook is active |
| events | – | – | Events to receive. Use "*" for all events or an array of specific event types. |
| secret | string | – | Secret for HMAC signature verification (recommended for security) |
| timeoutMs | number | – | Request timeout in milliseconds |
| url | string | yes | Webhook endpoint URL (must be HTTPS in production) |
| webhookId | string | yes | Unique identifier for this webhook (e.g., "ci-deploy", "slack-notify") |
No output schema declared.
No examples provided.
search_translations ~76
Search translations with filters and pagination. Returns minimal data to avoid context window blowup.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| limit | number | – | – |
| namespace | string | – | – |
| offset | number | – | – |
| projectPath | string | – | – |
| query | string | yes | – |
| status | string | – | – |
No output schema declared.
No examples provided.
set_branch_strategy ~105
Configure how translations are managed across git branches
| Name | Type | Req | Description |
|---|---|---|---|
| baseBranch | string | – | Base branch for merging translations (e.g., main, master) |
| projectPath | string | yes | Path to the project directory |
| sourceLanguage | string | – | Source language code (required if no .intlpull.json config exists yet) |
| strategy | string | yes | Branch strategy: per-branch (separate translations per branch), merged (sync with base branch), none (ignore branches) |
No output schema declared.
No examples provided.
set_platform ~51
Set the current platform context for translations (ios, android, web, or default)
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | yes | Platform to set as current context |
| projectPath | string | yes | Path to the project directory |
No output schema declared.
No examples provided.
set_platform_override ~80
Set a platform-specific translation override (e.g., "Tap" on iOS vs "Click" on Web)
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Translation key to override |
| platform | string | yes | Platform for the override (not default) |
| projectPath | string | yes | Path to the project directory |
| value | string | yes | Platform-specific value |
No output schema declared.
No examples provided.
test_webhook ~53
Send a test event to a webhook to verify it is working correctly
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | – | Project ID to use in the test event |
| webhookId | string | yes | ID of the webhook to test |
No output schema declared.
No examples provided.
tm_add ~83
Add a translation pair to translation memory
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | – | Context for this translation |
| quality | number | – | Quality score (0-1) |
| sourceLanguage | string | yes | Source language code |
| sourceText | string | yes | Source text |
| targetLanguage | string | yes | Target language code |
| targetText | string | yes | Translated text |
No output schema declared.
No examples provided.
tm_search ~82
Search translation memory for similar translations
| Name | Type | Req | Description |
|---|---|---|---|
| minQuality | number | – | Minimum quality score (0-1) |
| sourceLanguage | string | yes | Source language code (e.g., "en", "de", "ja"). Required - no default assumed. |
| targetLanguage | string | yes | Target language code |
| text | string | yes | Source text to search for |
No output schema declared.
No examples provided.
tm_stats ~13
Get translation memory statistics
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
translate_file ~107
Translate all strings from an extracted IntlPull JSON file
| Name | Type | Req | Description |
|---|---|---|---|
| inputFile | string | yes | Path to the .intlpull-extracted-*.json file |
| outputFile | string | – | Path to save the translated JSON file |
| sourceLanguage | string | yes | Source language code (e.g., "en", "de", "ja"). Required - no default assumed. |
| targetLanguage | string | yes | Target language code (e.g., "es", "fr", "de") |
No output schema declared.
No examples provided.
translate_strings ~83
Translate strings from source language to target language using AI
| Name | Type | Req | Description |
|---|---|---|---|
| sourceLanguage | string | yes | Source language code (e.g., "en", "de", "ja"). Required - no default assumed. |
| strings | array | yes | Array of strings to translate |
| targetLanguage | string | yes | Target language code (e.g., "es", "fr", "de") |
No output schema declared.
No examples provided.
unpin_ota_version ~42
Unpin an OTA version when critical flow completes. Call this after checkout success/failure.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | Session ID that was pinned |
No output schema declared.
No examples provided.
unregister_webhook ~28
Remove a registered webhook
| Name | Type | Req | Description |
|---|---|---|---|
| webhookId | string | yes | ID of the webhook to remove |
No output schema declared.
No examples provided.
upload_document ~64
Upload a new document for translation
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to local file to upload |
| projectId | string | yes | Project ID |
| sourceLanguage | string | – | Source language code |
| targetLanguages | array | – | List of target language codes |
No output schema declared.
No examples provided.
What is the io.github.intlpull/intlpull MCP server?
io.github.intlpull/intlpull is an MCP server listed in the public MCP registry as io.github.intlpull/intlpull. AI-powered i18n platform with 50+ tools for translations, OTA releases, and more. This page covers its npm package (@intlpullhq/mcp-server).
Is the io.github.intlpull/intlpull MCP server safe to use?
io.github.intlpull/intlpull scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.intlpull/intlpull MCP server expose?
io.github.intlpull/intlpull exposes 51 tools: translate_strings, translate_file, list_languages, get_translation_status, generate_translation_file, and 46 more. Their descriptions and schemas cost roughly 3,181 tokens of context every time the server is loaded.
Is the io.github.intlpull/intlpull MCP server still maintained?
io.github.intlpull/intlpull is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.intlpull/intlpull MCP server under?
io.github.intlpull/intlpull declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.