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

AI-generated 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.
Before you install
The container can be given the Docker socket, which is close to administrator access on the machine; phone calls work without it. Calls cost money (about 6 cents a minute, plus provider charges) and the OpenAI key is billed. Audio goes to OpenAI and the phone provider. Call records and transcripts are stored locally. The agent can speak on the user's behalf and may commit to things, so briefs should set limits.

Installation

In SourceWeft

  1. Open Smitline in the dashboard and add it to a workspace.
  2. 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

[Smitline]

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

[The Smitline Calls page: spend totals, a list of recent calls, and a finished call to a plumber with its goal, brief and result]

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

  1. 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.
  2. 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.
  3. 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.
  4. 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):

text
Set up Smitline for me from https://github.com/kaelorlabs/smitline. Follow SETUP.md in that repository. Ask me only what you need, and never ask me to paste keys into this chat.

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.

[The Smitline setup page, where keys are typed on this computer instead of into the chat with the agent]

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:

bash
docker run -d --name smitline --restart unless-stopped --network host -v smitline:/data -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/kaelorlabs/smitline

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:

bash
docker run -d --name smitline --restart unless-stopped --network host -v smitline:/data ghcr.io/kaelorlabs/smitline

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

GuideWhat's in it
CallsBriefs, results, costs and the REST API
Phone callsSignalWire and Twilio, guardrails, recording, settings
MeetingsJoining Zoom, Teams and Meet, and the meetings console
AgentsMCP, the CLI, SDKs, and the remote connector for cloud agents
MCP directoriesWhere Smitline is listed, and publishing a release there
Security and privacyWhat stays local, what goes where, and how it's protected
ArchitectureHow the pieces fit together
DevelopmentRunning from a checkout, tests, project layout
TroubleshootingCommon problems and fixes
RoadmapWhat's next

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

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.2.1LatestOct 7, 2026