InterLogue
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| briefA | Start here. Brief InterLogue the way an editor briefs a reporter: who the subject is, which client and product the case study is for, the topic, and the angle. The angle decides which questions get asked and what the piece emphasizes; it never changes what the subject is portrayed as having said. Saves the brief and returns a brief_id plus the question plan. Nobody is contacted at this step. Next step: approve_contact. |
| approve_contactA | A human records that InterLogue may contact exactly this person at exactly this number for this brief. This is the no-cold-outreach gate: run_interview refuses to proceed without a matching record. The name and number must match the brief. Re-approving with identical values returns the existing record; different values are refused. Next step: run_interview. |
| run_interviewA | Runs the interview step of the spine on text: either a named fixture transcript or inline turns. Refuses unless a human approval for this brief's exact person and number is on file (the same gate a real dial would need). Checks that the agent disclosed it is an AI and asked permission to record at the top of the call, then saves the transcript. Transcripts are append-only. No phone call is placed in this build. Next step: generate_piece. |
| place_callA | Places one real outbound call to the brief's subject through the ElevenLabs agent over Twilio. Refused unless a human approval for this exact person and number is on file. The agent opens by stating it is an AI and asking permission to record. Returns at once with the conversation id; call fetch_transcript to wait for the transcript. Requires ELEVENLABS_API_KEY, ELEVENLABS_AGENT_ID and ELEVENLABS_PHONE_NUMBER_ID in the server's environment. |
| fetch_transcriptA | Step 2 of the phone path. Waits for the placed call to end (up to about three minutes per call), then fetches the transcript from ElevenLabs, normalizes it to timestamped turns, runs the consent check (AI disclosure, permission to record, the subject's yes), and stores it against the brief. If the call is still running it answers STILL IN PROGRESS: call it again, as many times as needed, until it answers TRANSCRIPT STORED. A ten-minute interview needs about four calls. Then: draft_piece. |
| draft_pieceA | Returns everything needed to write the published piece from the transcript: the brief and angle, the question plan, a strict writing contract, ranked verbatim quote candidates each with its timestamp, and the full timestamped transcript. You (the host) write the story first, then pull quotes, in markdown, and submit it to check_citations. Every quoted span must be verbatim from a subject turn and followed by its (MM:SS). Nothing is published until the check passes. |
| check_citationsA | Validates that every quoted span resolves to a subject turn at the cited timestamp. With piece_id it re-checks a stored piece. With brief_id and markdown it checks a host-written piece: section order (story, then pull quotes), every quote verbatim and timestamped, no numbers outside quotes, no repeated frames. A clean pass persists the piece as a draft for human review and returns its piece_id. A fail returns every failing span with the closest matching turn so you can fix and resubmit; nothing is persisted on a fail. |
| generate_pieceA | FALLBACK writer, used when no host is writing (for example |
| statusA | Reports which of brief, human approval, transcript and generated pieces exist for a brief_id, and names the next tool to call. Spine: brief -> approve_contact -> run_interview -> generate_piece -> check_citations. |
| discover_contactsA | Cut-list stub. Automated contact discovery is not implemented and will not find, suggest or look up anyone. Explains what to do instead. |
| question_templatesA | Cut-list stub. There is one genre, customer case study, and its questions come from the brief tool's angle-driven plan. Any genre passed here gets the same answer. |
| download_recordingA | Cut-list stub. No audio is fetched or stored by this build; the timestamped transcript is the record. Any transcript_id gets the same answer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Tools mostly map to distinct steps in a linear interview spine, but there is a potential confusion between the simulated text path (run_interview) and the real phone path (place_call + fetch_transcript), and between the fallback writer (generate_piece) and the preferred writer flow (draft_piece + check_citations). Fortunately, the descriptions explicitly clarify these boundaries, which mitigates the overlap.
The names are mostly snake_case verb_noun (e.g., approve_contact, run_interview, fetch_transcript, check_citations). A few names are nouns or noun phrases (brief, question_templates, status), which is a minor deviation but still readable and consistent with the domain.
With 12 tools, the count is not unreasonable, but three stubs (question_templates, download_recording, discover_contacts) are explicitly cut-list placeholders that add no real functionality and dilute the set. The remaining tools feel appropriately scoped for the interview workflow.
The surface covers the full spine from brief to approval to interview to piece generation and citation checking, with status reporting. However, the stubs represent unimplemented features, and there is no tool to update or delete briefs or transcripts, though the workflow may not require them.