GM

gcorroto/mcp-s2s-asterisk

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 5 forks 质量 66 趋势 15MIT

mcp-s2s-asterisk

概览

Make phone conversations as easy as a prompt! 📞✨ - 🔥 phone_make_call - Make phone calls - 📊 phone_get_status - Get call status - ❌ phone_cancel_call - Cancel calls - 📱 phone_get_active_calls - Active calls - ❤️ phone_health_check - System health - 📊 phone_get_metrics - Advanced metrics - 📝 phone_get_logs - Detailed logs - 🗂️ phone_get_conversation_history - History - 🟢 Node.js >= 18.0.0 - 📦 npm or pnpm - 🔧 TypeScript - 🔐 : Mandatory API Key - 🛡️ : TLS/SSL in transit - 📝 : Complete call auditing - 🔒 : Locally processed data - ✅ : Privacy compliance Do you like the project? We'd love your contribution! - Use it, modify it, distribute it freely Transforming phone communication with conversational AI

README

以下为原文 README 节选,完整内容请查看原文。

🌟 Asterisk S2S MCP Server


🏗️ 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

# 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
在 GitHub 查看完整 README

安装

npx @grec0/mcp-s2s-asterisk@latest
新手?先看 mcpskill.org 教程 →

配置

{ "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" } } } }