comsync-claudius
v1.0.0
Published
Let Claude call you when it's done coding. Voice callbacks for Claude Code.
Downloads
10
Maintainers
Readme
Claude Voice Callback MCP Server
An MCP (Model Context Protocol) server that enables Claude to call users back after completing long-horizon tasks, delivering results and receiving next instructions via voice.
The Problem
When Claude works on long-horizon tasks (refactoring large codebases, multi-step research, complex debugging), users have to:
- Stay at their terminal watching progress
- Periodically check if Claude is done
- Context-switch repeatedly between their work and Claude
The solution: User says "call me when you're done", walks away, and Claude calls them with results.
Installation
npm install claude-voice-callbackOr use directly with npx:
npx claude-voice-callbackConfiguration
Add to your Claude Code MCP configuration (~/.claude/mcp.json or project-level .mcp.json):
{
"mcpServers": {
"voice-callback": {
"command": "npx",
"args": ["claude-voice-callback"],
"env": {
"VOICE_CALLBACK_API_URL": "https://your-backend.com/api/voice_callback",
"VOICE_CALLBACK_API_KEY": "your-api-key"
}
}
}
}Tools
voice_callback_register
Register a phone number for voice callbacks at the start of a session.
Parameters:
phone_number(required): Phone number in E.164 format (e.g., +15551234567)client_info(optional): Metadata about the client
Example:
Claude: I'll register your phone number for callbacks.
[Uses voice_callback_register with phone_number: "+15551234567"]voice_callback_notify
Call the user with a summary of completed work and an optional question.
Parameters:
summary(required): What Claude accomplished (read aloud by Claudius)question(optional): Question to ask the user
Example:
Claude: I've finished the refactoring. Let me call you with the results.
[Uses voice_callback_notify with summary: "I've refactored the auth module..."]voice_callback_await
Wait for the user's voice response after initiating a call.
Parameters:
timeout_minutes(optional): Max wait time in minutes (default: 5)
Returns:
response: Transcribed user response (if answered)no_answer: Boolean if user didn't answerwaiting: Boolean if still waiting
voice_callback_end
End the callback session when done.
Example Usage
User: "My number is 555-123-4567. Refactor the database layer
to use connection pooling. Call me when done."
Claude:
1. Registers phone: voice_callback_register("+15551234567")
2. Works on task (15-30 minutes)
3. Calls user: voice_callback_notify(
summary: "I've implemented connection pooling across 8 files...",
question: "Should I commit this, or run load tests first?"
)
4. Waits for response: voice_callback_await()
5. Receives: "Run the load tests and then commit if they pass"
6. Continues working...
7. Ends session: voice_callback_end()Backend Requirements
This MCP server requires a backend service that handles:
- Session management
- Twilio integration for outgoing calls
- Ultravox integration for voice AI
- Webhook handling for call events
See the main repository for backend deployment options.
Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| VOICE_CALLBACK_API_URL | Backend API base URL | http://localhost:8000/api/voice_callback |
| VOICE_CALLBACK_API_KEY | API key for authentication | (none) |
License
MIT
