Sarvam AI MCP Server is a lightweight, extensible MCP (Model Context Protocol) server that empowers LLM-based clients (Claude Desktop, Gemini CLI, Warp, etc.) with powerful Indic language processing capabilities including translation, transliteration, language identification, and access to the SarvamAI-M model.
- 🔍 Language Identification — Automatically detects language and script of input text
- 🔤 Transliteration — Convert text between different Indic scripts while preserving pronunciation
- 🌐 Translation — Translate text across multiple Indic languages
- 💬 Sarvam Chat — Interactive chat with SarvamAI-M model (with optional wiki grounding)
- Docker (recommended)
- MCP-compatible client (Claude Desktop, Gemini CLI, Warp, etc.)
- ngrok (Remote-MCP)
git clone https://github.com/JDhruv14/Sarvam-MCP.git
cd Sarvam-MCPCreate or update the .env file with your API key:
SARVAM_API_KEY=your_api_key_hereBuild the Docker image:
docker build -t sarvam .Run the container:
docker run -p 8080:8080 sarvam# Install dependencies
pip install -r requirements.txt
# Set environment variables
export SARVAM_API_KEY=your_api_key_here
# Start the server
python app.pyConfigure your MCP client by editing the config.json file and adding the following to the mcpServers section:
{
"mcpServers": {
"Sarvam_MCP": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8080/mcp/",
"--header",
"api-subscription-key: your_api_key_here",
"--header",
"Content-Type:application/json"
]
}
}
}Option 1: Cloud Deployment
{
"mcpServers": {
"Sarvam_MCP": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-cloud-url.com/mcp/",
"--header",
"api-subscription-key: your_api_key_here",
"--header",
"Content-Type:application/json"
]
}
}
}Option 2: Temporary Access with ngrok
- Install and setup ngrok:
# Visit https://ngrok.com for installation instructions
ngrok http 8080- Use the ngrok URL in your configuration:
{
"mcpServers": {
"Sarvam_MCP": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-ngrok-id.ngrok-free.app/mcp/",
"--header",
"api-subscription-key: your_api_key_here",
"--header",
"Content-Type:application/json"
]
}
}
}| Platform | Configuration Path |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\config.json |
| Gemini CLI | Check Gemini CLI documentation |
| Warp | Check Warp's MCP integration documentation |
-
Clone and Build:
git clone https://github.com/JDhruv14/Sarvam-MCP.git cd Sarvam-MCP docker build -t sarvam .
-
Run the Server:
docker run -p 8080:8080 sarvam
-
Configure Your MCP Client: Add the configuration to your client's
config.json -
Test the Connection: Try a simple language identification query
- 🔄 Keep Server Running: The Docker container must remain active while using the MCP
- 🌐 Network Access: Ensure port 8080 is accessible from your client application
- 🔐 API Authentication: Valid subscription key is required for all requests
- 🔄 Client Restart: Restart your MCP client after updating configuration
- 📱 ngrok URLs: Remember that ngrok URLs change each time you restart ngrok
I welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
- Commit your changes:
- Push to the branch:
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ If you find this project helpful, please give it a star on GitHub!