An open API service indexing awesome lists of open source software.

https://github.com/devnagriai/devnagriai-translate-mcp

MCP server for translation services with focus on Indic languages, Powered by Devnagri AI
https://github.com/devnagriai/devnagriai-translate-mcp

ai devnagri devnagri-ai indic-languages mcp mcp-client mcp-server translation translation-platform translation-service

Last synced: 3 months ago
JSON representation

MCP server for translation services with focus on Indic languages, Powered by Devnagri AI

Awesome Lists containing this project

README

          

# @devnagriai/devnagriai-translate-mcp

A JavaScript-based Model Context Protocol (MCP) server providing translation, language detection, and supported language listing via Devnagri AI APIs, with a focus on Indic languages.

## Features

- **Text Translation** between 35+ languages (including all major Indic languages)
- **Language Detection** for any input text
- **Supported Languages Listing**
- **MCP Protocol**: Ready for AI tool integration
- **Robust Error Handling and Validation**
- **Extensive Test Suite**

## Table of Contents

- [Features](#features)
- [Quick Start](#quick-start)
- [API Key Procurement](#api-key-procurement)
- [Installation](#installation)
- [NPX (Recommended)](#npx-recommended)
- [Manual Installation](#manual-installation)
- [Usage](#usage)
- [Direct Integration](#direct-integration)
- [Running the Server](#running-the-server)
- [MCP Tools](#mcp-tools)
- [Tool: translate](#tool-translate)
- [Tool: detect_language](#tool-detect_language)
- [Tool: list_supported_languages](#tool-list_supported_languages)
- [Configuration](#configuration)
- [Testing](#testing)
- [Contributing](#contributing)
- [Support](#support)
- [Security](#security)
- [License](#license)

## Quick Start

```bash
npx @devnagriai/devnagriai-translate-mcp API_KEY="your_devnagri_api_key"
```

## API Key Procurement

To use the Devnagri Translation API, you need an API key. Follow these steps:

1. **Sign Up**
- Go to [Devnagri Dashboard](https://app.devnagri.com/) and sign up for a free account.

2. **Access API Hub**
- After logging in, navigate to the **API Hub** section from the sidebar menu.

3. **Select the Translation API**
- Click on **Get API Key**.
- Click **Create**.
- Enter a name for the API key.
- Click **Save**.

4. **Copy API Key**
- Copy the generated API key. Keep it secure and do not share it publicly.

## Installation

### NPX (Recommended)

The simplest way to use this MCP server is through npx, which allows you to run it without installing:

```bash
npx @devnagriai/devnagriai-translate-mcp API_KEY="your_devnagri_api_key"
```

This is ideal for integration with AI tools like Claude, GPT, Windsurf, and Cursor.

### Manual Installation

If you prefer to install the server locally:

1. Clone the repository:

```bash
git clone https://github.com/DevnagriAI/devnagriai-translate-mcp.git
cd devnagriai-translate-mcp
```

2. Install dependencies:

```bash
npm install
```

3. Set up environment variables:

Create a `.env` file in the root directory with the following content:

```
DEVNAGRI_API_KEY=your_devnagri_api_key
```

## Usage

### Direct Integration

For local/private use or development, add the server to your MCP config:

```json
{
"mcpServers": {
"devnagri-translation": {
"command": "npx",
"args": [
"@devnagriai/devnagriai-translate-mcp",
"API_KEY=\"your_devnagri_api_key\""
]
}
}
}
```

### Running the Server

Start the server:

```bash
npm start
```

For development with auto-reload:

```bash
npm run dev
```

This MCP server can be used with any MCP client. For example, using the MCP CLI client:

```bash
mcp-client --transport stdio -- node src/index.js
```

### Integration with AI Tools

#### Windsurf

In `~/.codeium/windsurf/mcp_config.json`:

```json
{
"devnagri-translation": {
"command": "npx",
"args": [
"@devnagriai/devnagriai-translate-mcp",
"API_KEY=\"your_devnagri_api_key\""
]
}
}
```

#### Cursor

In Cursor's settings:

```json
{
"tools": {
"devnagri-translation": {
"command": "npx",
"args": [
"@devnagriai/devnagriai-translate-mcp",
"API_KEY=\"your_devnagri_api_key\""
],
"transport": "stdio"
}
}
}
```

#### Claude

In Claude Desktop App:

1. Go to Settings > Extensions
2. Click "Add Custom Extension"
3. Select "Add from local server"
4. Enter the following details:
- Name: Devnagri Translation Service
- Command: `npx @devnagriai/devnagriai-translate-mcp API_KEY="your_devnagri_api_key"`
- Transport: stdio

Or use this configuration:

```json
{
"devnagri-translation": {
"command": "npx",
"args": [
"@devnagriai/devnagriai-translate-mcp",
"API_KEY=\"your_devnagri_api_key\""
],
"transport": "stdio"
}
}
```

## MCP Tools

The following tools are exposed via this MCP server:

| Tool Name | Description |
|--------------------------|---------------------------------------------|
| `translate` | Translate text between supported languages |
| `detect_language` | Detect the language of given text |
| `list_supported_languages` | List all available languages |

Refer to `examples/mcp_config_example.json` for sample tool configuration.

### Tool: translate

Translates text from source language to target language.

**Parameters**:
- `source_text` (string, required): The text to be translated
- `source_language` (string, required): The source language code (e.g., "en")
- `target_language` (string, required): The target language code (e.g., "hi")
- `translation_type` (string, optional): Type of translation requested ("literal" or "base", defaults to "literal")

**Returns**:
```json
{
"translated_text": "नमस्ते, आप कैसे हैं?",
"source_language": "en",
"target_language": "hi",
"translation_type": "literal"
}
```

### Tool: detect_language

Detects the language of the provided text.

**Parameters**:
- `text` (string, required): The text for language detection

**Returns**:
```json
{
"detected_language": "en",
"confidence_score": 0.98,
"supported": true
}
```

### Tool: list_supported_languages

Returns a list of all supported languages for translation.

**Parameters**:
- None

**Returns**:
```json
[
{
"name": "English",
"native_name": "English",
"code": "en"
},
{
"name": "Hindi",
"native_name": "हिन्दी",
"code": "hi"
},
// ... more languages
]
```

## Configuration

- **API Key**: Required. Pass as an environment variable or command-line argument: `API_KEY="your_devnagri_api_key"`
- **Port**: Defaults to 8080 (can be configured via MCP protocol parameters)
- **.env Support**: You may place your API key in a `.env` file for local development.

## Testing

Run the test suite with:

```bash
npm test
```

Test coverage includes unit and integration tests for all MCP tools and API client logic.

## Contributing

1. Fork the repository
2. Create a feature branch
3. Submit a pull request describing your changes

## Support

- For API issues, contact [Devnagri Support](https://devnagri.com/contact-us/)
- For MCP server issues, open a GitHub issue in this repository

## Security

- **Never share your API key publicly**
- Rotate API keys periodically via the Devnagri dashboard

## License

MIT