Skip to main content
Glama

BVoiz MCP Server 🎙️

Node.js Version TypeScript Model Context Protocol License: MIT

Model Context Protocol (MCP) server chính thức cho nền tảng âm thanh AI BVoiz (https://bvoiz.com).
Giúp các AI Agent như Claude (Desktop & Code), OpenAI Codex / ChatGPT, Google Antigravity, Cursor, Windsurf, VS Code Copilot dễ dàng tích hợp khả năng sinh giọng đọc tiếng Việt truyền cảm số một (Text-to-Speech), nhân bản giọng nói (Voice Cloning) và tự động hóa xử lý âm thanh vào các quy trình phát triển phần mềm.


📑 Mục lục

  1. Giới thiệu

  2. Kiến trúc hệ thống

  3. Tính năng nổi bật

  4. Yêu cầu hệ thống & Cài đặt

  5. Hướng dẫn cấu hình cho từng AI Agent

  6. Danh mục 14 MCP Tools chi tiết

  7. MCP Resources & Prompts

  8. Bảng mã giọng đọc BVoiz phổ biến (Cheat Sheet)

  9. Kịch bản thực tế AI Agent có thể thực hiện

  10. Xử lý sự cố thường gặp (FAQ & Troubleshooting)

  11. Hỗ trợ & Bản quyền


Related MCP server: @vocea.app/mcp-server

📖 Giới thiệu

BVoiz (https://bvoiz.com) là nền tảng AI Voice hàng đầu tại Việt Nam, sở hữu công nghệ tổng hợp giọng nói tiếng Việt tự nhiên, có hồn, giàu cảm xúc với hơn 36+ diễn viên lồng tiếng AI đa vùng miền (Bắc, Trung, Nam) cùng khả năng nhân bản giọng nói chỉ với 5–15 giây mẫu thu.

BVoiz MCP Server đóng vai trò cầu nối chuẩn hóa quốc tế (theo chuẩn giao thức mã nguồn mở Model Context Protocol do Anthropic khởi xướng), cho phép các mô hình ngôn ngữ lớn (LLM) và trợ lý lập trình thông minh có thể trực tiếp gọi API BVoiz như một tập hợp các công cụ (tools), tài nguyên (resources) và kịch bản gợi ý (prompts) có sẵn.


🏗️ Kiến trúc hệ thống

flowchart LR
    subgraph AI_Clients ["Các AI Agent & IDEs"]
        Claude["Claude Desktop / Claude Code"]
        Cursor["Cursor AI"]
        Antigravity["Google Antigravity"]
        Windsurf["Windsurf / Codeium"]
        Codex["OpenAI Codex / ChatGPT"]
    end

    subgraph MCP_Server ["BVoiz MCP Server (Node.js/TypeScript)"]
        Transport["Stdio Transport (JSON-RPC 2.0)"]
        Tools["14 Tools: TTS, Voice Cloning, Jobs, Voices"]
        Resources["Resources: bvoiz://voices, account, pricing"]
        Prompts["Prompts: bvoiz_script_polisher, recommend"]
        Client["BVoizApiClient (Polling queue, multipart, cache)"]
    end

    subgraph BVoiz_Cloud ["BVoiz Cloud Platform (https://bvoiz.com)"]
        TTS_API["/api/tts & /api/tts/demo"]
        Clone_API["/api/clone"]
        Voices_API["/api/tts/voices"]
        Storage["Cloudflare R2 Storage CDN"]
    end

    AI_Clients <-->|MCP Protocol / stdio| Transport
    Transport --> Tools & Resources & Prompts
    Tools & Resources & Prompts --> Client
    Client <-->|REST API + Bearer Token| TTS_API & Clone_API & Voices_API
    TTS_API & Clone_API --> Storage

🌟 Tính năng nổi bật

  • 🗣️ Chuyển văn bản thành giọng nói (TTS) chất lượng cao:

    • Hỗ trợ đầy đủ các tham số chuyên nghiệp: tốc độ (speed), cao độ (pitch), âm lượng (volume), định dạng âm thanh (mp3 / wav).

    • Hơn 36+ giọng đọc AI tiếng Việt đa dạng vùng miền (Bắc, Trung, Nam) và đa ngôn ngữ.

  • 💾 Tự động lưu file âm thanh về máy cục bộ (save_to_file):

    • AI Agent có thể trực tiếp sinh audio và lưu ngay vào thư mục làm việc cục bộ (ví dụ: E:/videos/audio_voiceover.mp3) mà không cần lập trình viên phải viết thêm code trung gian để tải file.

  • ⚡ Thử nghiệm miễn phí không cần API Key (bvoiz_demo_synthesize):

    • Cho phép người dùng và AI Agent thử nghiệm bất kỳ giọng đọc nào với các đoạn văn bản ngắn (tối đa 300 ký tự) hoàn toàn MIỄN PHÍ, không tiêu hao credits.

  • 🧬 Nhân bản giọng nói tức thì (Instant Voice Cloning):

    • Tải lên file âm thanh giọng nói mẫu (5–15 giây) trực tiếp từ ổ cứng để huấn luyện và đăng ký một giọng đọc nhân bản độc quyền trong tài khoản.

  • ⏳ Tự động xử lý hàng đợi cho văn bản dài (Async Queue Polling):

    • Tự động nhận diện phản hồi HTTP 202 (xử lý nền), tự động thăm dò (polling) hàng đợi cho đến khi hoàn tất và trả về file âm thanh thành phẩm.

  • 🔍 Tìm kiếm giọng đọc thông minh bằng ngôn ngữ tự nhiên:

    • Tìm kiếm giọng theo ngữ cảnh ứng dụng: "kể chuyện đêm khuya", "review phim", "tin tức trang trọng", "quảng cáo TVC hào sảng", "tổng đài chăm sóc khách hàng".

  • 📊 Kiểm tra tài khoản & Lịch sử:

    • Tra cứu số dư credits thời gian thực, lịch sử các lần chuyển đổi âm thanh và bảng giá các gói cước.


💻 Yêu cầu hệ thống & Cài đặt

1. Yêu cầu môi trường

  • Node.js: Phiên bản >= 18.0.0 (Khuyến nghị Node.js v20 hoặc v22).

  • Hệ điều hành: Windows, macOS, hoặc Linux.

2. Cài đặt mã nguồn

# 1. Clone repository về máy tính của bạn
git clone https://github.com/TraudioDev/bvoiz-mcp.git

# 2. Di chuyển vào thư mục dự án
cd bvoiz-mcp

# 3. Cài đặt các gói phụ thuộc
npm install

# 4. Biên dịch mã nguồn TypeScript sang JavaScript
npm run build

Sau khi build, file thực thi chính sẽ nằm tại:

  • Windows: E:\Git\bvoiz-mcp\dist\index.js (hoặc đường dẫn thư mục bạn đã clone)

  • macOS/Linux: /path/to/bvoiz-mcp/dist/index.js

3. Lấy BVoiz API Key

  1. Đăng nhập vào trang chủ BVoiz: https://bvoiz.com

  2. Vào trang quản lý tài khoản: https://bvoiz.com/account

  3. Tại mục Tích hợp API, chọn Tạo API Key. Bạn sẽ nhận được một chuỗi khóa có định dạng: bv_live_xxxxxxxxxxxxxxxxxxxxxxxx

  4. Copy và lưu lại API Key của bạn để cấu hình cho Agent.

(Mẹo: Bạn vẫn có thể dùng các chức năng xem giọng và thử giọng miễn phí bvoiz_demo_synthesize ngay cả khi chưa có API Key).


⚙️ Hướng dẫn cấu hình cho từng AI Agent

1. Claude Desktop

Mở file cấu hình của Claude Desktop:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Thêm khối cấu hình bvoiz vào mục mcpServers:

{
  "mcpServers": {
    "bvoiz": {
      "command": "node",
      "args": ["E:\\Git\\bvoiz-mcp\\dist\\index.js"],
      "env": {
        "BVOIZ_API_KEY": "bv_live_your_actual_api_key_here"
      }
    }
  }
}

Ghi chú trên macOS/Linux: Thay đường dẫn thành dạng Unix: "/Users/username/bvoiz-mcp/dist/index.js".
Khởi động lại Claude Desktop, bạn sẽ thấy biểu tượng chiếc búa 🔨 xuất hiện ở góc dưới khung chat với đầy đủ 14 công cụ BVoiz!


2. Cursor AI Editor

Bạn có thể cấu hình thông qua file cấu hình hoặc giao diện đồ họa của Cursor:

Cách 1: Thêm vào file .cursor/mcp.json trong thư mục dự án của bạn

Tạo file .cursor/mcp.json tại thư mục gốc của project:

{
  "mcpServers": {
    "bvoiz": {
      "command": "node",
      "args": ["E:\\Git\\bvoiz-mcp\\dist\\index.js"],
      "env": {
        "BVOIZ_API_KEY": "bv_live_your_actual_api_key_here"
      }
    }
  }
}

Cách 2: Qua giao diện Cursor Settings

  1. Mở Cursor -> Bấm vào biểu tượng bánh răng Settings (góc trên bên phải).

  2. Chọn thẻ Features -> cuộn xuống mục MCP Servers.

  3. Bấm Add New MCP Server:

    • Name: bvoiz

    • Type: command

    • Command: node E:\Git\bvoiz-mcp\dist\index.js

  4. Trong ô Composer hoặc Chat của Cursor, gõ @bvoiz để kích hoạt công cụ.


3. Claude Code (CLI)

Chạy lệnh thêm MCP trực tiếp qua terminal:

claude mcp add bvoiz node E:\Git\bvoiz-mcp\dist\index.js -e BVOIZ_API_KEY=bv_live_your_api_key

Kiểm tra trạng thái kết nối:

claude mcp list

4. Google Antigravity

Trong cấu hình cài đặt MCP server của Antigravity (~/.gemini/antigravity/settings.json hoặc cấu hình Workspace):

{
  "mcpServers": {
    "bvoiz": {
      "command": "node",
      "args": ["E:\\Git\\bvoiz-mcp\\dist\\index.js"],
      "env": {
        "BVOIZ_API_KEY": "bv_live_your_actual_api_key_here"
      }
    }
  }
}

5. Windsurf / Codeium

Mở file cấu hình MCP của Windsurf tại ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bvoiz": {
      "command": "node",
      "args": ["E:\\Git\\bvoiz-mcp\\dist\\index.js"],
      "env": {
        "BVOIZ_API_KEY": "bv_live_your_actual_api_key_here"
      }
    }
  }
}

6. VS Code Copilot / Cline / Roo Code

Mở cài đặt extension MCP trong VS Code (hoặc file cấu hình cline_mcp_settings.json):

{
  "mcpServers": {
    "bvoiz": {
      "command": "node",
      "args": ["E:\\Git\\bvoiz-mcp\\dist\\index.js"],
      "env": {
        "BVOIZ_API_KEY": "bv_live_your_actual_api_key_here"
      },
      "disabled": false,
      "autoApprove": [
        "bvoiz_synthesize_speech",
        "bvoiz_demo_synthesize",
        "bvoiz_list_voices",
        "bvoiz_search_voices",
        "bvoiz_download_audio"
      ]
    }
  }
}

🛠️ Danh mục 14 MCP Tools chi tiết

Tên công cụ (Tool Name)

Phân loại

Mô tả tóm tắt

bvoiz_synthesize_speech

🗣️ TTS chính

Chuyển văn bản thành giọng đọc AI tự nhiên, hỗ trợ lưu file tự động về máy.

bvoiz_demo_synthesize

⚡ Demo miễn phí

Thử giọng miễn phí tối đa 300 ký tự (không cần API key hay credits).

bvoiz_download_audio

💾 Tải âm thanh

Tải bất kỳ file âm thanh nào từ BVoiz về ổ đĩa cục bộ.

bvoiz_get_job_status

⏳ Quản lý tiến trình

Kiểm tra tiến độ tác vụ tạo âm thanh nền cho các bài đọc dài.

bvoiz_list_voices

🔍 Khám phá giọng

Liệt kê các giọng đọc AI theo ngôn ngữ, giới tính, vùng miền, nhà cung cấp.

bvoiz_search_voices

🎯 Tìm kiếm giọng

Tìm kiếm giọng đọc bằng từ khóa cảm xúc, thể loại video, phong cách.

bvoiz_get_voice_details

ℹ️ Chi tiết giọng

Xem đầy đủ thông tin, link nghe mẫu của một giọng đọc theo ID.

bvoiz_clone_voice

🧬 Nhân bản giọng

Tạo giọng nhân bản mới từ file audio 5–15s trên máy cục bộ.

bvoiz_list_cloned_voices

🧬 Danh sách clone

Xem danh sách các giọng nhân bản cá nhân của tài khoản.

bvoiz_test_cloned_voice

🧬 Thử giọng clone

Đọc thử một câu văn bản bằng giọng đã nhân bản.

bvoiz_delete_cloned_voice

🗑️ Xóa giọng clone

Xóa một giọng nhân bản khỏi tài khoản.

bvoiz_get_account

👤 Tài khoản

Xem số dư credits, email, gói thành viên hiện tại.

bvoiz_get_history

📜 Lịch sử

Lấy danh sách lịch sử các lần chuyển đổi giọng nói gần nhất.

bvoiz_get_pricing_plans

💳 Bảng giá

Xem bảng giá các gói cước credits và hướng dẫn nạp VietQR.


Chi tiết các công cụ trọng tâm

1. bvoiz_synthesize_speech

Chuyển đổi văn bản thành giọng nói tiếng Việt/đa ngôn ngữ.

Tham số:

  • text (string, bắt buộc): Nội dung văn bản cần đọc.

  • speaker_id (string, tùy chọn): ID giọng đọc (ví dụ: bvoiz_nam_mb_muu_luoc, bvoiz_nu_mn_ngan_nguyen_sang_trong).

  • speed (number, tùy chọn, mặc định 1.0): Tốc độ đọc từ 0.5 (chậm) đến 2.0 (nhanh).

  • pitch (number, tùy chọn, mặc định 1.0): Cao độ từ 0.5 (trầm) đến 1.5 (cao).

  • volume (number, tùy chọn, mặc định 100): Âm lượng từ 0 đến 100.

  • audio_type (string, tùy chọn, mặc định 'mp3'): Định dạng 'mp3' hoặc 'wav'.

  • save_to_file (string, tùy chọn): Đường dẫn lưu file trực tiếp trên máy cục bộ (ví dụ: E:/output.mp3).

  • async (boolean, tùy chọn, mặc định false): Chế độ nền trả về Job ID ngay cho văn bản dài.

  • api_key (string, tùy chọn): Ghi đè API key nếu chưa cài biến môi trường.

Ví dụ trả về:

{
  "success": true,
  "request_id": "1793101361_65189ec778e6df2f",
  "speaker_name": "Bá Kiên (Mưu Lược & Kịch Tính)",
  "audio_url": "https://bvoiz.com/storage/audio/1793101361_65189ec778e6df2f.mp3",
  "r2_url": "https://bvoiz.com/storage/r2/user-voices/2026-10-27/1793101361_65189ec778e6df2f.mp3",
  "char_count": 47,
  "duration_sec": 3.2,
  "file_size_bytes": 48813,
  "local_file_path": "E:/output.mp3"
}

2. bvoiz_clone_voice

Tạo một giọng nói nhân bản từ file âm thanh mẫu có sẵn trên máy tính của bạn.

Tham số:

  • name (string, bắt buộc): Tên đặt cho giọng nói nhân bản (ví dụ: Giong_Doc_Cua_Toi).

  • audio_file_path (string, bắt buộc): Đường dẫn đến file âm thanh mẫu (WAV, MP3, M4A, FLAC, 5–15 giây thu âm rõ ràng, không lẫn tạp âm).

  • gender (enum: 'Nam' | 'Nữ', tùy chọn, mặc định 'Nam'): Giới tính giọng đọc.

  • ref_text (string, tùy chọn): Nội dung câu nói có trong đoạn mẫu để hệ thống căn chỉnh âm chuẩn xác hơn.


📚 MCP Resources & Prompts

1. Resources (Tài nguyên đọc ngữ cảnh)

AI Agent có thể đọc dữ liệu trực tiếp từ các URI sau mà không cần tốn lượt gọi tool:

  • bvoiz://voices: Danh mục dữ liệu JSON toàn bộ giọng đọc đang có trên hệ thống BVoiz.

  • bvoiz://account: Dữ liệu số dư credits và tài khoản BVoiz hiện tại.

  • bvoiz://pricing: Bảng giá và hạn mức các gói cước dịch vụ.

2. Prompts (Kịch bản hỗ trợ)

  • bvoiz_script_polisher: Tự động biên tập lại kịch bản văn bản thô:

    • Thêm dấu phẩy , và dấu chấm . tại các khoảng nghỉ lấy hơi tự nhiên.

    • Phiên âm các từ viết tắt tiếng Việt (TP.HCM -> Thành phố Hồ Chí Minh, VNĐ -> đồng).

    • Viết chữ cho các con số, năm, ngày tháng để máy đọc tự nhiên.

  • bvoiz_recommend_voice: Tư vấn giọng đọc:

    • Nhập vào thể loại video, đối tượng khán giả, phong cách mong muốn.

    • AI phân tích và đề xuất 2-3 mã giọng đọc tối ưu kèm thông số tốc độ, cao độ phù hợp nhất.


🎭 Bảng mã giọng đọc BVoiz phổ biến (Cheat Sheet)

Speaker ID

Tên giọng đọc

Giới tính

Vùng miền

Thể loại phù hợp nhất

bvoiz_nam_mb_muu_luoc

Bá Kiên

Nam

Miền Bắc

Tài liệu, Lịch sử, Cổ trang, Kịch tính, Mưu lược

bvoiz_nu_mn_ngan_nguyen_sang_trong

Ngân Nguyễn

Nữ

Miền Nam

TVC Quảng cáo, Giới thiệu thương hiệu sang trọng

bvoiz_nam_mb_phat_trien_ban_than

Tuấn Khang

Nam

Miền Bắc

Podcast, Sách nói Self-Help, Truyền cảm hứng

bvoiz_nu_mb_ha_linh_diu_dang

Hà Linh

Nữ

Miền Bắc

Tâm sự đêm khuya, Kể chuyện cổ tích, Thơ ca

bvoiz_nam_mn_tan_tai_hao_sang

Tấn Tài

Nam

Miền Nam

Review ẩm thực, Du lịch, Vlog đời sống miền Tây

bvoiz_nu_mt_thao_vy

Thảo Vy

Nữ

Miền Trung

Thuyết minh phóng sự miền Trung, Phim tài liệu

vi-VN-HoaiMyNeural

Hoài My

Nữ

Miền Bắc

Tin tức thời sự, Bài giảng điện tử, Tổng đài IVR

vi-VN-NamMinhNeural

Nam Minh

Nam

Miền Bắc

Bản tin kinh tế, Hướng dẫn kỹ thuật, Chăm sóc KH


💡 Kịch bản thực tế AI Agent có thể thực hiện

Sau khi kết nối BVoiz MCP, bạn có thể ra lệnh trực tiếp bằng tiếng Việt tự nhiên cho AI Agent:

Kịch bản 1: Tự động làm Voiceover cho Video ngắn

Prompt bạn gửi cho Agent:
"Hãy viết cho tôi một kịch bản video TikTok 30 giây giới thiệu về mẹo học tiếng Anh mỗi ngày. Sau đó dùng BVoiz công cụ bvoiz_synthesize_speech với giọng nữ trẻ trung miền Bắc, đọc kịch bản đó và lưu file vào E:/projects/tiktok/audio.mp3."

Kịch bản 2: Tối ưu văn bản và thử giọng miễn phí

Prompt bạn gửi cho Agent:
"Tôi có đoạn văn này: 'Hôm nay lúc 8h30 tại TP.HCM đã diễn ra hội nghị AI 2026 với 500 DN tham dự'. Hãy tối ưu lại cho tự nhiên bằng prompt bvoiz_script_polisher, sau đó gọi bvoiz_demo_synthesize đọc thử cho tôi nghe."

Kịch bản 3: Nhân bản giọng nói và kiểm tra

Prompt bạn gửi cho Agent:
"Tôi có file ghi âm mẫu ở E:/recordings/my_voice.wav. Hãy nhân bản giọng nói với tên 'Giong_Admin' qua BVoiz, rồi đọc thử câu: 'Hệ thống đã sao lưu dữ liệu thành công'."

Kịch bản 4: Trợ lý tổng đài tự động hóa (Call Center IVR)

Prompt bạn gửi cho Agent:
"Hãy tạo 3 file audio thông báo cho tổng đài cty: 1) Lời chào, 2) Bấm phím 1 gặp CSKH, 3) Ngoài giờ làm việc. Dùng giọng Hoài My và lưu vào thư mục ./ivr_audio/."


❓ Xử lý sự cố thường gặp (FAQ & Troubleshooting)

1. Lỗi Cannot find module .../dist/index.js

  • Nguyên nhân: Bạn chưa biên dịch mã nguồn TypeScript.

  • Khắc phục: Chạy lệnh npm run build trong thư mục bvoiz-mcp.

2. Lỗi Authorization header is required hoặc Token is invalid

  • Nguyên nhân: Biến môi trường BVOIZ_API_KEY chưa được khai báo hoặc key đã hết hạn/bị thu hồi.

  • Khắc phục:

    • Truy cập https://bvoiz.com/account để tạo lại key mới.

    • Kiểm tra xem file cấu hình MCP của bạn đã có mục "env": { "BVOIZ_API_KEY": "bv_live_..." } chưa.

    • Hoặc sử dụng công cụ bvoiz_demo_synthesize không yêu cầu API key.

3. Không lưu được file qua tham số save_to_file

  • Nguyên nhân: Đường dẫn thư mục không có quyền ghi hoặc sai định dạng đường dẫn.

  • Khắc phục: BVoiz MCP Server tự động tạo thư mục cha (recursive: true). Trên Windows, hãy đảm bảo đường dẫn sử dụng dấu gạch xuôi / hoặc dấu escape kép \\ (ví dụ: E:/audio/out.mp3 hoặc E:\\audio\\out.mp3).

4. Ký tự tối đa cho mỗi lần đọc

  • Gói Free/Demo: Tối đa 300 ký tự / lần.

  • Gói trả phí (Basic, Advanced, Premium): Từ 25.000 đến 50.000 ký tự / lần chuyển đổi. Nếu văn bản quá dài, bật tham số async: true để hệ thống xử lý qua hàng đợi mà không bị timeout.


📄 Hỗ trợ & Bản quyền

Available Tools

14 tools
bvoiz_clone_voiceA

Tạo giọng nói nhân bản (Voice Clone) mới từ file âm thanh mẫu (5-15 giây, WAV/MP3/M4A/FLAC) trên máy cục bộ.

NameRequiredDescriptionDefault
nameYesTên đặt cho giọng nói nhân bản mới (tối đa 50 ký tự)
genderNoGiới tính của giọng đọc: 'Nam' hoặc 'Nữ'Nam
api_keyNoBVoiz API Key
ref_textNoNội dung câu nói xuất hiện trong file âm thanh mẫu (giúp cải thiện độ chuẩn xác và ngữ điệu)
audio_file_pathYesĐường dẫn file âm thanh mẫu giọng nói (ví dụ: 'E:/samples/my_voice.wav')

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It usefully discloses that the sample must be a local file of 5-15 seconds in WAV/MP3/M4A/FLAC, but it does not state authentication needs, whether the operation is asynchronous, whether it consumes quota, or what kind of result is returned. This is minimally viable but leaves notable behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action, the resource, and the key input constraints without redundant information. Every phrase contributes to helping an agent understand the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a five-parameter creation tool with fully documented schema fields, and it adds important sample-file constraints. However, with no output schema and no annotations, it should say more about return behavior, authentication, and whether the operation is synchronous or job-based. Those omissions leave the definition only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are already documented. The description adds value beyond the schema by specifying the accepted audio formats and the 5-15 second duration constraint for audio_file_path. It does not add further meaning for name, gender, api_key, or ref_text, but the schema covers those adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: creating a new cloned voice from a sample audio file. It adds meaningful constraints on the sample clip duration and supported formats. It does not explicitly differentiate itself from sibling tools such as bvoiz_synthesize_speech or bvoiz_list_cloned_voices, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose: use this when creating a new voice clone from a local sample. However, the description gives no explicit when-to-use guidance, no prerequisites, and no alternatives or exclusions relative to siblings like synthesize_speech or test_cloned_voice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_delete_cloned_voiceC

Xóa một giọng nói nhân bản khỏi tài khoản BVoiz.

NameRequiredDescriptionDefault
api_keyNoBVoiz API Key
clone_idYesMã Clone ID cần xóa

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing about irreversibility, whether existing audio/jobs referencing the voice are affected, permission or API-key requirements, or the response. For a destructive delete operation with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the brevity borders on under-specification given that this is a destructive tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, irreversible-sounding delete operation with no annotations and no output schema, the description should state consequences, preconditions, and roughly what is returned. None of that is present, so an agent cannot call it with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both api_key ('BVoiz API Key') and clone_id ('Mã Clone ID cần xóa') are documented in the schema. The description adds no additional meaning about where clone_id comes from or how to obtain it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Xóa' – delete) and a specific resource ('một giọng nói nhân bản' – a cloned voice) scoped to the BVoiz account. An agent can immediately tell this is not a read or synthesis operation. It doesn't, however, distinguish itself from nearby siblings like bvoiz_list_cloned_voices or bvoiz_test_cloned_voice beyond the verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives, no stated prerequisites (e.g., needing a clone_id from bvoiz_list_cloned_voices), and no note on when deletion is inappropriate. The single sentence describes only what the tool does, leaving the agent to infer all usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_demo_synthesizeA

Thử nghiệm giọng đọc BVoiz AI hoàn toàn MIỄN PHÍ không cần tài khoản hay credits (tối đa 300 ký tự). Rất phù hợp để kiểm tra mẫu giọng trước khi chuyển đổi số lượng lớn.

NameRequiredDescriptionDefault
textYesVăn bản thử nghiệm (tối đa 300 ký tự)
pitchNoCao độ giọng đọc (0.5 - 1.5)
speedNoTốc độ đọc (0.5 - 2.0)
volumeNoÂm lượng (0 - 100)
audio_typeNoĐịnh dạng âm thanh ('mp3' hoặc 'wav')mp3
speaker_idNoMã giọng đọc (ví dụ: 'bvoiz_nam_mb_muu_luoc', 'bvoiz_nu_mn_ngan_nguyen_sang_trong')
save_to_fileNoĐường dẫn file trên máy cục bộ để lưu âm thanh thử nghiệm

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does add real value: it discloses that no account or credits are required and that input is capped at 300 characters, which is important for planning. However, it says nothing about the return value (raw audio vs. URL vs. base64), rate limits, or that save_to_file writes to the local machine.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler; the free/no-account/limit information is front-loaded before the recommended use case. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no annotations and no output schema, the description covers the access model and input limit but omits what the tool returns and what happens on disk when save_to_file is used. An agent can call it, but cannot fully predict the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each of the 7 parameters documented in-schema including ranges, defaults, and the enum for audio_type. The description adds no parameter-level meaning beyond repeating the 300-character cap, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Thử nghiệm giọng đọc BVoiz AI' – test a BVoiz AI voice), which is distinct from the bulk-conversion siblings. It does not name the alternative tool (bvoiz_synthesize_speech) explicitly, so a sibling differentiation is only implied via 'trước khi chuyển đổi số lượng lớn'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context: suitable for checking a voice sample before converting large volumes, which tells the agent when this tool is the right pick. It stops short of naming the alternative tool or stating explicit exclusions (e.g., use the paid tool when you need more than 300 characters).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_download_audioA

Tải file âm thanh đã sinh từ BVoiz (thông qua URL hoặc ID) về lưu trực tiếp vào ổ đĩa máy cục bộ.

NameRequiredDescriptionDefault
save_pathYesĐường dẫn lưu file trên máy cục bộ (ví dụ: 'E:/audio/podcast_ep1.mp3' hoặc './output.wav')
audio_url_or_idYesURL âm thanh BVoiz (R2 URL, Storage URL) hoặc ID bản ghi chuyển đổi

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does carry useful behavioral weight by disclosing the local-disk write side effect and that the source can be a URL or record ID. It omits overwrite behavior, permission/error handling, and whether large files are streamed, which matters for a filesystem-writing tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero padding; the destination behavior ('lưu trực tiếp vào ổ đĩa máy cục bộ') is stated up front rather than buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with full schema coverage and no output schema, the core intent is covered. Still missing is what to expect on completion (saved path, overwrite/conflict handling) and error cases, which the absent annotations leave unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented with examples and accepted ID/URL forms. The description only echoes 'qua URL hoặc ID' without adding format or constraint detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('tải ... về lưu trực tiếp') and resource ('file âm thanh đã sinh từ BVoiz'), and the 'đã sinh' qualifier implicitly separates it from the synthesis siblings like bvoiz_synthesize_speech. It does not, however, explicitly contrast itself with any named sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: download audio that already exists on BVoiz. There is no statement of when to prefer this over bvoiz_get_job_status or bvoiz_get_history, nor any prerequisite or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_get_accountB

Xem thông tin tài khoản BVoiz, số dư credits hiện tại, email, quyền hạn và trạng thái tài khoản.

NameRequiredDescriptionDefault
api_keyNoBVoiz API Key nếu muốn kiểm tra tài khoản cụ thể

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does imply a non-mutating read and lists the fields returned, which is useful. However it does not state whether the call is read-only in a machine-checkable sense, what happens on an invalid/missing API key, or whether a default key is used — notable gaps for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler that earns its place. It is efficiently sized for a simple read tool, though it offers no structure beyond one flat clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The listed return fields partially compensate for the absence of an output schema, and the single optional parameter keeps the tool simple. Still missing is any guidance on the no-api_key case and error/auth behavior, which an agent needs to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the sole api_key parameter is already documented. The description adds no meaning about the parameter — critically, it never explains the default behavior when api_key is left empty (0 required parameters), which is the one piece of semantics an agent would want.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Xem thông tin tài khoản BVoiz') and enumerates what is returned (credits balance, email, permissions, status). This clearly distinguishes it from all siblings, which deal with voices, synthesis, pricing, and history — no explicit sibling comparison is offered, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus alternatives, no prerequisites, and no mention of the important case where api_key is omitted. Usage is only loosely implied by the verb 'Xem'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_get_historyB

Lấy danh sách lịch sử các lần tạo âm thanh gần nhất của tài khoản.

NameRequiredDescriptionDefault
limitNoSố lượng bản ghi lịch sử tối đa (mặc định 10)
api_keyNoBVoiz API Key

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It conveys that results are account-scoped and limited to recent items, but says nothing about auth requirements beyond the api_key param, ordering, truncation behavior, or what a history entry contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the brevity leaves gaps rather than being a case of lean over-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with fully documented parameters this is close to adequate, but with no output schema the description could at least sketch what a history record contains (e.g. job id, audio URL, timestamp) so an agent knows what it can chain into bvoiz_download_audio.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (limit with default 10 / max 100, and api_key) are already fully documented. The description adds only the notion of recency, which implies ordering but not a format or paging detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lấy danh sách') and resource ('lịch sử các lần tạo âm thanh') scoped to the account's most recent items. It is reasonably distinct from siblings like bvoiz_get_job_status or bvoiz_synthesize_speech, though it does not explicitly contrast itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'gần nhất' signals this is the tool for recent activity rather than a specific job or account lookup. There is no explicit when-to-use guidance, no mention of when to prefer bvoiz_get_job_status for a specific job, and no prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_get_job_statusB

Kiểm tra trạng thái tiến trình tạo âm thanh nền (Job Status) bằng Job ID hoặc Request ID.

NameRequiredDescriptionDefault
job_idYesMã Job ID hoặc Request ID cần kiểm tra
api_keyNoBVoiz API Key nếu cần xác thực
wait_until_completeNoNếu là true, công cụ sẽ tự động đợi và poll trạng thái cho đến khi hoàn thành xong rồi mới trả về URL

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, yet it says nothing about read-only semantics, whether the call blocks, how long polling lasts, or what happens if the job fails or the ID is unknown. The polling-until-complete behavior is disclosed only in the schema's wait_until_complete property, not in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler for a simple retrieval tool. It is appropriately sized, though it is arguably too thin rather than too wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only status-check tool with full schema coverage and no annotations, the description covers the essential purpose but omits the meaningful behavioral facts an agent needs: default non-blocking return, the polling semantics of wait_until_complete, and behavior on error or non-existent IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (job_id, api_key, wait_until_complete) are already documented. The description's only added nuance is that job_id may be a Job ID or Request ID, which the schema also states, so it does not go beyond structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Kiểm tra trạng thái tiến trình tạo âm thanh nền' – check status of background audio generation) and names the lookup key (Job ID or Request ID). This distinguishes it from siblings like bvoiz_synthesize_speech or bvoiz_download_audio, though it never explicitly says it is the polling counterpart to a submitted synthesis job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the mention of Job ID/Request ID suggests it is called after submitting a job, but no when-to-use/when-not-to-use guidance is given. The description does not mention the alternative behavior of blocking vs. non-blocking retrieval, which is the main branching decision an agent faces.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_get_pricing_plansA

Xem bảng giá các gói cước credits BVoiz, quyền lợi và thông tin nạp tiền bằng VietQR Napas 247.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. "Xem" (view) implies a read-only operation and the sentence previews the returned content (pricing, benefits, top-up instructions), but it says nothing about whether authentication or a paid account is required, whether pricing is per-account or global, or what the response shape looks like. Low risk given zero parameters, but thin disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the resource before listing its contents, with no filler. It is compact and readable, though written in Vietnamese, which may be a comprehension cost for some agents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with no output schema, the description covers what the tool returns (pricing, benefits, top-up info via VietQR Napas 247) and requires no argument setup. The only gaps are auth/availability context and response format, which are minor for such a simple operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The naming of the returned content types is a small bonus but does not add parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ("Xem" / view) and a concrete resource ("bảng giá các gói cước credits BVoiz"), plus the supplementary payload it returns (benefits, VietQR Napas 247 top-up info). No sibling in the tool list covers pricing, so the tool is easy to tell apart from the synthesis/voice-management siblings, though it never states that differentiation explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the tool for pricing/credit/top-up questions, but there is no explicit "call this when the user asks about cost or credits" statement and no mention of alternatives or prerequisites. Adequate but leaves the agent to infer the trigger.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_get_voice_detailsB

Xem chi tiết thông tin và nghe thử một giọng đọc BVoiz theo ID cụ thể.

NameRequiredDescriptionDefault
voice_idYesMã giọng đọc (ví dụ: 'bvoiz_nam_mb_muu_luoc')

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden. It does add one useful trait beyond the name — that the response includes a listenable demo, not just metadata — but it omits whether authentication is required, whether the call is read-only/side-effect free, and what the returned detail payload contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no filler, front-loading the core action ('Xem chi tiết thông tin') and appending the preview capability. Nothing is wasted, though there is little structure to speak of beyond that one clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool this is close to adequate, but with no output schema the description should hint at what 'chi tiết thông tin' actually includes (e.g., locale, gender, style, demo audio URL). As written, an agent knows the action but not the shape of the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter, and the schema documents it at 100% coverage with a concrete example ('bvoiz_nam_mb_muu_luoc'). The description's 'theo ID cụ thể' adds no meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: retrieve detailed information about a BVoiz voice identified by ID, and additionally preview/hear it. This clearly separates it from list/search tools by emphasizing a single voice_id lookup, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrase 'theo ID cụ thể' signals it needs a specific voice_id, presumably obtained from bvoiz_list_voices or bvoiz_search_voices, but the description never says so. There is no explicit when-to-use versus alternatives such as bvoiz_test_cloned_voice or bvoiz_demo_synthesize, which also involve hearing a voice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_list_cloned_voicesA

Lấy danh sách các giọng nói nhân bản (Voice Clones) do người dùng tạo trong tài khoản BVoiz.

NameRequiredDescriptionDefault
api_keyNoBVoiz API Key nếu muốn ghi đè biến môi trường

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. 'Lấy danh sách' signals a read-only enumeration, which is useful, but the description says nothing about pagination, result limits, ordering, empty-state behavior, or whether authentication is implied beyond the optional api_key parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler; the resource and scope appear immediately and nothing is repeated or wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with one optional parameter and no output schema, the description covers the essentials but leaves open what the listing contains (fields returned, pagination, count limits) and how it differs concretely from the sibling voice-listing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional parameter (api_key) with 100% schema description coverage, so the schema already explains the environment-variable override. The description adds no further meaning about that parameter or about how authentication affects the result scope, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lấy danh sách') and resource ('các giọng nói nhân bản / Voice Clones') scoped to the user's BVoiz account, which implicitly separates it from bvoiz_list_voices and bvoiz_search_voices. It does not explicitly name those siblings, so the differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the tool for enumerating cloned voices rather than all voices, but there is no explicit when-to-use/when-not guidance, no mention of alternatives like bvoiz_list_voices or bvoiz_search_voices, and no prerequisites or account-context notes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_list_voicesB

Lấy danh sách các giọng đọc AI của BVoiz với nhiều bộ lọc linh hoạt (ngôn ngữ, giới tính, vùng miền, nhà cung cấp BVoiz/Edge).

NameRequiredDescriptionDefault
genderNoLọc theo giới tính: 'Nam', 'Nữ', hoặc 'All'All
regionNoLọc theo vùng miền: 'Miền Bắc', 'Miền Trung', hoặc 'Miền Nam'
languageNoLọc theo mã ngôn ngữ (ví dụ: 'vi' cho tiếng Việt, 'en' cho tiếng Anh)
providerNoLọc theo nhà cung cấp: 'bvoiz' (giọng độc quyền cao cấp), 'edge', hoặc 'all'all
popular_onlyNoChỉ lấy các giọng đọc phổ biến được yêu thích nhất

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, yet it says nothing about the return shape, default result size, pagination, or whether an API key is required. The only signal is the word 'danh sách', which weakly implies a read-only operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that identifies the resource first and the filters second, with no wasted text. It is arguably under-specified rather than over-long, which is not a conciseness flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter list tool with no output schema and no annotations, the definition is minimally adequate, but it leaves the agent guessing about result volume, pagination, and how to choose between this and bvoiz_search_voices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all five parameters (including enums for gender and provider) are already documented in the schema. The description restates the filter dimensions without adding syntax, defaults, or combination semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Lấy danh sách các giọng đọc AI của BVoiz') and enumerates the filter dimensions (ngôn ngữ, giới tính, vùng miền, nhà cung cấp). It does not distinguish itself from the sibling bvoiz_search_voices, which appears to overlap in intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a filtered-listing use case but gives no explicit when-to-use/when-not guidance and never names bvoiz_search_voices or bvoiz_get_voice_details as alternatives. An agent must infer the routing decision on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_search_voicesB

Tìm kiếm giọng đọc BVoiz theo từ khóa thông minh (ví dụ: 'tin tức', 'kể chuyện đêm khuya', 'quảng cáo', 'sách nói', 'trầm ấm', 'hào sảng', 'miền nam').

NameRequiredDescriptionDefault
limitNoSố lượng kết quả tối đa muốn trả về (mặc định 10)
queryYesTừ khóa tìm kiếm (thể loại, phong cách, mô tả giọng, ví dụ: 'review phim', 'truyền cảm', 'tài liệu')

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the tool searches by keyword and gives examples; it does not state that the operation is read-only, how results are ordered, or whether limits/pagination apply beyond the schema's default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with a compact list of illustrative keywords. It is efficient and easy to parse, with no wasted preamble.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter search tool with full schema coverage, the description is minimally adequate. However, because there are no annotations or output schema, it could have clarified what the search returns or how results are ranked, leaving a gap in contextual completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema. The description adds only example keywords, which overlap with the schema's own examples and do not add deeper semantics for the query or limit parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Tìm kiếm') and resource ('giọng đọc BVoiz'), and clarifies that search is by smart keyword. It does not explicitly distinguish this from the sibling tool bvoiz_list_voices, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The examples ('tin tức', 'kể chuyện đêm khuya', 'quảng cáo') imply how to use the tool, but there is no explicit guidance on when to use this search versus bvoiz_list_voices or other sibling tools. Usage is therefore only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_synthesize_speechC

Chuyển đổi văn bản thành giọng nói AI tự nhiên (Vietnamese & Multilingual Text-to-Speech) sử dụng nền tảng BVoiz AI. Hỗ trợ điều chỉnh tốc độ, cao độ, âm lượng, định dạng file, và tùy chọn lưu file cục bộ.

NameRequiredDescriptionDefault
textYesNội dung văn bản cần chuyển thành giọng nói
asyncNoNếu là true, tạo tác vụ nền và trả về Job ID ngay lập tức (phù hợp với văn bản rất dài)
pitchNoCao độ giọng nói từ 0.5 (trầm) đến 1.5 (cao). Mặc định 1.0
speedNoTốc độ đọc từ 0.5 (chậm) đến 2.0 (nhanh). Mặc định 1.0
volumeNoÂm lượng giọng đọc từ 0 đến 100. Mặc định 100
api_keyNoBVoiz API Key bắt đầu bằng 'bv_live_...'. Nếu đã cài biến môi trường BVOIZ_API_KEY thì không cần truyền.
audio_typeNoĐịnh dạng âm thanh đầu ra: 'mp3' hoặc 'wav'. Mặc định 'mp3'mp3
speaker_idNoID giọng đọc (ví dụ: 'bvoiz_nam_mb_muu_luoc', 'bvoiz_nu_mn_ngan_nguyen_sang_trong', 'vi-VN-HoaiMyNeural'). Dùng công cụ bvoiz_list_voices để xem danh sách đầy đủ.
save_to_fileNoĐường dẫn file trên máy cục bộ để tự động tải và lưu file âm thanh sau khi tạo xong (ví dụ: 'E:/audio/output.mp3' hoặc './speech.wav')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and mostly restates the adjustable parameters already in the schema. It does not disclose the API-key/auth requirement, cost or rate limits, what the call returns (audio bytes vs URL vs Job ID), or how the async path behaves – all critical for a mutation/synthesis tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences that front-load the core purpose, with no filler or redundancy. Slightly under-specified rather than over-long, but structurally clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter synthesis tool with no annotations and no output schema, the description omits the return value, the auth requirement, and the async/job-handoff workflow. It also does not point to bvoiz_get_job_status or bvoiz_download_audio, leaving the async path underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (including pitch, speed, volume ranges, speaker_id, async, save_to_file) is already fully documented in the schema. The description adds only a generic summary of adjustable aspects, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Chuyển đổi văn bản thành giọng nói AI' / text-to-speech) on the BVoiz platform and enumerates the adjustable aspects. However, it never distinguishes itself from the sibling 'bvoiz_demo_synthesize', which an agent could easily confuse with this production synthesize tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this instead of bvoiz_demo_synthesize, bvoiz_clone_voice, or the async/download siblings. The only hint ('tùy chọn lưu file cục bộ') implies a save workflow but does not state when/when-not to apply it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bvoiz_test_cloned_voiceB

Đọc thử một đoạn văn bản ngắn bằng giọng nói nhân bản (Clone Voice ID) để kiểm tra chất lượng.

NameRequiredDescriptionDefault
textYesNội dung văn bản cần đọc thử
api_keyNoBVoiz API Key
clone_idYesMã Clone Voice ID cần kiểm tra
save_to_fileNoĐường dẫn file trên máy để lưu âm thanh sinh ra

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It hints at a 'short' text limit and a preview purpose, but says nothing about what is returned (audio stream vs. the save_to_file path), whether the call consumes credits, or what errors look like — significant gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though it is perhaps too terse for an unannotated tool with four parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a preview tool with no output schema and no annotations, the description should clarify the return value (playable audio vs. saved file) and the API-key requirement. It establishes the purpose but leaves the agent guessing about the result of a successful call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (text, clone_id, api_key, save_to_file) are already documented in the schema. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: read out a short text sample using a cloned voice (Clone Voice ID) for quality checking. This distinguishes it in intent from bvoiz_synthesize_speech, though it never names that sibling or explicitly contrasts the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'để kiểm tra chất lượng' implies this is a preview/test step, which suggests when to use it. However, there are no explicit conditions, prerequisites, or named alternatives (e.g. use bvoiz_synthesize_speech for full production audio).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updatesv1.0.0
    • First observedbvoiz_clone_voice
    • First observedbvoiz_delete_cloned_voice
    • First observedbvoiz_demo_synthesize
    • First observedbvoiz_download_audio
    • First observedbvoiz_get_account
    • First observedbvoiz_get_history
    • First observedbvoiz_get_job_status
    • First observedbvoiz_get_pricing_plans
    • First observedbvoiz_get_voice_details
    • First observedbvoiz_list_cloned_voices
    • First observedbvoiz_list_voices
    • First observedbvoiz_search_voices
    • First observedbvoiz_synthesize_speech
    • First observedbvoiz_test_cloned_voice

TDQS

A3.5/5.0

Scored across 14 tools

Disambiguation4/5

Most tools target distinct operations: synthesis, voice discovery, clone management, account, history, job status, and download. The main overlap is bvoiz_list_voices vs bvoiz_search_voices and bvoiz_synthesize_speech vs bvoiz_demo_synthesize, but descriptions clarify filtered listing versus keyword search and free demo versus paid synthesis.

Naming Consistency4/5

All names use the bvoiz_ prefix and snake_case, with mostly verb_noun structure such as get_, list_, search_, clone_, and delete_. Minor inconsistency appears in bvoiz_demo_synthesize, which combines demo/synthesize rather than following a standard verb_noun form, but overall the pattern is predictable.

Tool Count5/5

14 tools is well within the appropriate range for a TTS platform and each tool maps to a meaningful capability. There are no obvious filler tools beyond the intentionally separate demo endpoint, and the surface is neither thin nor bloated.

Completeness4/5

The set covers the core lifecycle: pricing/account, voice discovery, synthesis/demo, job status, download, history, and clone create/list/test/delete. Minor gaps include no update/rename operation for cloned voices and no cancel-job or delete-history operations, though these are not blocking for common workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers