关于 sarvam-mcp
sarvam-mcp 技能为使用 Sarvam MCP 的助手提供调用流程,面向实时语音、翻译、文本生成和文档处理任务,也涵盖 API 编码指导。它按任务区分运行时工具与代码查询工具,并优先使用组合工具处理多步骤任务。
主要功能
- 01区分实时操作与代码查询工具
- 02提供语音、翻译及本地化组合流程
- 03支持转写、语音合成和文本分析
- 04提供模型推荐、API 参考与代码片段
- 05说明认证、语言代码及参数注意事项
适用场景
- 01将音频转写或翻译成文本
- 02生成语音或为音视频配音
- 03本地化 JSON、YAML 或 PO 文件
- 04查询 Sarvam 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 驱动。实时任务优先使用 MCP 工具,不要自行编写 HTTP/SDK 调用。
流程
复制并跟踪:
- [ ] 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 |
| 关于音频的问答 / 摘要 | sarvam_tools_recall |
原子运行时工具(无适用组合工具时使用):
| 任务 | 工具 |
|---|---|
| 转录 | sarvam_tools_stt_transcribe |
| 语音 → 英语 | sarvam_tools_stt_translate |
| 音频 >~30s / 说话人分离 | 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 / persona ID(aparna_hi_customer)。实时 tts_speak / tts_stream / voice / dub(sarvam-mcp ≥ 0.2.11):model / tts_model = bulbul:v4-flash + persona ID;使用 shubh_enhi_ads 默认值时省略说话人。在较旧的服务上,架构枚举仅包含 bulbul:v3 + 短名称(priya)——请检查已连接的架构,除非其中列出了 bulbul:v4-flash,否则不要发送 v4 persona ID。 |
| LLM | sarvam-30b(复杂推理使用 sarvam-105b) |
| 翻译模型 | mayura:v1(需要更广泛的印度语言覆盖时,切换到 sarvam-translate:v1) |
| 音频路径 | 本地绝对路径 |
| 语言代码 | BCP-47(hi-IN、ta-IN,使用 od-IN,而非 or-IN) |
4. 身份验证
密钥来源(环境变量优先):SARVAM_API_KEY,或 ~/.sarvam/credentials(api_key = sk_...)。
控制面板:https://dashboard.sarvam.ai/key-management
身份验证失败时:
- 使用空
api_key调用sarvam_tools_set_api_key→ 获取说明和链接 - 再次调用并传入
sk_...→ 保存到~/.sarvam/credentials
线路身份验证使用 api-subscription-key——绝不要自行编造 Authorization: Bearer。
示例
实时翻译
用户:“将 ‘Good morning’ 翻译成 Hindi。”
→ 使用 sarvam_tools_translate,参数为 input、source_language_code=en-IN、target_language_code=hi-IN。返回 translated_text。
实时 TTS
用户:“用 Hindi 说 नमस्ते。”
→ 使用 sarvam_tools_tts_speak,提供原生文字,并设置 target_language_code=hi-IN。如果工具架构中列出了 persona ID(sarvam-mcp ≥ 0.2.11),优先使用 model=bulbul:v4-flash 和 persona ID(aparna_hi_customer);在较旧的服务上,使用 bulbul:v3 的 speaker=priya。返回音频路径。
配音
用户:“把这个片段配成 Tamil” + 路径。
→ 使用 sarvam_tools_dub,参数为 audio_path、target_language_code=ta-IN——不要分别使用 STT + 翻译 + TTS。
代码帮助
用户:“给我一个 Python TTS 示例。”
→ 使用 sarvam_code_snippet,参数为 api=tts、language=python(除非用户现在就要音频,否则不要使用 sarvam_tools_tts_speak)。
注意事项
| Agent 常犯的错误 | 正确做法 |
|---|---|
用户要实时处理时,虚构 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 speaker | 使用 priya/shubh 或 sarvam_code_speakers |
在 bulbul:v4-flash 上使用 v3 短名称(或在 v3 上使用 v4 persona) | speaker/model 不匹配会被拒绝。v4-flash 仅接受 persona 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 使用罗马化 Indic 文字 | 优先使用原生文字 |
在 sarvam-translate:v1 上使用 output_script | 仅适用于 mayura:v1 |
| 使用相对音频路径 | 优先使用绝对路径;或使用 audio_base64/audio_url + filename |
| 假定输出工作目录 | 除非工具返回了其他路径,否则文件会保存在 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 | 选择参数、环境变量或不常用工具时 |