Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
- hd-audio
- cli
- pygments
- mcp
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
Expand Down
44 changes: 44 additions & 0 deletions docs/mcp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# MCP Server

The `voip` package ships a ready-made [Model Context Protocol (MCP)][MCP] server that
exposes `say` and `call` tools so that any MCP client (e.g. Claude Code) can make phone
calls on your behalf.

[MCP]: https://modelcontextprotocol.io/

## Claude Code setup

Add the server to your MCP config (see [Claude Code MCP docs][cc-mcp]):

```json
{
"mcpServers": {
"voip": {
"command": "voip",
"args": ["mcp"],
"env": {
"SIP_AOR": "sip:youruser@carrier.example"
}
}
}
}
```

Set `SIP_AOR` to your SIP address-of-record. The transport (TLS vs TCP) and proxy
address are derived from the URI automatically.

[cc-mcp]: https://docs.anthropic.com/en/docs/claude-code/mcp

## Tools

::: voip.mcp.say

::: voip.mcp.call

## Session lifecycle

::: voip.mcp.run

::: voip.mcp.HangupDialog

::: voip.mcp.MCPAgentCall
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ nav:
- Sessions: sessions.md
- SIP: sip.md
- Codecs: codecs.md
- MCP Server: mcp.md
- Features:
- Feature Roadmap: feature_roadmap.md
- Contributing: contributing.md
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ dependencies = ["cryptography"]
audio = ["numpy"]
hd-audio = ["numpy", "av"]
ai = ["faster-whisper", "numpy", "av", "ollama", "pocket-tts"]
mcp = ["fastmcp", "faster-whisper", "numpy", "av", "pocket-tts"]
cli = ["click", "pygments", "faster-whisper", "numpy", "ollama", "pocket-tts"]
pygments = ["Pygments"]

Expand Down
Loading
Loading