Skip to main content
Glama
calebn
by calebn

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PODCAST_WHISPER_MODELNoWhisper model to use as the machine default (e.g. small.en).
PODCAST_MCP_NISQA_MODELNoPath to an unpacked NISQA weights directory if neural NISQA is needed.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
episode_createD
track_addD
track_add_empty_toolD
track_set_media_toolD
track_set_meta_toolD
track_remove_toolD
track_reorder_toolD
transcribe_trackD
get_transcriptD
export_transcriptD
precorrect_transcript_toolD
transcript_refine_status_toolD
transcript_refine_brief_toolD
transcript_refine_done_toolD
transcript_refine_waive_toolD
align_status_toolD
align_brief_toolD
align_done_toolD
align_waive_toolD
build_edit_contextD
search_transcript_toolD
cut_time_range_toolD
cut_text_match_toolD
cut_utterance_toolD
cut_words_toolD
apply_edit_plan_toolD
preview_inaudible_cut_toolA

Dry-run local inaudible-cut snap (~±80ms) for a proposed range.

Not a multi-second narrative handoff planner. For leave-a-beat / clean-up-the- transition / punchline-to-pivot bounds use suggest_handoff_cut_tool.

suggest_handoff_cut_toolA

Propose retain-then-snap ripple bounds for a narrative handoff.

Use when cleaning up a transition, leaving a beat, or punchline-to-pivot — not word timestamps and not preview_inaudible_cut_tool (local snap + ~0.4s absorb). Times are timeline seconds. Keeps about retain_sec of existing air on each keep, snaps onto RMS silence islands (not transcript gaps), and returns use_inaudible_opt: false — lock those bounds on ripple_delete_tool.

join_quality_toolD
join_qa_sweep_toolD
join_label_toolD
list_edit_decisions_toolD
approve_edits_toolD
reject_edits_toolD
update_pending_edit_toolD
revert_applied_edit_toolD
edit_impact_report_toolD
propose_editsA

Propose filler/pause tighten edits for review (does not apply them).

Returns a JSON object {operation, edits, skip_counts, summary} (not a bare array — breaking vs older list-of-decisions clients). operation is propose_edits. skip_counts maps discourse:{token} to kept uses. edit_mode is ripple (default, from tighten.edit_mode) or mute. Mute proposes EditDecisionType.MUTE filler hits and skips pause candidates (muting a pause is a no-op). Pipeline auto-tighten stays off; listen-first review before apply_edits / approve_edits. Not NL cut-by-text (cut_* tools) or narrative focus (focus tools).

apply_editsD
strip_silence_toolC

Rebuild a track from speech islands between detected silences.

use_inaudible_opt is accepted for API compatibility but ignored.

ripple_delete_toolA

Ripple-delete a timeline range across dialogue tracks.

Default inaudible opt absorbs trailing quiet air to ~0.4s before the next word. For punchline-to-pivot / leave-a-beat handoffs, call suggest_handoff_cut_tool first and pass use_inaudible_opt=false so local snap does not pull mid-silence bounds onto speech.

ripple_delete_text_toolD
move_segment_toolD
move_clips_toolA

Move clips in session time and/or onto another track (no neighbor ripple).

clips_json is a JSON array of {clip_id, timeline_start, track_id}. Inter-track moves keep the originating media via source_id. Unlike move_segment_tool, this does not cut a range on every dialogue lane.

move_by_text_toolD
insert_gap_toolA

Open pure silence on the timeline (split + shift).

Do not use to fake a beat after a tight handoff unless the user asks — prefer keeping existing room tone via suggest_handoff_cut_tool bounds.

fade_joins_toolD
crossfade_joins_toolD
set_clip_fade_toolD
set_join_mode_toolC

Set join_in_mode on one clip: fade | crossfade | cut (TOOL_TIMEBASE: na).

shorten_gaps_toolD
split_clip_toolA

Split clip(s) at a timeline timecode.

Pass track_ids_json as a JSON array for multi-track blade cuts. When omitted, uses track_id / speaker, or all dialogue tracks. Submits SplitAtTime on the document plane (same path as Sharecut Studio blade).

duplicate_segment_toolD
list_clips_toolD
list_applied_edits_toolD
render_status_toolD
fill_with_room_tone_toolD
add_chapter_toolD
remove_chapter_toolD
list_chapters_toolD
check_loudness_toolD
correct_transcript_toolD
correct_transcript_phrase_toolD
set_word_suppressed_toolC

Toggle suppressed on one per-track word (TOOL_TIMEBASE: source).

apply_transcript_cleanup_toolB

Batch word + phrase fixes in one undoable history step.

JSON: {"words": [{word_index, text}], "phrases": [{start_word_index, end_word_index, text}]}

low_confidence_words_toolD
verify_transcript_toolD
add_effect_toolD
remove_effect_toolD
set_effect_bypass_toolC

Toggle bypass on one chain effect by index (TOOL_TIMEBASE: na).

list_effects_toolD
analyze_cleanup_toolD
audio_diagnostics_toolD
recommend_fades_toolD
apply_fade_recommendations_toolD
low_audibility_words_toolD
apply_low_audibility_suppression_toolD
gate_overreach_toolD
audibility_map_toolD
flagged_words_toolD
reconciliation_status_toolD
reconcile_transcript_toolD
bleed_words_toolD
apply_bleed_suppression_toolD
overlap_duplicates_toolD
apply_transcript_gate_toolD
propose_social_clips_toolD
list_social_clips_toolD
approve_social_clips_toolD
reject_social_clips_toolD
social_clip_report_toolD
export_social_clips_toolD
add_comment_toolA

Add a timeline review comment (instant or span).

Times are timeline seconds (session/deliverable clock), like chapters - not source-media time. Use search_transcript_tool's timeline_start/end when anchoring to dialogue. track_ids_json / action_texts_json are JSON arrays of strings (optional). Empty track_ids = session-wide. Undoable via history. Pass edit_decision_id to open the single Ask thread for a pending cut (unique per decision; later notes must use add_comment_reply_tool).

list_comments_toolA

List timeline review comments sorted by timeline_start.

Pass include_resolved=false for an agent work queue, or open_actions_only=true for incomplete action items. Each row includes id, body, author, track_ids, action_items, resolved_*.

get_comment_toolA

Fetch one timeline comment by id (full action_items and resolve metadata).

update_comment_toolC

Update comment body, tracks, and/or timeline anchor. Times are timeline seconds.

resolve_comment_toolA

Mark a comment resolved (or reopen with resolved=false).

Always pass by= identity (e.g. "agent" or the human name). Records resolved_by / resolved_at. Prefer resolving after action items are done.

add_comment_action_toolC

Append an action item TODO to an existing comment.

add_comment_reply_toolA

Append a flat reply under an existing timeline comment (threaded discussion).

set_comment_action_done_toolB

Check or uncheck a comment action item; records completed_by / completed_at.

Agents should pass by="agent" (or a stable agent label) when finishing work.

delete_comment_toolA

Delete a timeline review comment (undoable via history).

publish_review_version_toolA

Freeze the current premix/mastered mix as a review version under artifacts/review/.

Comments created while a version is active stamp review_version_id. prefer: "premix" (default) or "mastered".

list_review_versions_toolB

List frozen review mix versions (includes active flag).

set_active_review_version_toolA

Set or clear review.active_version_id (pass null/omit to clear).

pipeline_runA

Run the production pipeline. Optional skip_steps_json / config_json override yaml.

When use_working_set is true (default), also reads/writes the GUI session working set so agents and Sharecut Studio share the same visible config. Omit unattended to leave the working-set Batch mode unchanged.

pipeline_get_config_toolA

Return effective pipeline config, step metadata, and param schema (same as GUI).

pipeline_set_config_toolC

Update the shared GUI/agent pipeline working set (visible params).

pipeline_analyze_toolC

Heuristic Analyze: propose pipeline param patches from audio diagnostics.

set_envelopeD
render_previewD
render_finalD
export_audio_toolC

Encode mastered audio to export/ using pipeline.yaml formats or a JSON override.

bounce_audio_toolA

Bounce selected (or all) stems to export/bounces/ without mastering.

Times are timeline seconds. track_ids_json is a JSON string array, or omit for all non-muted mixable tracks. formats_json is a JSON array of extensions (e.g. ["wav","mp3"]); default wav only.

history_undoD
history_redoD
history_listD
history_status_toolD
history_goto_toolD
history_diff_toolD
history_recordD
play_audio_toolC

Extract and optionally play audio (processed:, track:, premix, export).

play_transcript_query_toolC

Search transcript for query and play that span (NL: play where they talk about X).

audition_context_toolB

Caption each dialogue track in a timeline window + clip-skew / render freshness.

detail: summary (default) includes comments, active effects, edits, and windowed hum/clip hypotheses; full expands edit/comment payloads; visual adds waveform/spectrogram PNGs (slower). Returns audition_context.v2 (typed hypotheses, suggested_listen, explicit clocks). Times are timeline (session) seconds. Does not play audio.

play_compose_toolB

Mix selected tracks for a timeline window and optionally play (no project mutation).

tier is processed (edits+FX stems) or raw (source media). Times are timeline (session) seconds. Does not change mute/solo/FX on the project.

play_ab_toolA

Extract the same range at two history indices, then play A→gap→B once.

Prefer this over history_goto → play → goto → play for before/after probes. Leaves the history cursor on after_index. Default gap is 0.4s.

play_ab_wavs_toolB

Play two existing WAVs back-to-back with a short silence gap (one concat).

play_pending_preview_toolB

Hear Current vs Suggested (skip-span) vs A/B for a pending session remove.

Suggested concatenates pad-before + pad-after so the cut is gone. Splits and track-scope punches are not skippable. Does not mutate the project.

record_state_toolA

Read the live recording-room snapshot (roster, take clock, consent).

record_start_toolB

Host Start for the current record room (blocked until guests consent).

record_pause_toolC

Host Pause for the current take.

record_resume_toolD

Host Resume for a paused take.

record_stop_toolD

Host Stop for the current take.

record_land_toolC

Copy ACK'd keepers into raw/ and land live comments on the timeline.

record_discard_take_toolC

Delete a terminal take (refused while its upload manifest is in flight).

get_session_state_toolA

Read shared DAW/agent session state (playhead, region, mode, selection).

get_session_presence_toolB

Who is in the Sharecut Studio session: display names, cursor, selection, viewport, transport, follow relationships.

seek_session_toolB

Seek the open DAW playhead (no OS audio). Optional selection_json highlights a modifier.

set_session_selection_toolC

Highlight a DAW modifier: {kind, id?, track_id?, time?} or null to clear.

set_session_playing_toolB

Start or pause DAW browser transport (no OS audio).

stop_session_toolC

Pause DAW transport and clear the highlight region.

set_session_mode_toolA

Set DAW audition mode: mix | fx | raw.

set_session_region_toolC

Highlight a timeline region in the DAW; optionally start browser playback.

ingest_import_folder_toolC

Scan a recorder export folder and write ingest.yaml (audio-only, no copy).

ingest_suggest_alignment_toolC

Propose session_start offsets for multitrack ingest before consolidate.

ingest_verify_alignment_toolC

Audit consolidated dialogue tracks with VAD overlap on a timeline window.

play_compare_toolC

Play each dialogue track then premix for the same timeline range.

speaker_doctor_toolD
speaker_enroll_toolD
speaker_profiles_toolD
speaker_score_toolD
speaker_compare_window_toolD
speaker_compare_pair_toolD
speaker_label_toolD
speaker_set_count_toolD
speaker_attribute_toolD
speaker_gate_track_toolD
open_gui_toolA

Start the read-only DAW web viewer (background) and return its URL.

Idempotent: if a healthy viewer is already listening on host:port, reuses it and optionally opens the browser to this project. Requires the gui extra (uv sync --extra gui) and a built gui/web dist for the HTML UI.

create_review_share_toolA

Create a review share URL (Anyone with the link by default).

role: optional Docs-like preset viewer|commenter|editor (overrides capabilities). capabilities: comma-separated play,view,comment,reply,action,suggest,edit,mcp. with_mcp: also grant capability-scoped remote MCP ({base}/mcp/{token}/mcp). general_access: link (default) or restricted (ACL + sign-in). require_sign_in: force login even on link shares. invite_emails: comma-separated emails to add to the ACL.

create_record_room_toolC

Mint a recording room: guest + producer /rec/ links (design: docs/recording-session.md).

revoke_record_room_toolC

End a recording room: revoke guest and producer tokens.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

D1.7/5.0

Scored across 160 tools

Disambiguation2/5

Several clusters overlap heavily (cut_time_range vs ripple_delete vs strip_silence; correct_transcript vs apply_transcript_cleanup vs reconcile_transcript; multiple speaker_* and play_* tools), and many tools have empty descriptions, so an agent cannot reliably pick the right one. The few descriptive entries (e.g. preview_inaudible_cut vs suggest_handoff_cut) show the set can disambiguate, but most tools lack that clarity.

Naming Consistency2/5

Names mix noun_verb patterns (track_add, history_undo, pipeline_run) with verb_noun patterns (add_effect_tool, list_clips_tool, create_review_share_tool), and the _tool suffix is applied inconsistently (track_remove_tool vs track_add, add_comment vs delete_comment_tool). This makes the naming pattern unpredictable even though everything is lower_snake_case.

Tool Count1/5

160 tools is an extreme count for a single MCP server and far beyond the 3-15 well-scoped range. The surface could be split into focused sub-servers (editing, transcript, review, recording, session) or consolidated into compound operations; as-is it will overwhelm context and selection.

Completeness4/5

The tool surface is exceptionally broad for podcast production—ingest, transcription, editing, mixing, review, history, session control, recording, and social clips are all covered. Minor gaps remain (e.g., episode lifecycle is only episode_create, no track listing, no effect parameter updates), but agents can usually work around them.

Maintenance

ActivityMaintained
ResponsivenessResponsive