おもてなしQR MCP Server
ChatGPTなどのMCP対応クライアントから、おもてなしQRの音声生成APIを呼び出すための最小構成MCPサーバーです。
概要
このMCPサーバーは、Model Context Protocol (MCP) に準拠したAPIゲートウェイとして機能し、MCPクライアントからのリクエストを既存のおもてなしQR音声生成APIにプロキシします。
アーキテクチャ
機能
MCP準拠: Model Context Protocol 2024-11-05 に準拠
API KEY認証: MCPクライアントからのリクエストをAPI KEYで認証
音声生成ツール:
generate_audioツールを提供セッション管理: StreamableHTTP transportを使用したセッション管理
ロギング: 詳細なログ出力で動作を追跡
必要な環境
Node.js 18以上
npm または yarn
セットアップ
1. 依存関係のインストール
2. 環境変数の設定
.env ファイルを作成し、以下の環境変数を設定します:
3. サーバーの起動
サーバーが起動すると、以下のエンドポイントが利用可能になります:
POST /mcp- MCPリクエストエンドポイントGET /mcp- SSEストリームエンドポイントDELETE /mcp- セッション終了エンドポイントGET /health- ヘルスチェックエンドポイント
使用方法
ヘルスチェック
MCP初期化
レスポンスヘッダーから Mcp-Session-Id を取得してください。
ツールリストの取得
音声生成ツールの実行
ツール仕様
generate_audio
テキストから音声を生成します。
パラメータ:
パラメータ | 型 | 必須 | デフォルト | 説明 |
| string | ✓ | - | 音声化するテキスト内容 |
| enum |
| 言語 (
,
,
,
) | |
| string |
| 音声スピーカー名 | |
| number |
| 音声速度 (0.5-2.0) |
レスポンス例:
Nginx リバースプロキシ設定
本番環境では、Nginxをリバースプロキシとして使用することを推奨します。
設定例(/etc/nginx/sites-available/mcp.omotenashiqr.com):
SSL設定(Let's Encrypt):
PM2による常駐化(推奨)
本番環境では、PM2を使用してサーバーを常駐させることを推奨します:
トラブルシューティング
サーバーが起動しない
環境変数が正しく設定されているか確認してください
ポート8001が使用可能か確認してください:
lsof -i :8001Node.jsのバージョンを確認してください:
node --version(18以上必要)
API呼び出しでエラーが発生する
OMOTENASHI_SESSION_TOKENが有効か確認してくださいBASE_API_URLが正しいか確認してくださいサーバーログを確認してください:ログには詳細なエラー情報が出力されます
開発
ローカル開発
ログレベル
サーバーは以下のログレベルでメッセージを出力します:
info: 通常の操作情報debug: デバッグ情報(API呼び出し詳細など)error: エラー情報
セキュリティ
API KEY認証: すべてのMCPリクエスト(初期化を除く)には
X-API-Keyヘッダーが必要セッション管理: 各クライアントに固有のセッションIDが割り当てられます
環境変数: 機密情報は
.envファイルで管理(Gitにコミットしない)
ライセンス
ISC
作者
おもてなしQR開発チーム
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables text-to-speech generation through the Omotenashi QR API, supporting multiple languages (Japanese, English, Chinese, Korean) with customizable voice speakers and speed settings.