README.markdownā¢2.42 kB
# š± Sinch MCP GPT SMS Server
An AI-native SMS assistant powered by GPT and MessageMedia ā now with a live SMS report dashboard!
## ā
Features
- Send and receive SMS via GPT
- View full SMS conversation history
- Auto-reply via GPT using webhook
- Contextual memory per phone number
- MCP-compliant with `/meta` and `/function-schema`
- LangChain agent integration
- š Live SMS Report Dashboard (NEW!)
## š Live Dashboard Preview
Below is a screenshot of the embedded high bar chart showing SMS volume:

## š§ Architecture Overview
```plaintext
User ā chat.html
ā
GPT Chat Server (OpenAI-router.js)
ā (tool calls)
MCP Server (index.js)
ā
MessageMedia SMS API
```
- `index.js`: Core MCP server, webhook processor, `/context` + `/send` + `/report` endpoints
- `Openai-router.js`: ChatGPT proxy handling tool calls via OpenAI Functions
- `chat.html`: Interactive frontend for messaging and tools
- `sms_report_live_dashboard.html`: Live chart using `/report`
## š ļø How to Run
```bash
npm install
OPENAI_API_KEY=your_key node start-all.js
```
- Access Chat UI: [http://localhost:3000/chat.html](http://localhost:3000/chat.html)
- Access Report Dashboard: [http://localhost:3000/sms_report_live_dashboard.html](http://localhost:3000/sms_report_live_dashboard.html)
## š Folder Structure
```plaintext
.
āāā index.js # MCP Server
āāā Openai-router.js # GPT Chat Interface
āāā webhook-log.json # Legacy logs (if not using MessageMedia)
āāā chat.html # GPT chat client
āāā sms_report_live_dashboard.html # Dashboard with Chart.js
āāā langchain_mcp_agent.py # LangChain integration script
āāā .env # Environment variables
āāā public/
ā āāā sms_report_preview.png # Chart screenshot
```
## š¦ Tools
- [x] `get_sms_context`
- [x] `send_sms`
- [x] `show_sms_report` (NEW)
## š Roadmap
- š Auto-classification of replies
- š Sentiment + urgency scoring
- š¤ Unified Copilot with webhook/CLI/chat
## š SMS Report Chart
A new feature has been added to display a live dashboard of SMS volume by day.
You can now ask in the `chat.html` interface:
> "Show me my report history of +61412345678"
The assistant will respond with an embedded report like this:
