by mutonby
Let your AI agents call your phone over VoIP, and call them back. Your phone rings like a real call, even locked; a voice AI talks it through and returns the transcript. Self-hosted, open source, no phone numbers or Twilio.
# Add to your Claude Code skills
git clone https://github.com/mutonby/agentringSee how agentring compares with popular alternatives.
agentring is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mutonby. Let your AI agents call your phone over VoIP, and call them back. Your phone rings like a real call, even locked; a voice AI talks it through and returns the transcript. Self-hosted, open source, no phone numbers or Twilio. It has 65 GitHub stars.
agentring's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/mutonby/agentring" and add it to your Claude Code skills directory (see the Installation section above).
agentring is primarily written in Kotlin. It is open-source under mutonby on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh agentring against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Your AI agent can call you. When it needs a decision, hits a wall or finishes a long job, your phone rings like a real call, even locked and in Doze. A voice AI tells you what's going on, you talk it through, and the agent gets the transcript and carries on. You can also call your agents back from the app and ask them things by voice.
Self-hosted and open source. No phone numbers, no Twilio, no per-minute fees: calls go over VoIP from your own server to your own phone.
https://github.com/user-attachments/assets/4d925f22-727f-4d66-8665-c392cc3d1eb3
Sound on. A real run with Claude Code, a Pixel 6 and the voice AI: a migration fails, Claude Code calls the locked phone, you decide, it carries on. The phone is a screen recording with the call audio (the ringtone was added), the terminal is redrawn from Claude Code's output, and only the waits were cut. Silent version: demo.gif.
Pre-release. Messages, calls on a locked phone, the voice AI, calling your agent from the app and the MCP server all work. So far it has been tested on one phone (Pixel 6, Android 16). Android only for now.
send_message, get_replies, call). On a call, a voice AI explains why the
agent is calling, answers your questions and hands the transcript back.Things people use it for: "run the migration and call me if anything fails", "ask me before you deploy", "what did CI say?" while driving, a daily call with your assistant about your inbox.
agentring doesn't care which harness you use: anything that speaks MCP can reach you, and anything you can run as a command can be consulted from a call.
| Reaches you | You consult it from a call | |
|---|---|---|
| Claude Code | MCP | claude -p |
| Codex | MCP | codex exec |
| opencode | MCP | opencode run |
| OpenClaw | MCP | openclaw agent |
| Hermes | MCP | hermes -z |
| n8n, scripts, anything with HTTP | REST API, CLI | any command, or a small script for an HTTP agent |
Copy-paste setup for each: docs/agents.md.
your agent ──MCP/CLI──▶ daemon ──WSS (outbound only)──▶ relay ──FCM push──▶ Android app
▲ │ (your server) │
└── agents.yaml ◀── voice AI (Gemini Live) ◀───── LiveKit (call audio) ───────┘
agentring CLI, the MCP server and the voice AI. Runs next
to your agents, behind NAT is fine.The voice AI is the voice, your agent is the brain: Gemini Live handles the conversation in real time and hands real work to your agents.
More: architecture · protocol · voice AI
You need:
# 1. The relay, on a server with a domain (ports 80, 443, UDP 50000-50100 and TCP 7881 open)
cd deploy && cp .env.example .env && $EDITOR .env && docker compose up -d --build
# ... or on your own computer, at its LAN or Tailscale IP
cd deploy && cp .env.local.example .env.local && $EDITOR .env.local \
&& docker compose -f docker-compose.local.yml --env-file .env.local up -d --build
docker compose logs relay | grep -A2 "API key" # add the same -f/--env-file for the local one
# 2. The computer where your agent runs
uv tool install './daemon[voice]'
agentring init --relay https://relay.example.com --api-key ak_...
agentring pair # scan the QR code with the app
agentring msg "hello" # the phone gets a notification
echo GEMINI_API_KEY=... >> ~/.agentring/.env
agentring call "Testing agentring" --ai
# 3. Your agent (Claude Code here; others: docs/agents.md)
claude mcp add agentring -- agentring mcp
Get the app from Releases. The full tutorial, step by step for both options and with a troubleshooting table: docs/setup.md. If the phone doesn't ring when locked, it's usually the vendor's battery saver: docs/troubleshooting-oem.md.
Everything runs on your own servers and accounts. Messages and call metadata are stored on your relay. Push notifications go through your own Firebase project; they are signed, not encrypted, so Google's FCM can read pushed text. Call audio goes through your LiveKit server and, with the voice AI, to Gemini; on Google's free tier, Google may use that data to improve its products.
Over the phone, the voice AI acts on what it hears, so give it only the tools and agents you'd trust someone holding your phone with. Details and the threat model: SECURITY.md.
RealtimeBackend.cd relay && npm ci && npm test # relay
cd daemon && uv run --extra voice pytest # daemon (+ e2e against the relay build)
cd app-android && ./gradlew :core:test :app:assembleDebug
CI builds the APK and runs an end-to-end test on an Android emulator against a real relay. See CONTRIBUTING.md and docs/release.md.