🚀 BaaS SMS/MMS MCPサーバ

このサーバは、AI開発ワークフローとBaaSメッセージングプラットフォームの橋渡しとなり、SMSおよびMMSメッセージングサービスに最適化された総合的なモデルコンテキストプロトコルサーバです。
🚀 クイックスタート
このMCPサーバは、AI開発ワークフローとBaaSメッセージングプラットフォームの間をつなぐ役割を果たし、以下の機能を提供します。
✨ 主な機能
- スマートコード生成: 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: "マイテクコーポレーション"
};
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キーの使用量を追跡します。
- テンプレートの取得成功率を監視します。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細については LICENSE ファイルを参照してください。
🆘 サポートとコミュニティ
- GitHubのイシュー: バグ報告または機能リクエスト
- メールサポート: support@aiapp.link
- ドキュメント: API仕様書
- 英語のドキュメント: README.md
🗺 ロードマップ
予定されている機能
- [ ] 追加の言語サポート (Java, Go, C#)
- [ ] 高度なテンプレートカスタマイズオプション
- [ ] リアルタイムのテンプレート更新
- [ ] テンプレートのバージョン管理
- [ ] 改善されたエラーレポートとデバッグ機能
- [ ] 人気のIDE拡張機能との統合
バージョン履歴
- v1.0.18: APIの更新が含まれた現在の安定版リリース
- v1.0.0: 初期の安定版リリース
- v0.1.4: 主要な機能が含まれたベータ版リリース
サポートや質問がある場合は、mbaas.tech@gmail.comにお問い合わせください。
注意: このMCPサーバは、外部開発者のワークフローに最適化されており、AIベースの開発環境とシームレスに統合されます。最新の更新と包括的なAPIドキュメントについては、GitHubリポジトリを参照してください。