Skip to main content
Glama
theYahia

salutespeech-mcp

by theYahia

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.2.0

  • Disambiguation4/5

    recognize_speech and recognize_file both perform speech recognition but differ by input source (Base64 vs local file), which is distinguishable. The other tools (get_task_status, list_models, synthesize_speech) have clearly distinct purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: recognize_*, get_*, list_*, synthesize_*. No mixed conventions or vague verbs.

    Tool Count5/5

    Five tools is well-scoped for a speech API covering recognition, synthesis, model listing, and async task management. Each tool earns its place.

    Completeness4/5

    The core speech recognition and synthesis workflows are covered, including async task status. Minor gaps include no explicit cancel/delete task operation, but the essential lifecycle is present.

  • Average 3.6/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 4 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for behavioral transparency. It mentions input and output but omits any details on error handling, limitations, async behavior, or side effects.

    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 exceptionally concise, comprising two short sentences that front-load the core function and then describe the input/output. There is no redundant or extraneous information.

    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?

    While the description states the return type (text transcription) and input format, it lacks broader context such as whether the operation is synchronous, any file size constraints, or integration with other SaluteSpeech features. Given the simple nature of the tool, this is acceptable but not fully complete.

    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?

    All parameters have some description in the schema, achieving 100% coverage. The descriptions are brief but adequate for basic understanding, though they add little beyond the schema itself (e.g., no explanation of allowed language formats beyond examples).

    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 the tool performs speech recognition via SaluteSpeech and accepts Base64 audio to return text. It does not explicitly differentiate from sibling tool 'recognize_file', but the mention of Base64 audio provides some distinction.

    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?

    No guidance is provided on when to use this tool versus alternatives like recognize_file or synthesize_speech. The description lacks any decision criteria or contextual triggers.

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

  • Behavior3/5

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

    With no annotations present, the description carries the burden of behavioral disclosure. It adds one key fact beyond the schema: the output is Base64-encoded audio. However, it does not mention whether the call is synchronous, whether any authentication is needed, whether there are side effects, or the processing interface details. The basic output contract is present, but more depth would be expected for full transparency.

    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 sentence that immediately states the primary behavior and output. It is brief and front-loaded with 'Text-to-speech via SaluteSpeech' before touching the operation. There is no superfluous structure or repetition, though it leaves some behavioral detail out.

    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 3-parameter tool with a fully documented input schema and no output schema, this description provides the key missing piece: the return envelope is Base64-encoded audio. It gives enough to make a correct call and understand the result, though it could mention potential limitations like the audio duration or output size. The sibling `get_task_status` raises a possible async concern, but the description's statement that it 'returns Base64-encoded audio' resolves that by implying a direct response.

    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?

    The input schema covers all 3 parameters with detailed descriptions (text length, voice id syntax, format options). The description adds no additional parameter-specific meaning beyond the schema, such as the decision between opus and wav16 or when to set the telephony rate. Since schema coverage is 100%, the description's lack of parameter commentary is acceptable, but it doesn't exceed the baseline.

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

    Purpose5/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: 'Text-to-speech via SaluteSpeech'. It also clearly distinguishes the tool from the recognition siblings (recognize_speech, recognize_file) by specifying the direction of the operation (text-to-speech) and the output (Base64-encoded audio). An agent can immediately tell this is the generation-side protocol, not recognition.

    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 when-to-use or when-not-to-use guidance. The phrase 'Text-to-speech' implies the scenario of converting text into audio, but the description never references the sibling tools or says when to choose this over recognition. The agent would have to infer the usage context from the message only, with no stated exclusions or alternative recommendations.

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

  • 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 disclosing behavioral traits. It only states 'Check status' with no mention of side effects, error handling, idempotency, or rate limits. This is insufficient for a tool that queries an external async process.

    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 sentence that is front-loaded with the key verb and resource. Every word serves a purpose with no redundancy or unnecessary information.

    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?

    The tool is simple with one parameter and no output schema. The description adequately conveys the tool's purpose. However, it could be enhanced by mentioning the possible statuses or expected response format to better inform the agent.

    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?

    The schema covers 100% of parameters with a clear description for 'task_id'. The tool description adds no additional semantics beyond what the schema already provides, so baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the verb 'Check status', the specific resource 'async SaluteSpeech recognition task', and the method 'by ID'. It distinguishes itself from sibling tools like list_models, recognize_file, etc., which serve different purposes.

    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 implicitly tells when to use this tool (after obtaining a task ID from an async request), but lacks explicit guidance on when not to use it or alternatives. The usage context is implied but not fully elaborated.

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

  • Behavior3/5

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

    The description covers the basic behavior (listing models/voices, filtering by type) but, given no annotations, it lacks details on authorization, pagination, or output format, which would be helpful for an agent. It is adequate but not comprehensive.

    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 sentence that is front-loaded with the key action and resource. Every word is necessary, and it is efficiently structured without redundancy.

    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 simple listing tool with one optional parameter and no output schema, the description is fairly complete. It explains the tool's purpose and filtering ability. Minor improvements could include mentioning that voices are for synthesis and models for recognition.

    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%, providing full info on the 'type' parameter. The description adds no extra meaning beyond the schema, meeting the baseline for a parameter with an enum.

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

    Purpose5/5

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

    The description uses a specific verb 'List' and clearly identifies the resource ('available SaluteSpeech models and voices') and purpose ('for recognition and synthesis'), clearly distinguishing it from siblings like 'recognize_file' which perform actual transcription.

    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 usage for listing models and voices, but does not explicitly state when to use it versus alternatives like 'get_task_status' or when not to use it. The context is clear but lacks exclusions or alternatives.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of disclosing behavior. It reveals one key behavior—auto-detection of format from the extension—but does not mention side effects (none apparent, but not stated), error handling for missing files or unsupported formats, or the fact that it is a read-only operation. Some transparency is present, but significant behavioral details are omitted.

    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 two sentences with zero waste. The primary purpose is stated first, and the key detail about auto-detection is injected naturally. It is succinct and well-structured, making it easy for an agent to parse quickly.

    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 explains the main function and a key feature, but it does not mention the output format (e.g., recognized text, confidence scores) or any prerequisites like file existence or network access. Since there is no output schema to fill this gap, the description is only partially complete. An agent might be unclear about what to expect as a result, though the tool name and verb 'Recognize' offer some hint.

    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?

    The schema fully documents all three parameters (file_path, language, sample_rate) with clear descriptions and defaults. The description adds little beyond the schema: it implies that file_path should have an extension (due to auto-detection) and that sample_rate is needed for headerless files, but these are already inferable from the schema's 'required for headerless' note. Since schema coverage is 100%, the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description uses the specific verb 'Recognize' and clearly identifies the resource 'speech from a local audio file.' It also mentions auto-detection of format, which distinguishes it from a generic recognition tool and from sibling tools like recognize_speech that may handle other input sources. The purpose is unmistakable.

    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?

    The statement 'Auto-detects format from extension' provides implicit guidance on when to use this tool (when the file extension indicates the format) and when additional parameters like sample_rate may be needed (headerless files). However, it does not explicitly compare with sibling tools such as recognize_speech, leaving some ambiguity about when to prefer one over the other. The guidance is clear but not exhaustive.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

salutespeech-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

salutespeech-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md: