这是一个专为 SMS 和 MMS 消息服务打造的综合模型上下文协议服务器,借助智能代码生成与 CDN 优化模板,实现与 BaaS 平台的无缝集成。
此 MCP 服务器在 AI 开发工作流与 BaaS 消息平台之间架起桥梁,具备以下能力:
npm install -g baas-sms-mcp
git clone https://github.com/jjunmomo/BaaS-MCP.git
cd BaaS-MCP
npm install
服务器会自动管理 Python 依赖,但也可以手动安装:
pip install -r requirements.txt
// 使用 TypeScript 创建 React 组件
const result = await mcp.generate_direct_api_code("javascript", "react", true);
console.log(result.code); // 完整的 React 组件
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"]
);
// 返回包含公司默认值的自定义 Python 服务类
const guide = await mcp.get_integration_guide("vercel", "production");
console.log(guide.guide_content); // 完整的部署说明
const urls = await mcp.get_code_template_url("python", "django", "heroku");
console.log(urls.template_url); // CDN 模板 URL
console.log(urls.integration_url); // 特定平台指南 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 客户端配置文件中添加:
{
"mcpServers": {
"baas-sms-mcp": {
"command": "npx",
"args": ["baas-sms-mcp"],
"env": {
"BAAS_API_KEY": "请在此处输入实际的 API 密钥"
}
}
}
}
| 变量 | 说明 | 必需 |
|---|---|---|
BAAS_API_KEY |
BaaS 平台 API 密钥 | 是* |
*为了在生成的代码中自动注入 API 密钥,此变量是必需的。即使没有该变量,服务器也能运行,但需要手动配置密钥。
get_code_template_url目的:获取优化后的代码模板的 CDN URL,无需令牌开销。
参数:
language(字符串):编程语言
javascript, python, php, java, go, csharpframework(可选):框架名称
react, vue, angulardjango, fastapi, flasklaravel, symfonydeployment_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
}
}
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
}
}
create_message_service_template目的:通过定制创建完整的特定项目服务模板。
参数:
project_config(对象):项目配置{
"default_callback": "02-1234-5678",
"company_name": "您的公司"
}
language(字符串):目标编程语言features(数组,可选):要包含的功能
["sms", "mms", "status_check", "history", "validation"]返回值:
{
"success": true,
"code": "// 包含项目默认值的定制实现...",
"filename": "您的公司消息服务.js",
"description": "您公司的专用消息服务模板",
"source": "CDN 模板 + 项目定制"
}
get_integration_guide目的:获取详细的特定平台部署和集成指南。
参数:
platform(字符串):目标平台
vercel, netlify, heroku, aws, gcp, azure, dockerdeployment_type(字符串,默认值:"production"):部署环境
development, staging, production返回值:
{
"success": true,
"platform": "vercel",
"deployment_type": "production",
"guide_content": "# Vercel 部署指南\n...",
"security_checklist": [
"不要将 API 密钥硬编码到代码中",
"使用环境变量或密钥管理服务",
"确保使用 HTTPS 通信",
"设置适当的错误日志记录"
]
}
BaaS 平台已进行重大更新:
https://api.aiapp.link/api/message/sms/api/message/mmsX-API-KEY 头PROJECT_ID 参数// 旧版(已停用)
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({
// 移除 project_id
// ... 其他参数
})
});
# 启动 MCP 服务器
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 配置
# 补丁版本(修复 bug)
npm run release:patch
# 次要版本(新增功能)
npm run release:minor
# 主要版本(重大变更)
npm run release:major
git checkout -b feature/new-feature。git commit -m "添加新功能"。git push origin feature/new-feature。该 MCP 服务器通过智能代码生成和 CDN 优化模板,实现 BaaS 平台与 AI 开发工作流的无缝对接。在代码生成方面,利用先进的算法生成适用于多种语言和框架的 SMS/MMS 集成代码。CDN 优化模板则确保了代码的时效性和可维护性,通过从 CDN 获取最新模板,减少了本地开发的负担。多语言和框架支持使得开发者可以根据自身需求选择合适的技术栈。同时,通过自动注入 API 密钥和管理环境变量,简化了开发和部署流程。
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。