genpark-voice-turn-taking-endpoint-detector-skill
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@genpark-voice-turn-taking-endpoint-detector-skillAnalyze the latest audio frame and tell me if the speaker finished their turn."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
genpark-voice-vad
Energy and transcript heuristics for voice turn endpoint detection.
This is a heuristic endpoint detector over precomputed dB energies and a transcript. It does not decode audio, transcribe speech, or run a trained VAD model. Confidence values are heuristic scores, not calibrated probabilities.
Install from the GitHub release
Python 3.9 or newer. The library and stdio MCP server have no runtime dependencies.
python -m pip install https://github.com/Alpha-Park/genpark-voice-turn-taking-endpoint-detector-skill/releases/download/v1.0.1/genpark_voice_vad-1.0.1-py3-none-any.whlPyPI publication is pending account setup. The intended PyPI project is genpark-voice-vad;
do not assume pip install genpark-voice-vad is available until the project is published.
Related MCP server: genpark-realtime-voice-turn-taking-orchestrator-skill
Python usage
from genpark_voice_vad import VoiceTurnTakingEndpointDetector
client = VoiceTurnTakingEndpointDetector()
print(client.run_benchmark_turn_detection())MCP stdio configuration
After installing the wheel, configure your MCP client with the installed command:
{
"mcpServers": {
"genpark-voice-vad": {
"command": "genpark-voice-vad",
"args": []
}
}
}If the command is not on PATH, use its absolute path or python -m genpark_voice_vad
with the same interpreter where you installed the wheel.
The GitHub release also contains a .mcpb bundle for clients supporting desktop extensions.
That bundle requires a Python 3.9+ interpreter on PATH; it bundles the server source.
Available tools: analyze_turn_status, calibrate_acoustic_thresholds, predict_semantic_closure, run_benchmark_turn_detection.
tools/list returns required arguments and JSON schemas.
Each MCP process holds its own state. Benchmark tools use isolated instances.
Development
python -m unittest discover -s tests
python -m pip install mcp
python tests/check_mcp.py
python -m pip install build twine
python -m build
python -m twine check dist/*python mcp_server.py --test runs the deterministic example; it is not a protocol conformance test.
The MCP client check exercises initialize, tools/list, tools/call and ping over stdio.
Distribution
GitHub source and release artifacts are the primary distribution until PyPI is configured. Registry submissions are tracked separately; a manifest is not proof of registry acceptance. See PUBLISHING.md for the repeatable PyPI workflow.
MIT license. Maintained by GenPark.
Available Tools
4 toolsanalyze_turn_statusD
analyze turn status
| Name | Required | Description | Default |
|---|---|---|---|
| frame_energies_db | Yes | ||
| elapsed_silence_ms | Yes | ||
| transcript_fragment | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it provides none. It says nothing about authorization, cost, latency, side effects, or what the analysis returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than disciplined conciseness. There is no structure, front-loading, or meaningful content to compress.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-required-parameter tool with no annotations and no output schema, the description is completely inadequate. An agent has no way to know what inputs to prepare or what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (frame_energies_db, elapsed_silence_ms, transcript_fragment) have 0% schema description coverage and the description adds no explanation of their meaning, units, or expected formats. The description fully fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'analyze turn status' merely restates the tool name in lowercase, adding no specificity about what is analyzed (speech turns? silence? conversation state?) or what the analysis produces. It is a tautology rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the siblings (calibrate_acoustic_thresholds, predict_semantic_closure, run_benchmark_turn_detection) or when not to. No context, prerequisites, or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calibrate_acoustic_thresholdsD
calibrate acoustic thresholds
| Name | Required | Description | Default |
|---|---|---|---|
| ambient_frames_db | Yes |
TDQS
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, yet it discloses nothing about side effects, whether calibration mutates state, what permissions are needed, or how the ambient frames are consumed. The four-word description leaves every behavioral question unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but its brevity reflects under-specification rather than tight writing. It is front-loaded only because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A one-parameter tool with no annotations and no output schema still needs to explain the input's meaning and the operation's effect; the description provides neither. It is entirely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'ambient_frames_db' has 0% schema description coverage, and the description contributes no meaning about units, expected array length, or how the frames inform calibration. Nothing compensates for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim lowercase restatement of the tool name 'calibrate_acoustic_thresholds' and adds no specificity about what is being calibrated or against what. It gives no way to distinguish this from siblings like analyze_turn_status or run_benchmark_turn_detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this tool should be used, what preconditions apply, or how it differs from the sibling tools. An agent has no basis to choose it over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_semantic_closureD
predict semantic closure
| Name | Required | Description | Default |
|---|---|---|---|
| transcript_fragment | Yes |
TDQS
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 discloses nothing. It does not state what a 'semantic closure' prediction returns, whether it is a classification or score, latency implications, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three words, but this is under-specification rather than conciseness. It is front-loaded only in the trivial sense that there is nothing else to say.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented required parameter, no annotations, and no output schema, the description is completely inadequate. An agent cannot determine what the tool returns or when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter, transcript_fragment, is never mentioned in the description. The parameter name is somewhat self-evident as a string input, but the description adds zero meaning about expected content, length, or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, 'predict semantic closure', with no added explanation of what 'semantic closure' means or what is actually predicted. It gives no way to distinguish this tool from siblings like analyze_turn_status or run_benchmark_turn_detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus the sibling analysis/benchmark tools, nor any stated preconditions. The description provides no context that would route an agent here rather than to analyze_turn_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_benchmark_turn_detectionC
run benchmark turn detection
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it provides none. It does not say whether the benchmark is read-only, whether it is expensive/long-running, what it measures, or what happens as a result of running it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — a single four-word fragment that does not earn its place by conveying any actionable information. There is no front-loaded purpose statement beyond the name itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and no parameter documentation, the description must explain what the benchmark does and what the agent gets back; it does neither. An agent has no basis to decide when or why to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify beyond schema; per the scoring baseline for parameterless tools, a 4 is appropriate. No parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name with no added specificity: it does not say what kind of benchmark, what data it runs against, or what 'turn detection' means here. It also fails to distinguish itself from siblings like analyze_turn_status or predict_semantic_closure, all of which operate in the same turn-analysis domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this benchmark versus the sibling diagnostic tools, nor of any prerequisites, inputs, or intended context. At best the word 'benchmark' weakly implies an evaluation/measurement scenario, but nothing is stated explicitly.
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.
4 tool updates
v1.0.1- First observed
analyze_turn_status - First observed
calibrate_acoustic_thresholds - First observed
predict_semantic_closure - First observed
run_benchmark_turn_detection
TDQS
Scored across 4 tools
Each tool targets a clearly distinct action: analyze turn status, calibrate thresholds, predict semantic closure, and run benchmarks. There is no overlapping purpose or ambiguous boundary between them.
All names follow a consistent snake_case verb_noun pattern (analyze_, calibrate_, predict_, run_). The convention is predictable and easy to parse.
Four tools is well-scoped for a focused endpoint-detection skill, covering analysis, calibration, prediction, and benchmarking without bloat.
The surface covers core operations: status analysis, threshold calibration, semantic closure prediction, and benchmarking. A minor gap exists for real-time streaming detection or explicit audio input handling, but agents can work around it.
Maintenance
Related MCP Connectors
MCP-Native LLM Orchestration Agent
Hosted speech-to-text + speech emotion/tone analysis for agents. No install; trial keys built in.
AI call analysis and voice agents for sales teams. Signup, usage, agents and call data over MCP.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables real-time voice activity detection, dynamic silence endpointing, and barge-in interruption for conversational voice agents.8-
- FlicenseNot gradedqualityBmaintenanceEnables low-latency conversational turn-taking and barge-in handling for real-time voice AI interactions, orchestrating speech flow with sub-100ms responsiveness.8-
- FlicenseNot gradedqualityBmaintenanceEnables analysis of acoustic vocal emotion, prosodic valence, and customer frustration from audio inputs through a zero-dependency MCP server.7-
- AlicenseNot gradedqualityBmaintenanceEnables real-time detection of speech turn completion, distinguishing mid-sentence hesitation pauses from finished turns for voice agents and conversational audio pipelines.7MIT