BaaS MCP

BaaS MCP

🚀 BaaS SMS/MMS MCP 服务器

这是一个专为 SMS 和 MMS 消息服务打造的综合模型上下文协议服务器,借助智能代码生成与 CDN 优化模板,实现与 BaaS 平台的无缝集成。

npm version PyPI version Python 3.10+ License: MIT

🚀 快速开始

此 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 组件创建

// 使用 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 服务类

获取 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);     // 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 客户端配置

在 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

目的:通过定制创建完整的特定项目服务模板。

参数

  • 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 模板 + 项目定制"
}

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 结构

  • 基础 URLhttps://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({
// 移除 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

安全最佳实践

API 密钥管理

  • 不要将 API 密钥硬编码到源代码中。
  • 使用环境变量或密钥管理服务。
  • 定期更换 API 密钥。
  • 监控 API 密钥使用情况。

部署安全

  • 对所有通信启用 HTTPS。
  • 彻底验证输入数据。
  • 实现适当的错误处理和日志记录。
  • 使用最小权限访问原则。

代码生成安全

  • 从可信赖的 CDN 源获取模板。
  • 自动清理输入。
  • 不要在 MCP 服务器上运行生成的代码。
  • 明确分离模板和运行时环境。

贡献

  1. 分叉仓库。
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 进行更改并彻底测试。
  4. 使用清晰的消息提交:git commit -m "添加新功能"
  5. 推送到分叉仓库:git push origin feature/new-feature
  6. 创建拉取请求。

性能和监控

令牌效率

  • 使用基于 CDN 的模板,减少 60 - 80% 的令牌使用量。
  • 通过智能缓存,最小化重复 API 调用。
  • 为 MCP 协议优化响应格式。

监控

  • 内置错误日志记录和报告。
  • 监控 CDN 性能。
  • 跟踪 API 密钥使用情况。
  • 跟踪模板导入成功率。

🔧 技术细节

该 MCP 服务器通过智能代码生成和 CDN 优化模板,实现 BaaS 平台与 AI 开发工作流的无缝对接。在代码生成方面,利用先进的算法生成适用于多种语言和框架的 SMS/MMS 集成代码。CDN 优化模板则确保了代码的时效性和可维护性,通过从 CDN 获取最新模板,减少了本地开发的负担。多语言和框架支持使得开发者可以根据自身需求选择合适的技术栈。同时,通过自动注入 API 密钥和管理环境变量,简化了开发和部署流程。

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

🆘 支持与社区

🗺 路线图

计划功能

  • [ ] 支持更多语言(Java、Go、C#)
  • [ ] 提供高级模板定制选项
  • [ ] 实现实时模板更新
  • [ ] 支持模板版本管理
  • [ ] 改进错误报告和调试功能
  • [ ] 集成流行的 IDE 扩展

版本历史

  • v1.0.18:当前稳定版本,包含 API 更新
  • v1.0.0:初始稳定版本
  • v0.1.4:包含核心功能的 beta 版本
  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-10-03 10:27

相似服务问题

相关AI产品