Smitline
io.github.kaelorlabsv0.2.1Updated Oct 7, 2026
Make phone calls and join Zoom, Teams and Google Meet meetings from any AI agent. Self-hosted.
Overview
Lets an AI agent place real phone calls and join Zoom, Teams or Google Meet meetings, then report back results and transcripts.
- What it does
- Smitline gives an agent a phone line and a seat in Zoom, Microsoft Teams and Google Meet. The agent writes a brief (goal, what to find out, what it may agree to, what to keep private), Smitline makes the call or joins the meeting, speaks in real time, and returns the outcome, details, action items, transcript and cost to the chat that asked. A local dashboard shows the live transcript and lets the user take over the call.
- When to use it
- Useful when an assistant should handle real-world errands by voice, such as booking a table, calling a tradesperson within a spending limit, or joining a meeting to take notes. It suits users who want calls and meetings driven from their own agent and are willing to self-host.
- Requirements
- Runs locally as a Docker container (Docker Desktop 4.34+ signed in, or Docker Engine on Linux; host networking enabled on Docker Desktop). Needs an OpenAI API key with GPT-Live access and billing, plus a SignalWire account or a funded Twilio account for phone calls. Meetings need no extra account. About 600 MB download plus 1.8 GB on first meeting join. The MCP connection uses an Authorization header token printed by the setup command.
Installation
In SourceWeft
- Open Smitline in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Your agent can make the call.
Phone calls and meetings for any AI agent. Smitline gives your agent a phone line and a seat in Zoom, Microsoft Teams and Google Meet, talks with people in real time, and reports back to the chat that sent it.
[License: Apache-2.0] [Latest version] [Docker image on GHCR] [Listed in the official MCP Registry] [Listed on Smithery] [Listed on Glama]
Get started · How it works · Safety · Docs
What it does
Ask your agent the way you'd ask a good assistant:
"Call Luigi's and book a table for 4 at 7."
"Call the plumber and see if they can come today. Don't agree to more than $150."
"Join my 3 PM Zoom and take notes for me."
Smitline makes the call, talks with whoever answers in a natural voice, and sends the result back to your chat: what happened, the details you need (times, prices, confirmation numbers), decisions, action items, the full transcript, and what the call cost.
- Calls anyone. Restaurants, offices, plumbers, friends, using your own number through your SignalWire or Twilio account.
- Joins meetings. Zoom, Microsoft Teams and Google Meet, as a participant that listens and answers when it's spoken to.
- Works with your agent. Claude Code, Codex, Cursor, Claude Desktop, OpenClaw, Hermes, and anything that can use MCP, a CLI or a REST API.
- Runs on your computer. One Docker container, your own OpenAI and phone keys, open source under Apache-2.0.
How it works
- You ask your agent. It writes a short brief: the goal, what to find out, what it may agree to, and what to keep private.
- Smitline makes the call. It opens with your name and why it's calling, says during the call that it's your AI assistant, and talks in real time using OpenAI's GPT-Live, staying inside the brief.
- You can follow along. The dashboard on your computer shows the live transcript, and you can take the call over on your own phone at any moment.
- The result comes back to the chat that asked: the outcome, the details, action items, the transcript, and the cost.
[A call in progress: Smitline asks a garage when the car will be ready and declines to approve an extra repair the brief didn't allow] [A meeting's result: a summary, attendees, open questions, action items and decisions from a Zoom call]
Left: a call in progress. The garage suggests an extra $160 repair, and Smitline brings it back to you instead of approving it. Right: what comes back after a meeting.
Get started
Paste this into your agent (Claude Code, Codex, Cursor, OpenClaw, Hermes or similar):
Your agent starts Smitline with one Docker command, opens a setup page on your computer for your keys, rings your phone so you can hear it, and connects itself. Your keys go into that page, never into the chat. Your agent may ask you to run the Docker command yourself, because it gives Smitline access to Docker for meetings; that's expected.
What you need
- Docker: Docker Desktop on Mac or Windows (4.34 or newer, signed in), or Docker Engine on Linux. On Docker Desktop, turn on host networking first: Settings > Resources > Network > Enable host networking, then Apply and restart. Without it, the dashboard at 127.0.0.1:8095 never loads.
- OpenAI: an API key with access to GPT-Live (billing turned on).
- For phone calls: a SignalWire account or a funded Twilio account. SignalWire's free trial calls only numbers you verify in SignalWire (up to 10); adding a card and $5 of credit lets it call anyone.
- For meetings: nothing more. Smitline joins through the browser, like a guest.
- Disk space: about 600 MB to download, plus 1.8 GB the first time it joins a meeting.
With these ready, setup takes about 10 minutes.
A call costs about 6 cents a minute with SignalWire: roughly $0.011 for the phone line (plus $0.006 a call) and $0.05 for GPT-Live. A two-minute test call to a plumber cost us 14 cents.
Then just ask: "Call +1 … and …", "Practice the call on me first", or "Join this meeting: <link>". The dashboard is at http://127.0.0.1:8095.
Prefer to set it up yourself?
SETUP.md has every step. Smitline itself is one command:
The Docker socket (-v /var/run/docker.sock…) lets Smitline start its meeting container, and it gives the container control of Docker on your computer, which is close to administrator access. If you only want phone calls, leave it out:
In Git Bash on Windows, put MSYS_NO_PATHCONV=1 in front of the command. Then run docker exec smitline smitline setup secrets to open the setup page.
Find it in MCP directories. Smitline is listed in the official MCP Registry as io.github.kaelorlabs/smitline, on Smithery as kaelorlabs/smitline, and on Glama. Directories that mirror the registry, such as PulseMCP and GitHub's MCP registry, pick it up from there. Each listing points to the same self-hosted container: your keys stay on your computer. See MCP directories.
Safe by default
- Always says it's an AI. Every call opens with who it's for and why ("Hi, I'm calling on behalf of your name about…"), says during the call that it's your AI assistant, and answers honestly whenever someone asks. Smitline checks the whole call and has it said before hanging up.
- Stays inside the brief. It agrees only to what you allowed and never shares what you marked private. Anything else, it brings back to you.
- Guardrails on every call. It never dials emergency or premium-rate numbers, calls only between 8 AM and 9 PM in the other person's time zone, stops calling anyone who asks it to, and limits repeat calls.
- Docker access is your choice. Meetings need Smitline to start its own meeting container, so the setup mounts the Docker socket. Phone calls work without it.
- Your keys and records stay with you. Keys are typed into a page on your computer, and call records and transcripts are stored there too. Audio goes to OpenAI and your phone provider; nothing goes to us, because there is no Smitline server.
More in security and privacy and the phone guardrails.
Limitations
- Phone calls are in daily use through SignalWire. Meetings are tested live in Zoom; Teams and Google Meet use the same runtime but have had less live testing.
- Replies come after a short pause, so a call feels a little slower than talking to a person. Call audio passes through your computer on its way to OpenAI.
- Trial phone accounts call only numbers you verify, and Twilio's free trial can't carry a live call.
- Smitline works while your computer is on; there is no hosted version yet.
- In meetings, guidance goes in the brief before it joins, and it doesn't share or read screens.
Documentation
Contributing
Contributions are welcome. Start with AGENTS.md, written for both people and coding agents, and the development guide. To report a security issue, see SECURITY.md.
If Smitline is useful to you, a star on GitHub helps other people find it.
Credits and license
Created by Lourd Arun Raj and Ankit Luthra at Kaelor Labs. Licensed under the Apache License 2.0.
The meeting browser builds on Joinly (MIT); see THIRD_PARTY.md.
Source: README.md at commit 040d526
Tools
0Version history
1- v0.2.1LatestOct 7, 2026
