JUHE API Marketplace
gcorroto avatar
MCP Server

Asterisk S2S MCP Server

MCP Server for automated conversational phone calls using Asterisk with Speech-to-Speech capabilities, allowing users to make phone conversations as easily as writing a prompt.

3
GitHub Stars
11/18/2025
Last Updated
MCP Server Configuration
1{
2 "name": "asterisk-s2s",
3 "command": "npx",
4 "args": [
5 "@grec0/mcp-s2s-asterisk@latest"
6 ],
7 "env": {
8 "PHONE_API_URL": "http://192.168.4.44: 8000",
9 "PHONE_API_KEY": "api-key",
10 "MCP_CALLBACK_URL": "http://localhost: 3000"
11 }
12}
JSON12 lines
  1. Home
  2. MCP Servers
  3. mcp-s2s-asterisk

README Documentation

🌟 Asterisk S2S MCP Server

πŸš€ MCP Server for automated conversational phone calls using Asterisk with Speech-to-Speech

Make phone conversations as easy as a prompt! πŸ“žβœ¨


πŸ—οΈ System Architecture

graph TB
    subgraph "MCP Client"
        A[Claude Desktop] --> B[MCP Client]
    end
    
    subgraph "MCP Server"
        B --> C[Asterisk S2S MCP]
        C --> D[Phone Tools]
        C --> E[Real-time Assistant]
    end
    
    subgraph "Backend Services"
        D --> F[Asterisk Server]
        E --> G[Speech-to-Speech API]
        F --> H[Phone Network]
    end
    
    subgraph "Monitoring"
        C --> I[Health Check]
        C --> J[Metrics & Logs]
        C --> K[Call History]
    end
    
    style A fill:#e1f5fe
    style C fill:#f3e5f5
    style F fill:#fff3e0
    style G fill:#e8f5e8

πŸ“ž Phone Call Flow

sequenceDiagram
    participant U as User
    participant C as Claude/MCP
    participant S as MCP Server
    participant A as Asterisk API
    participant P as Phone
    
    U->>C: "Call John to remind about appointment"
    C->>S: phone_make_call()
    S->>A: POST /make-call
    A->>P: Initiate call
    P-->>A: Connection established
    A-->>S: CallID + Status
    S-->>C: Call initiated βœ…
    C-->>U: "πŸ“ž Call started with John"
    
    Note over A,P: Real-time S2S conversation
    
    A->>S: Callback with result
    S->>S: Process transcript
    U->>C: "How did the call go?"
    C->>S: phone_get_last_result()
    S-->>C: Detailed result
    C-->>U: "βœ… John confirmed the appointment"

πŸ› οΈ MCP Components

mindmap
  root((Asterisk S2S MCP))
    Core Tools
      phone_make_call
      phone_get_status
      phone_cancel_call
    Monitoring
      phone_health_check
      phone_get_metrics
      phone_get_logs
    History
      phone_get_conversation_history
      phone_get_active_calls
      phone_get_last_result
    Configuration
      Environment Variables
      MCP Client Config
      Asterisk Integration

πŸš€ Installation & Usage

🎯 Option 1: NPX (Recommended)

# One command and you're ready! πŸš€
npx @grec0/mcp-s2s-asterisk@latest

πŸ”§ Option 2: Global Installation

npm install -g @grec0/mcp-s2s-asterisk
mcp-s2s-asterisk

βš™οΈ Step-by-Step Configuration

flowchart LR
    A[1. Install MCP] --> B[2. Configure Variables]
    B --> C[3. Configure MCP Client]
    C --> D[4. Ready to use! πŸŽ‰]
    
    style A fill:#ffcdd2
    style B fill:#fff3e0
    style C fill:#e8f5e8
    style D fill:#e1f5fe

πŸ” Environment Variables

# 🌐 Asterisk API URL
export PHONE_API_URL="http://192.168.4.44:8000"

# πŸ”‘ Authentication key
export PHONE_API_KEY="api-key"

# πŸ”„ Callback URL for results
export MCP_CALLBACK_URL="http://localhost:3000"

πŸ“± MCP Client Configuration

{
  "mcpServers": {
    "asterisk-s2s": {
      "command": "npx",
      "args": ["@grec0/mcp-s2s-asterisk@latest"],
      "env": {
        "PHONE_API_URL": "http://192.168.4.44:8000",
        "PHONE_API_KEY": "api-key",
        "MCP_CALLBACK_URL": "http://localhost:3000"
      }
    }
  }
}

🧰 Available Tools

πŸ“ž Calls

  • πŸ”₯ phone_make_call - Make phone calls
  • πŸ“Š phone_get_status - Get call status
  • ❌ phone_cancel_call - Cancel calls
  • πŸ“± phone_get_active_calls - Active calls

πŸ“ˆ Monitoring

  • ❀️ phone_health_check - System health
  • πŸ“Š phone_get_metrics - Advanced metrics
  • πŸ“ phone_get_logs - Detailed logs
  • πŸ—‚οΈ phone_get_conversation_history - History

πŸ’‘ Use Cases

graph LR
    subgraph "Automation"
        A[Appointment<br/>Reminders] 
        B[Booking<br/>Confirmations]
        C[Automated<br/>Surveys]
    end
    
    subgraph "Support"
        D[Customer<br/>Service]
        E[Ticket<br/>Follow-up]
        F[Data<br/>Verification]
    end
    
    subgraph "Sales"
        G[Automated<br/>Prospecting]
        H[Lead<br/>Follow-up]
        I[Customer<br/>Qualification]
    end
    
    style A fill:#ffcdd2
    style B fill:#f8bbd9
    style C fill:#e1bee7
    style D fill:#c5cae9
    style E fill:#bbdefb
    style F fill:#b3e5fc
    style G fill:#b2dfdb
    style H fill:#c8e6c9
    style I fill:#dcedc8

πŸ”„ Call States

stateDiagram-v2
    [*] --> Starting
    Starting --> Connecting: API Request
    Connecting --> Speaking: Connection OK
    Connecting --> Failed: No answer
    Speaking --> Completed: Conversation OK
    Speaking --> Cancelled: User Cancel
    Completed --> [*]
    Failed --> [*]
    Cancelled --> [*]
    
    note right of Speaking : Real-time<br/>Speech-to-Speech
    note right of Completed : Result processed<br/>and saved

πŸ“– Complete Usage Example

🎬 Scenario: Medical Appointment Confirmation

// 1️⃣ User tells Claude:
"Call MarΓ­a GonzΓ‘lez at 555-0123 to confirm her appointment tomorrow at 3pm"

// 2️⃣ Claude automatically uses:
phone_make_call({
  usuario: "MarΓ­a GonzΓ‘lez",
  telefono: "555-0123", 
  proposito: "Confirm medical appointment for tomorrow 3pm",
  timeout: 60
})

// 3️⃣ Automatic result:
"βœ… Call completed. MarΓ­a confirmed her appointment for tomorrow at 3pm. 
She also asked to change the time to 2:30pm if possible."

🚦 Monitoring Dashboard

pie title Call Distribution by Status
    "Completed" : 65
    "In Progress" : 15
    "Failed" : 12
    "Cancelled" : 8
xychart-beta
    title "Daily Calls (Last Week)"
    x-axis [Mon, Tue, Wed, Thu, Fri, Sat, Sun]
    y-axis "Number of Calls" 0 --> 50
    bar [23, 34, 28, 41, 38, 15, 8]

πŸ”§ Local Development

πŸ“‹ Requirements

  • 🟒 Node.js >= 18.0.0
  • πŸ“¦ npm or pnpm
  • πŸ”§ TypeScript

πŸ› οΈ Quick Setup

# πŸ“₯ Clone repository
git clone <repository-url>
cd mcp-s2s-asterisk

# πŸ“¦ Install dependencies  
npm install

# πŸ”¨ Build project
npm run build

# πŸš€ Run server
npm run start

πŸ“‹ Available Scripts

ScriptDescriptionCommand
πŸ”¨Compile TypeScriptnpm run build
πŸ‘€Development modenpm run dev
πŸ§ͺRun testsnpm run test
πŸ”MCP Inspectornpm run inspector
πŸ“¦Release patchnpm run release:patch

πŸ“Š Performance Metrics

graph TB
    subgraph "Response Time"
        A[Connection: ~2s]
        B[Establishment: ~3s] 
        C[Conversation: Variable]
        D[Processing: ~1s]
    end
    
    subgraph "Success Rates"
        E[Connection: 95%]
        F[Completed: 87%]
        G[Satisfaction: 92%]
    end
    
    style E fill:#c8e6c9
    style F fill:#c8e6c9
    style G fill:#c8e6c9

πŸ”’ Security & Compliance

  • πŸ” Authentication: Mandatory API Key
  • πŸ›‘οΈ Encryption: TLS/SSL in transit
  • πŸ“ Logs: Complete call auditing
  • πŸ”’ Privacy: Locally processed data
  • βœ… GDPR: Privacy compliance

🀝 Contributing

Do you like the project? We'd love your contribution!


πŸ“„ License

MIT License - Use it, modify it, distribute it freely


🌟 Give it a star if you like the project! ⭐

Made with ❀️ by @grec0

Transforming phone communication with conversational AI

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.ai
Copyright Β© 2025 - All rights reserved