sarvam-mcp について
sarvam-mcpは、Sarvam MCPを使うアシスタント向けに、音声、翻訳、テキスト、文書処理やAPIのコーディング支援の手順を示すスキルです。実行時の操作とコード参照を分け、複数工程には複合ツールを優先します。
主な機能
- 01実行時操作とコード参照の使い分け
- 02音声やローカライズの複合ワークフロー
- 03文字起こし、音声生成、テキスト分析
- 04モデル案内、APIリファレンス、コード例
- 05認証、言語コード、パラメーターの注意点
活用シーン
- 01音声の文字起こしやテキスト翻訳
- 02音声生成や音声・動画の吹き替え
- 03JSON、YAML、POファイルのローカライズ
- 04Sarvam APIを調べてコードを作成
MCP 対応
Sarvam MCPを通じて、ライブ操作にはsarvam_tools_*、開発時の照会にはsarvam_code_*のツールを使う手順を示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sarvamai/ skills --skill sarvam-mcpインストール後、Claude Code で/sarvam-mcpを入力して読み込まれたか確認します。
同梱ファイルreferences/install.mdreferences/tools.md
詳細
Sarvam MCP
sarvam-mcp を使用します。実際の作業では、HTTP/SDK 呼び出しを独自に考案するより、MCP ツールを優先してください。
手順
以下をコピーして記録します。
- [ ] 1. MCP available? If no → read references/install.md (or fall back to SDK skills)
- [ ] 2. Namespace: live action → sarvam_tools_*; write/lookup code → sarvam_code_*
- [ ] 3. Prefer a composite if the task spans STT/translate/TTS/LLM
- [ ] 4. Call the tool (absolute paths; BCP-47 codes)
- [ ] 5. On auth error → sarvam_tools_set_api_key; on param error → fix and retry
- [ ] 6. Return the result path/text; mention observability only if debugging
1. 名前空間(必須)
| ユーザーの要望… | 名前空間 | 例 |
|---|---|---|
| Sarvam に今すぐ実行してほしい | sarvam_tools_* | 「これをタミル語に翻訳して」 |
| コードの作成方法/API の仕様を知りたい | sarvam_code_* | 「Python から TTS を呼び出す方法は?」 |
実際の翻訳/TTS/STT のリクエストに sarvam_code_* を使用しないでください。ユーザーがライブデモを依頼していない限り、コードの下書きだけを作成するために sarvam_tools_* のクレジットを消費しないでください。
2. ツールを選ぶ(デフォルト)
まずは複合ツール — STT → 翻訳 → TTS を個別に連鎖させないでください。
| タスク | ツール |
|---|---|
| 音声への音声による応答 | sarvam_tools_voice |
| 別のインド系言語に吹き替え | sarvam_tools_dub |
| JSON/YAML/PO などをローカライズ | sarvam_tools_localize |
| 音声についての Q&A/要約 | sarvam_tools_recall |
基本ランタイムツール(複合ツールが適さない場合に使用):
| タスク | ツール |
|---|---|
| 文字起こし | sarvam_tools_stt_transcribe |
| 音声 → 英語 | sarvam_tools_stt_translate |
| 音声が約 30 秒を超える場合/話者分離 | sarvam_tools_stt_batch_submit → _stt_batch_status |
| テキストを音声にする | sarvam_tools_tts_speak |
| テキストを翻訳 | sarvam_tools_translate |
| 音訳/LID/分析 | sarvam_tools_transliterate / _identify_language / _text_analytics |
| チャット完了 | sarvam_tools_llm_complete |
| ドキュメントインテリジェンス | sarvam_tools_vision_extract → _vision_job_status |
| 発音辞書 | sarvam_tools_pronunciation_* |
| API キーの設定/ローテーション | sarvam_tools_set_api_key |
ビルド時(コーディングの支援):
| タスク | ツール |
|---|---|
| モデル/言語が不明 | sarvam_code_recommend_model |
| エンドポイントの形式 | sarvam_code_api_reference |
| コードスニペット | sarvam_code_snippet |
| 話者/言語 | sarvam_code_speakers / _languages |
| リクエスト本文の下書きを検証 | sarvam_code_validate_request |
| ドキュメント検索/料金 | sarvam_code_search_docs / _pricing |
コーディングの手順:recommend_model → snippet または api_reference → validate_request。
パラメーターと環境設定については、references/tools.md を参照してください。
3. デフォルト(ユーザーが変更を指定しない限り使用)
| 設定 | デフォルト |
|---|---|
| STT モデル | saaras:v3 |
| TTS モデル/話者 | SDK コード:bulbul:v4-flash / ペルソナ ID(aparna_hi_customer)。ライブの tts_speak / tts_stream / voice / dub(sarvam-mcp ≥ 0.2.11):model / tts_model = bulbul:v4-flash + ペルソナ ID。shubh_enhi_ads をデフォルトで使用する場合は話者を省略します。古いサーバーでは、スキーマの列挙値が bulbul:v3 + 短い名前(priya)のみです。接続先のスキーマを確認し、bulbul:v4-flash が列挙されていない限り、v4 のペルソナ ID を送信しないでください。 |
| LLM | sarvam-30b(難しい推論には sarvam-105b を使用) |
| 翻訳モデル | mayura:v1(インド系言語をより広くカバーするには sarvam-translate:v1 に切り替え) |
| 音声パス | 絶対ローカルパス |
| 言語コード | BCP-47(hi-IN、ta-IN、or-IN ではなく od-IN) |
4. 認証
キーの取得元(環境変数が優先):SARVAM_API_KEY、または ~/.sarvam/credentials(api_key = sk_...)。
ダッシュボード:https://dashboard.sarvam.ai/key-management
認証に失敗した場合:
sarvam_tools_set_api_keyを空のapi_keyで呼び出す → 手順とリンクを取得sk_...を指定して再度呼び出す →~/.sarvam/credentialsに保存
ワイヤー認証には api-subscription-key を使用します。Authorization: Bearer を独自に作成しないでください。
例
ライブ翻訳
User: 「'Good morning' をヒンディー語に翻訳してください。」
→ sarvam_tools_translate を input、source_language_code=en-IN、target_language_code=hi-IN とともに使用します。translated_text を返します。
ライブ TTS
User: 「नमस्ते をヒンディー語で話してください。」
→ ネイティブスクリプトのテキストと target_language_code=hi-IN を指定して sarvam_tools_tts_speak を使用します。ツールのスキーマに記載されている場合(sarvam-mcp ≥ 0.2.11)は、persona ID(aparna_hi_customer)を指定して model=bulbul:v4-flash を優先してください。古いサーバーでは、bulbul:v3 で speaker=priya を使用します。音声のパスを返します。
吹き替え
User: 「このクリップをタミル語に吹き替えてください」+パス。
→ audio_path と target_language_code=ta-IN を指定して sarvam_tools_dub を使用します。STT、翻訳、TTSを個別に実行しないでください。
コードのヘルプ
User: 「PythonのTTSの例を見せてください。」
→ api=tts、language=python を指定して sarvam_code_snippet を使用します(すぐに音声を生成したい場合を除き、sarvam_tools_tts_speak は使用しないでください)。
注意点
| エージェントがよくする間違い | 正しい動作 |
|---|---|
ライブでの依頼に対して curl/SDK をでっち上げる | MCP が接続されている場合は sarvam_tools_* を呼び出す |
| STT→翻訳→TTSを手動で連鎖させる | voice/dub/localize/recall を使用する |
| 長いファイルに REST STT を使用する | 約30秒を超える場合は上記の stt_batch_* を使用する |
| TTS の対象言語が約11言語以外の場合 | sarvam_code_languages(api=tts)で確認する。STTは約23言語に対応 |
| Bulbul v3 で v2 のスピーカーを使用する | priya/shubh または sarvam_code_speakers を使用する |
bulbul:v4-flash で v3 の短縮名を使用する(または v3 で v4 のペルソナを使用する) | スピーカーとモデルの不一致として拒否されます。v4-flash ではペルソナ ID(aparna_hi_customer)のみを使用し、v3 では shubh/priya を使用します。model= を指定して sarvam_code_speakers を確認してください。 |
pitch/loudness | pitch は −0.5~0.5、loudness は 0.1~2.5、pace は 0.5~2.0です。範囲外の値は拒否されます。v3 と v4-flash の両方で使用できます(2026-10-06にライブ検証済み)。 |
| TTS にローマ字表記のインド系言語を使用する | ネイティブスクリプトを優先する |
sarvam-translate:v1 で output_script を使用する | mayura:v1 のみで使用する |
| 相対音声パスを使用する | 絶対パスを優先するか、audio_base64/audio_url と filename を使用する |
| 出力先の cwd を決めつける | ツールから別のパスが返されない限り、ファイルは SARVAM_MCP_BASE_PATH(デフォルトは ~/Desktop)の下に保存される |
_tools/_code のない古いツール名を使う | 接続中のサーバーのツール一覧に合わせる |
MCP がない場合
- references/install.md を読み、サーバーへの接続をユーザーに案内します。
- コードだけが必要な場合は、関連するスキル
translate/text、translate/document、speech-to-text、text-to-speech、chat、または https://docs.sarvam.ai/llms.txt を使用します。
参考資料(必要に応じて読み込み)
| ファイル | 読むタイミング |
|---|---|
| references/install.md | MCP が接続されていない場合、セットアップやトラブルシューティングを行う場合、またはユーザーがクライアントを指定した場合 |
| references/tools.md | パラメーター、環境変数、またはあまり使われないツールを選ぶ場合 |