diff --git a/src/content/docs/crowdin/translation-process/crowdin-mcp-server.mdx b/src/content/docs/developer/api/crowdin-mcp-server.mdx
similarity index 58%
rename from src/content/docs/crowdin/translation-process/crowdin-mcp-server.mdx
rename to src/content/docs/developer/api/crowdin-mcp-server.mdx
index 0831a95e..39d90297 100644
--- a/src/content/docs/crowdin/translation-process/crowdin-mcp-server.mdx
+++ b/src/content/docs/developer/api/crowdin-mcp-server.mdx
@@ -1,12 +1,10 @@
---
title: Crowdin MCP Server
description: Manage your Crowdin projects using natural-language AI commands.
-slug: crowdin-mcp-server
-sidebar:
- order: 2
+slug: developer/crowdin-mcp-server
---
-import { Steps, Aside } from '@astrojs/starlight/components';
+import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components';
import { Icon } from 'astro-icon/components';
import ReadMore from '~/components/ReadMore.astro';
@@ -35,18 +33,26 @@ This section provides the details needed to connect your AI client to Crowdin.
To connect to your Crowdin account, the MCP Server uses a **Personal Access Token (PAT)**. This token is your secure key. When you create a token, you must grant it specific **scopes** (permissions) that define what actions it can perform. For the MCP Server to function correctly, the token you use must have the necessary scopes for the commands you want to give. For example, to create a project task, your token will need the **Tasks (Read and Write)** scope.
- Read more about [Creating a Personal Access Token](/account-settings/#creating-a-personal-access-token).
+ Read more about [Creating a Personal Access Token (Crowdin)](/account-settings/#creating-a-personal-access-token) or [Creating a Personal Access Token (Crowdin Enterprise)](/enterprise/account-settings/#creating-a-personal-access-token).
### Endpoint Structure
-Construct the URL based on your role in the project and the tool set you wish to use.
+Construct the URL based on the tool set you wish to use and your role within the project (Crowdin and Crowdin Enterprise) or the organization (Crowdin Enterprise only).
+
+Crowdin MCP endpoint:
```
https://mcp.crowdin.com/mcp/{tool-set}
```
-Replace `{tool-set}` with a role from the table below.
+Crowdin Enterprise MCP endpoint:
+
+```
+https://{your-organization-domain}.mcp.crowdin.com/mcp/{tool-set}
+```
+
+Replace `{tool-set}` with a role from the table below. For Crowdin Enterprise, replace `{your-organization-domain}` with your organization's unique name.
### Available Tool Sets
@@ -54,6 +60,7 @@ Replace `{tool-set}` with a role from the table below.
* **`developer`** - Source files, builds, and integrations.
* **`translator`** - Translation and linguistic tools.
* **`asset-manager`** - Glossaries and translation memory.
+* **`admin`** - User management and organization configuration. **(Crowdin Enterprise only.)**
For best performance, it is highly recommended to specify a tool set. If omitted, all tools will be available, but the AI's performance may be less focused.
@@ -63,16 +70,32 @@ Replace `{tool-set}` with a role from the table below.
Here is a basic JSON configuration snippet for your client.
-```json
-{
- "crowdin": {
- "url": "https://mcp.crowdin.com/mcp/project-manager",
- "headers": {
- "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+
+
+ ```json
+ {
+ "crowdin": {
+ "url": "https://mcp.crowdin.com/mcp/project-manager",
+ "headers": {
+ "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
+ }
}
- }
-}
-```
+ ```
+
+
+ ```json
+ {
+ "crowdin": {
+ "url": "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
+ "headers": {
+ "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
+ }
+ }
+ ```
+
+
## Configuring Your AI Client
@@ -106,16 +129,32 @@ To set up the MCP client in Crowdin Agentic AI, follow these steps:
5. Switch to the **MCP** section and click **Add custom MCP**.
6. Enter the following configuration:
- ```json
- {
- "crowdin": {
- "url": "https://mcp.crowdin.com/mcp/project-manager",
- "headers": {
- "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+
+
+ ```json
+ {
+ "crowdin": {
+ "url": "https://mcp.crowdin.com/mcp/project-manager",
+ "headers": {
+ "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
+ }
+ }
+ ```
+
+
+ ```json
+ {
+ "crowdin": {
+ "url": "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
+ "headers": {
+ "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
+ }
}
- }
- }
- ```
+ ```
+
+
7. Click **Save**.
@@ -129,24 +168,48 @@ To set up the MCP client in Claude Desktop, follow these steps:
2. Click **Edit Config** to locate the `claude_desktop_config.json` file.
3. Open `claude_desktop_config.json` and enter the following configuration:
- ```json
- {
- "mcpServers": {
- "crowdin": {
- "command": "npx",
- "args": [
- "mcp-remote@latest",
- "https://mcp.crowdin.com/mcp/project-manager",
- "--header",
- "Authorization:${AUTH_TOKEN}"
- ],
- "env": {
- "AUTH_TOKEN": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+
+
+ ```json
+ {
+ "mcpServers": {
+ "crowdin": {
+ "command": "npx",
+ "args": [
+ "mcp-remote@latest",
+ "https://mcp.crowdin.com/mcp/project-manager",
+ "--header",
+ "Authorization:${AUTH_TOKEN}"
+ ],
+ "env": {
+ "AUTH_TOKEN": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
+ }
+ }
+ }
+ ```
+
+
+ ```json
+ {
+ "mcpServers": {
+ "crowdin": {
+ "command": "npx",
+ "args": [
+ "mcp-remote@latest",
+ "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
+ "--header",
+ "Authorization:${AUTH_TOKEN}"
+ ],
+ "env": {
+ "AUTH_TOKEN": "Bearer {YOUR_CROWDIN_API_TOKEN}"
+ }
}
+ }
}
- }
- }
- ```
+ ```
+
+
4. Save the changes, and restart the Claude Desktop app.
@@ -167,45 +230,57 @@ The real power of the MCP server comes from chaining commands to complete tasks.
### Project Manager
-1. **Check Progress:**
- ```
- What's the proofreading progress for the 'Q4 Mobile Release' project in German?
- ```
-2. **Identify Bottleneck:** The AI responds that German proofreading is only 30% complete.
-3. **Take Action:**
- ```
- Create a task to proofread all unapproved strings in German for that project and assign it to 'John Doe'.
- ```
+1. **Check Progress:**
+ ```text wrap
+ What's the proofreading progress for the 'Q4 Mobile Release' project in German?
+ ```
+2. **Identify Bottleneck:** The AI responds that German proofreading is only 30% complete.
+3. **Take Action:**
+ ```text wrap
+ Create a task to proofread all unapproved strings in German for that project and assign it to 'John Doe'.
+ ```
### Developer / Translation Requestor
-1. **Add New Source Files:** When a new feature is ready, the developer adds the source text files to the localization project using Cursor.
- ```
- Add the file 'new_onboarding_feature.json' to the 'Mobile App Q4' project.
- ```
-2. **Monitor Translation Progress:** As the deadline approaches, they check the translators' progress to ensure the project is on track.
- ```
- What is the translation progress for the 'Mobile App Q4' project?
- ```
-3. **Publish Final Translations:** Once translations are complete and approved, the developer publishes them to their production environment using a pre-configured distribution.
- ```
- Create a new release for our 'Production CDN' distribution.
- ```
+1. **Add New Source Files:** When a new feature is ready, the developer adds the source text files to the localization project using Cursor.
+ ```text wrap
+ Add the file 'new_onboarding_feature.json' to the 'Mobile App Q4' project.
+ ```
+2. **Monitor Translation Progress:** As the deadline approaches, they check the translators' progress to ensure the project is on track.
+ ```text wrap
+ What is the translation progress for the 'Mobile App Q4' project?
+ ```
+3. **Publish Final Translations:** Once translations are complete and approved, the developer publishes them to their production environment using a pre-configured distribution.
+ ```text wrap
+ Create a new release for our 'Production CDN' distribution.
+ ```
### Translator
-1. **Find Work:** A translator's first step is to find strings that are ready for them to work on.
- ```
- Show me all high-priority untranslated strings for French in the 'iOS App' project.
- ```
-2. **Ensure Consistency:** To maintain quality, they check the glossary for correct terminology.
- ```
- What is the approved translation for the term 'workspace' in the French glossary?
- ```
-3. **Request Context:** If a string is ambiguous, they request visual context for an accurate translation.
- ```
- For string ID 'xyz-789', show me its screenshot.
- ```
+1. **Find Work:** A translator's first step is to find strings that are ready for them to work on.
+ ```text wrap
+ Show me all high-priority untranslated strings for French in the 'iOS App' project.
+ ```
+2. **Ensure Consistency:** To maintain quality, they check the glossary for correct terminology.
+ ```text wrap
+ What is the approved translation for the term 'workspace' in the French glossary?
+ ```
+3. **Request Context:** If a string is ambiguous, they request visual context for an accurate translation.
+ ```text wrap
+ For string ID 'xyz-789', show me its screenshot.
+ ```
+
+### Admin (Crowdin Enterprise only)
+
+1. **Audit Permissions:**
+ ```text wrap
+ Show me the organization members of the 'German Translation' team.
+ ```
+2. **Identify Need for Change:** The AI lists the members. The admin notices a user that has left the company.
+3. **Take Action:**
+ ```text wrap
+ Delete 'John Doe' from the organization.
+ ```
## Best Practices
diff --git a/src/content/docs/developer/api/overview.mdx b/src/content/docs/developer/api/overview.mdx
index 9a41768e..a6ec31b8 100644
--- a/src/content/docs/developer/api/overview.mdx
+++ b/src/content/docs/developer/api/overview.mdx
@@ -82,6 +82,23 @@ The Crowdin API clients are lightweight, open-source interfaces developed for th
/>
+## AI Agents and API
+
+AI agents can integrate with Crowdin via the REST API or MCP (Model Context Protocol). AI-focused integration surfaces include LLM-friendly API specs (`llms.txt`) and MCP tool access to Crowdin capabilities.
+
+
+
+
+
+
## See Also
- Read more about [Creating a Personal Access Token](/enterprise/account-settings/#creating-a-personal-access-token).
-
-
-### Endpoint Structure
-
-Construct the URL based on your role in the organization or project and the tool set you wish to use.
-
-```
-https://{your-organization-domain}.mcp.crowdin.com/mcp/{tool-set}
-```
-
-Replace `{tool-set}` with a role from the table below. Replace `{your-organization-domain}` with your organization's unique name.
-
-### Available Tool Sets
-
-* **`project-manager`** - Project oversight and team coordination.
-* **`developer`** - Source files, builds, and integrations.
-* **`translator`** - Translation and linguistic tools.
-* **`asset-manager`** - Glossaries and translation memory.
-* **`admin`** - User management and organization configuration.
-
-
- For best performance, it is highly recommended to specify a tool set. If omitted, all tools will be available, but the AI's performance may be less focused.
-
-
-### Basic Configuration Example
-
-Here is a basic JSON configuration snippet for your client.
-
-```json
-{
- "crowdin": {
- "url": "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
- "headers": {
- "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
- }
- }
-}
-```
-
-## Configuring Your AI Client
-
-This section guides you through connecting your preferred AI client to the Crowdin MCP Server. While the specific steps may vary slightly between clients, the core process involves providing your client with the server's URL and your Personal Access Token for authentication.
-
-### Compatible MCP Clients
-
-The Crowdin MCP Server is built on the Model Context Protocol, an open standard designed for AI interaction. This means that any AI client or development environment that allows for the configuration of custom tools or external contexts should be compatible.
-
-We have successfully tested the MCP Server with a variety of popular clients, including our own Crowdin Agentic AI, desktop applications like Claude Desktop, AI-native IDEs such as Cursor, and platforms like OpenAI (ChatGPT).
-
-This list is not exhaustive, and we encourage you to try connecting the MCP Server with your own preferred AI tools.
-
-### General Configuration Steps
-
-1. **Get Your Personal Access Token (PAT):** Before you begin, ensure you have a PAT with the necessary scopes for your intended tasks, as detailed in the [Authentication](#authentication-tokens-and-scopes) section.
-2. **Locate Your Client's Settings:** Open your AI client and find the settings area for connecting to external tools or contexts.
-3. **Enter the Configuration Details:** You will need to provide two key pieces of information:
- * The **Endpoint URL** for your desired tool set.
- * An **Authorization Header** containing your PAT.
-
-### Configuring MCP Client for Crowdin Agentic AI
-
-To set up the MCP client in Crowdin Agentic AI, follow these steps:
-
-
- 1. Open your project and select a language.
- 2. Open the necessary file in the Editor.
- 3. Click on the Crowdin Agentic AI section in the right panel.
- 4. Click in the upper-right corner to open the Crowdin Agentic AI settings.
- 5. Switch to the **MCP** section and click **Add custom MCP**.
- 6. Enter the following configuration:
-
- ```json
- {
- "crowdin": {
- "url": "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
- "headers": {
- "Authorization": "Bearer {YOUR_CROWDIN_API_TOKEN}"
- }
- }
- }
- ```
-
- 7. Click **Save**.
-
-
-### Configuring MCP Client for Claude Desktop
-
-To set up the MCP client in Claude Desktop, follow these steps:
-
-
- 1. Navigate to **Settings > Developer** in the Claude desktop application.
- 2. Click **Edit Config** to locate the `claude_desktop_config.json` file.
- 3. Open `claude_desktop_config.json` and enter the following configuration:
-
- ```json
- {
- "mcpServers": {
- "crowdin": {
- "command": "npx",
- "args": [
- "mcp-remote@latest",
- "https://{your-organization-domain}.mcp.crowdin.com/mcp/project-manager",
- "--header",
- "Authorization:${AUTH_TOKEN}"
- ],
- "env": {
- "AUTH_TOKEN": "Bearer {YOUR_CROWDIN_API_TOKEN}"
- }
- }
- }
- }
- ```
-
- 4. Save the changes, and restart the Claude Desktop app.
-
-
-## Making Your First Request
-
-Once your client is configured, you can test the connection by making a simple request.
-
-Start a new chat with your AI assistant and give it a command directly. To test the connection, type the following: `List my projects.`
-
-Before executing the request, the AI client will likely first identify the required tool from the Crowdin MCP Server and then ask for your permission to proceed. You will need to approve this confirmation step for the command to run. Many clients also offer ways to configure this behavior for trusted sources to streamline future requests.
-
-After you grant permission, the AI will execute the command and respond by listing the projects it can see in your Crowdin Enterprise account. This confirms that your connection is working and you're ready to start managing your localization projects through natural-language commands.
-
-## Practical Workflows for Your Role
-
-The real power of the MCP server comes from chaining commands to complete tasks. Here are some examples of how different roles can use the server to streamline their work.
-
-### Project Manager
-
-1. **Check Progress:**
- ```
- What's the proofreading progress for the 'Q4 Mobile Release' project in German?
- ```
-2. **Identify Bottleneck:** The AI responds that German proofreading is only 30% complete.
-3. **Take Action:**
- ```
- Create a task to proofread all unapproved strings in German for that project and assign it to the 'German Translation' team.
- ```
-
-### Developer / Translation Requestor
-
-1. **Add New Source Files:** When a new feature is ready, the developer adds the source text files to the localization project using Cursor.
- ```
- Add the file 'new_onboarding_feature.json' to the 'Mobile App Q4' project.
- ```
-2. **Monitor Translation Progress:** As the deadline approaches, they check the translators' progress to ensure the project is on track.
- ```
- What is the translation progress for the 'Mobile App Q4' project?
- ```
-3. **Publish Final Translations:** Once translations are complete and approved, the developer publishes them to their production environment using a pre-configured distribution.
- ```
- Create a new release for our 'Production CDN' distribution.
- ```
-
-### Translator
-
-1. **Find Work:** A translator's first step is to find strings that are ready for them to work on.
- ```
- Show me all high-priority untranslated strings for French in the 'iOS App' project.
- ```
-2. **Ensure Consistency:** To maintain quality, they check the glossary for correct terminology.
- ```
- What is the approved translation for the term 'workspace' in the French glossary?
- ```
-3. **Request Context:** If a string is ambiguous, they request visual context for an accurate translation.
- ```
- For string ID 'xyz-789', show me its screenshot.
- ```
-
-### Admin
-
-1. **Audit Permissions:**
- ```
- Show me the organization members of the 'German Translation' team.
- ```
-2. **Identify Need for Change:** The AI lists the members. The admin notices a user that has left the company.
-3. **Take Action:**
- ```
- Delete 'John Doe' from the organization.
- ```
-
-## Best Practices
-
-* **Start with a Specific Role:** To reduce AI reasoning overhead and improve accuracy, always configure the MCP Server with the single tool set that matches your role.
-* **Be Specific in Your Prompts:** Reference project names and IDs rather than generic terms. For example, `List tasks for project ID 12345 in French` is better than `Show me my tasks.`
-* **Start with Read-Only Commands:** When you first set up the connection, test it with safe, read-only commands like `List my projects`. Once you confirm it works, you can proceed to "write" commands like `Create a task.`
-* **Manage Tokens Securely:** Treat your Personal Access Tokens like passwords and handle them with care.
- * **Use Minimal Scopes:** When creating a token, grant only the permissions necessary for the tasks you intend to perform.
- * **Store Securely:** Keep tokens in encrypted vaults or secure environment variables, not in shared configuration files.
- * **Rotate Regularly:** For enhanced security, periodically revoke old tokens and create new ones.
diff --git a/src/content/sidebars/developer.ts b/src/content/sidebars/developer.ts
index e57b298d..1d6e54a6 100644
--- a/src/content/sidebars/developer.ts
+++ b/src/content/sidebars/developer.ts
@@ -75,6 +75,7 @@ export default [
},
{ slug: path('graphql-api') },
{ slug: path('croql') },
+ { slug: path('crowdin-mcp-server') },
{ slug: path('language-codes') },
],
collapsed: true,
diff --git a/vercel.json b/vercel.json
index 131c22f3..e3ed5acb 100644
--- a/vercel.json
+++ b/vercel.json
@@ -277,6 +277,9 @@
{ "source": "/developer/crowdin-apps-module-profile-resources-menu/", "destination": "/developer/crowdin-apps-module-profile-menu/", "permanent": true },
{ "source": "/content-delivery/", "destination": "/cdn-distributions/", "permanent": true },
- { "source": "/enterprise/content-delivery/", "destination": "/enterprise/cdn-distributions/", "permanent": true }
+ { "source": "/enterprise/content-delivery/", "destination": "/enterprise/cdn-distributions/", "permanent": true },
+
+ { "source": "/crowdin/translation-process/crowdin-mcp-server/", "destination": "/developer/crowdin-mcp-server/", "permanent": true },
+ { "source": "/enterprise/translation-process/crowdin-mcp-server/", "destination": "/developer/crowdin-mcp-server/", "permanent": true }
]
}