🚀 BaaS SMS/MMS MCP 服務器
這是一個專為 SMS 和 MMS 消息服務打造的綜合模型上下文協議服務器,藉助智能代碼生成與 CDN 優化模板,實現與 BaaS 平臺的無縫集成。

🚀 快速開始
此 MCP 服務器在 AI 開發工作流與 BaaS 消息平臺之間架起橋樑,具備以下能力:
- 智能代碼生成:生成用於 SMS/MMS 集成的生產就緒代碼。
- CDN 優化模板:從 CDN 獲取最新維護的代碼模板。
- 多語言和框架支持:支持 JavaScript、Python、PHP 等語言,以及 React、Vue、Django、Laravel 等框架。
- 令牌效率:通過基於 CDN 的模板導入,最小化令牌使用量。
- 環境集成:自動注入 API 密鑰並管理環境變量。
- 平臺特定指南:提供主要平臺的部署和集成指南。
✨ 主要特性
- 智能代碼生成:為 SMS/MMS 集成生成可用於生產的代碼。
- CDN 優化模板:從 CDN 獲取最新的代碼模板。
- 多語言與框架支持:支持 JavaScript、Python、PHP 等多種語言,以及 React、Vue、Django、Laravel 等框架。
- 令牌效率:通過 CDN 模板導入,減少令牌使用。
- 環境集成:自動注入 API 密鑰,管理環境變量。
- 平臺指南:提供主要平臺的部署和集成指南。
📦 安裝指南
npm 安裝(推薦)
npm install -g baas-sms-mcp
本地開發設置
git clone https://github.com/jjunmomo/BaaS-MCP.git
cd BaaS-MCP
npm install
Python 依賴
服務器會自動管理 Python 依賴,但也可以手動安裝:
pip install -r requirements.txt
💻 使用示例
基礎用法
React SMS 組件創建
const result = await mcp.generate_direct_api_code("javascript", "react", true);
console.log(result.code);
高級用法
公司特定模板創建
const projectConfig = {
default_callback: "02-1234-5678",
company_name: "MyTech Corporation"
};
const template = await mcp.create_message_service_template(
projectConfig,
"python",
["sms", "mms", "status_check"]
);
獲取 Vercel 部署指南
const guide = await mcp.get_integration_guide("vercel", "production");
console.log(guide.guide_content);
獲取用於令牌效率的模板 URL
const urls = await mcp.get_code_template_url("python", "django", "heroku");
console.log(urls.template_url);
console.log(urls.integration_url);
📚 詳細文檔
架構
系統組件
┌─────────────────────────────────────────────────────────────────┐
│ MCP 客戶端 │
└─────────────────────────┬───────────────────────────────────────┘
│ MCP 協議
┌─────────────────────────▼───────────────────────────────────────┐
│ Node.js 包裝器 (index.js) │
│ - 跨平臺兼容性 │
│ - 依賴管理 │
│ - 進程生命週期 │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────────┐
│ Python MCP 服務器 (server.py) │
│ - FastMCP 框架 │
│ - CDN 模板導入 │
│ - 代碼生成和定製 │
│ - API 密鑰注入 │
└─────────────────────────┬───────────────────────────────────────┘
│ HTTPS
┌─────────────────────────▼───────────────────────────────────────┐
│ CDN 模板存儲庫 │
│ - 特定語言模板 │
│ - 框架集成 │
│ - 部署指南 │
│ - 項目助手 │
└─────────────────────────────────────────────────────────────────┘
模板結構
templates/
├── javascript/
│ ├── vanilla.md # 純 JavaScript 實現
│ └── react.md # React 組件集成
├── python/
│ ├── vanilla.md # 基於 Python requests
│ └── django.md # Django 集成
├── php/
│ └── vanilla.md # PHP cURL 實現
├── helpers/
│ └── javascript-project.md # 特定項目實用工具
└── deployment/
└── vercel-production.md # 平臺部署指南
配置
MCP 客戶端配置
在 MCP 客戶端配置文件中添加:
{
"mcpServers": {
"baas-sms-mcp": {
"command": "npx",
"args": ["baas-sms-mcp"],
"env": {
"BAAS_API_KEY": "請在此處輸入實際的 API 密鑰"
}
}
}
}
環境變量
| 變量 |
說明 |
必需 |
BAAS_API_KEY |
BaaS 平臺 API 密鑰 |
是* |
*為了在生成的代碼中自動注入 API 密鑰,此變量是必需的。即使沒有該變量,服務器也能運行,但需要手動配置密鑰。
可用工具
1. get_code_template_url
目的:獲取優化後的代碼模板的 CDN URL,無需令牌開銷。
參數:
language(字符串):編程語言
- 支持:
javascript, python, php, java, go, csharp
framework(可選):框架名稱
- JavaScript:
react, vue, angular
- Python:
django, fastapi, flask
- PHP:
laravel, symfony
deployment_platform(可選):目標平臺
vercel, netlify, aws, docker 等
返回值:
{
"success": true,
"template_url": "https://cdn.mbaas.kr/templates/sms-mms/javascript/react.md",
"integration_url": "https://cdn.mbaas.kr/templates/sms-mms/deployment/vercel.md",
"api_endpoint": "https://api.aiapp.link/api/message/",
"configuration": {
"required_env_vars": ["BAAS_API_KEY"],
"api_key_injected": true
}
}
2. generate_direct_api_code
目的:從 CDN 獲取模板並進行定製,生成生產就緒代碼。
參數:
language(字符串,默認值:"javascript"):目標編程語言
framework(可選):特定框架實現
include_examples(布爾值,默認值:true):是否包含使用示例
返回值:
{
"success": true,
"code": "// 完整的實現代碼...",
"filename": "baas-sms-service.js",
"description": "用於直接調用 /api/message/ API 的 JavaScript BaaS SMS 服務",
"source": "CDN 模板",
"configuration": {
"env_vars": ["BAAS_API_KEY"],
"install": "npm install (包含依賴項)",
"api_key_injected": true
}
}
3. create_message_service_template
目的:通過定製創建完整的特定項目服務模板。
參數:
返回值:
{
"success": true,
"code": "// 包含項目默認值的定製實現...",
"filename": "您的公司消息服務.js",
"description": "您公司的專用消息服務模板",
"source": "CDN 模板 + 項目定製"
}
4. get_integration_guide
目的:獲取詳細的特定平臺部署和集成指南。
參數:
platform(字符串):目標平臺
- 支持:
vercel, netlify, heroku, aws, gcp, azure, docker
deployment_type(字符串,默認值:"production"):部署環境
- 選項:
development, staging, production
返回值:
{
"success": true,
"platform": "vercel",
"deployment_type": "production",
"guide_content": "# Vercel 部署指南\n...",
"security_checklist": [
"不要將 API 密鑰硬編碼到代碼中",
"使用環境變量或密鑰管理服務",
"確保使用 HTTPS 通信",
"設置適當的錯誤日誌記錄"
]
}
重要 API 變更
BaaS 平臺已進行重大更新:
新 API 結構
- 基礎 URL:
https://api.aiapp.link
- SMS 端點:
/api/message/sms
- MMS 端點:
/api/message/mms
- 認證:僅使用
X-API-KEY 頭
主要變更
- ❌ 所有 API 調用中 移除
PROJECT_ID 參數
- ❌ 停用舊端點
- ✅ 簡化為僅使用 API 密鑰認證
- ✅ 更新響應格式
遷移指南
const response = await fetch('https://api.aiapp.link/message/sms', {
headers: {
'Authorization': `Bearer ${jwt_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
project_id: "uuid-string",
})
});
const response = await fetch('https://api.aiapp.link/api/message/sms', {
headers: {
'X-API-KEY': process.env.BAAS_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
})
});
開發
本地運行
node index.js
BAAS_API_KEY="test" node index.js
項目結構
BaaS-MCP/
├── index.js # Node.js 包裝器和依賴管理
├── baas_sms_mcp/
│ ├── __init__.py # Python 包初始化
│ └── server.py # 主 MCP 服務器實現
├── templates/ # 本地模板回退
├── requirements.txt # Python 依賴
├── package.json # Node.js 包配置
├── pyproject.toml # Python 包配置
└── mcp.config.json # 示例 MCP 配置
發佈流程
npm run release:patch
npm run release:minor
npm run release:major
安全最佳實踐
API 密鑰管理
- 不要將 API 密鑰硬編碼到源代碼中。
- 使用環境變量或密鑰管理服務。
- 定期更換 API 密鑰。
- 監控 API 密鑰使用情況。
部署安全
- 對所有通信啟用 HTTPS。
- 徹底驗證輸入數據。
- 實現適當的錯誤處理和日誌記錄。
- 使用最小權限訪問原則。
代碼生成安全
- 從可信賴的 CDN 源獲取模板。
- 自動清理輸入。
- 不要在 MCP 服務器上運行生成的代碼。
- 明確分離模板和運行時環境。
貢獻
- 分叉倉庫。
- 創建功能分支:
git checkout -b feature/new-feature。
- 進行更改並徹底測試。
- 使用清晰的消息提交:
git commit -m "添加新功能"。
- 推送到分叉倉庫:
git push origin feature/new-feature。
- 創建拉取請求。
性能和監控
令牌效率
- 使用基於 CDN 的模板,減少 60 - 80% 的令牌使用量。
- 通過智能緩存,最小化重複 API 調用。
- 為 MCP 協議優化響應格式。
監控
- 內置錯誤日誌記錄和報告。
- 監控 CDN 性能。
- 跟蹤 API 密鑰使用情況。
- 跟蹤模板導入成功率。
🔧 技術細節
該 MCP 服務器通過智能代碼生成和 CDN 優化模板,實現 BaaS 平臺與 AI 開發工作流的無縫對接。在代碼生成方面,利用先進的算法生成適用於多種語言和框架的 SMS/MMS 集成代碼。CDN 優化模板則確保了代碼的時效性和可維護性,通過從 CDN 獲取最新模板,減少了本地開發的負擔。多語言和框架支持使得開發者可以根據自身需求選擇合適的技術棧。同時,通過自動注入 API 密鑰和管理環境變量,簡化了開發和部署流程。
📄 許可證
本項目採用 MIT 許可證,詳情請參閱 LICENSE 文件。
🆘 支持與社區
- GitHub 問題:報告 bug 或請求功能
- 電子郵件支持:support@aiapp.link
- 文檔:API 規範
- 英文文檔:README.md
🗺 路線圖
計劃功能
- [ ] 支持更多語言(Java、Go、C#)
- [ ] 提供高級模板定製選項
- [ ] 實現即時模板更新
- [ ] 支持模板版本管理
- [ ] 改進錯誤報告和調試功能
- [ ] 集成流行的 IDE 擴展
版本歷史
- v1.0.18:當前穩定版本,包含 API 更新
- v1.0.0:初始穩定版本
- v0.1.4:包含核心功能的 beta 版本