AI Customer Support Bot - MCP Server

by ChiragPatankar
Verified
MIT License
  • Linux

Integrations

  • Used for configuration management to securely store API keys, database connection strings, and other environment-specific settings.

  • Used for version control and deployment of the MCP server codebase.

  • Used as the database backend for storing user interactions and tracking data for the AI customer support system.

AIカスタマーサポートボット - MCPサーバー

Cursor AI と Glama.ai の統合を使用して AI を活用した顧客サポートを提供する Model Context Protocol (MCP) サーバー。

特徴

  • Glama.aiからのリアルタイムコンテキスト取得
  • Cursor AI による AI を活用した応答生成
  • バッチ処理のサポート
  • 優先キューイング
  • レート制限
  • ユーザーインタラクションの追跡
  • 健康モニタリング
  • MCPプロトコル準拠

前提条件

  • Python 3.8以上
  • PostgreSQLデータベース
  • Glama.ai APIキー
  • カーソルAI APIキー

インストール

  1. リポジトリをクローンします。
git clone <repository-url> cd <repository-name>
  1. 仮想環境を作成してアクティブ化します。
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt
  1. .env.exampleに基づいて.envファイルを作成します。
cp .env.example .env
  1. 資格情報を使用して.envファイルを構成します。
# API Keys GLAMA_API_KEY=your_glama_api_key_here CURSOR_API_KEY=your_cursor_api_key_here # Database DATABASE_URL=postgresql://user:password@localhost/customer_support_bot # API URLs GLAMA_API_URL=https://api.glama.ai/v1 # Security SECRET_KEY=your_secret_key_here # MCP Server Configuration SERVER_NAME="AI Customer Support Bot" SERVER_VERSION="1.0.0" API_PREFIX="/mcp" MAX_CONTEXT_RESULTS=5 # Rate Limiting RATE_LIMIT_REQUESTS=100 RATE_LIMIT_PERIOD=60 # Logging LOG_LEVEL=INFO
  1. データベースを設定します。
# Create the database createdb customer_support_bot # Run migrations (if using Alembic) alembic upgrade head

サーバーの実行

サーバーを起動します。

python app.py

サーバーはhttp://localhost:8000で利用可能になります。

APIエンドポイント

1. ルートエンドポイント

GET /

基本的なサーバー情報を返します。

2. MCPバージョン

GET /mcp/version

サポートされている MCP プロトコル バージョンを返します。

3. 機能

GET /mcp/capabilities

サーバーの機能とサポートされている機能を返します。

4. プロセスリクエスト

POST /mcp/process

コンテキストを使用して単一のクエリを処理します。

リクエストの例:

curl -X POST http://localhost:8000/mcp/process \ -H "Content-Type: application/json" \ -H "X-MCP-Auth: your-auth-token" \ -H "X-MCP-Version: 1.0" \ -d '{ "query": "How do I reset my password?", "priority": "high", "mcp_version": "1.0" }'

5. バッチ処理

POST /mcp/batch

1 回のリクエストで複数のクエリを処理します。

リクエストの例:

curl -X POST http://localhost:8000/mcp/batch \ -H "Content-Type: application/json" \ -H "X-MCP-Auth: your-auth-token" \ -H "X-MCP-Version: 1.0" \ -d '{ "queries": [ "How do I reset my password?", "What are your business hours?", "How do I contact support?" ], "mcp_version": "1.0" }'

6. 健康チェック

GET /mcp/health

サーバーの健全性とサービスの状態を確認します。

レート制限

サーバーは、次のデフォルトでレート制限を実装します。

  • 60秒あたり100リクエスト
  • レート制限情報はヘルスチェックエンドポイントに含まれています
  • レート制限超過応答にはリセット時間が含まれます

エラー処理

サーバーは次の形式で構造化されたエラー応答を返します。

{ "code": "ERROR_CODE", "message": "Error description", "details": { "timestamp": "2024-02-14T12:00:00Z", "additional_info": "value" } }

一般的なエラーコード:

  • RATE_LIMIT_EXCEEDED : レート制限を超えました
  • UNSUPPORTED_MCP_VERSION : サポートされていないMCPバージョン
  • PROCESSING_ERROR : リクエスト処理エラー
  • CONTEXT_FETCH_ERROR : Glama.ai からコンテキストを取得中にエラーが発生しました
  • BATCH_PROCESSING_ERROR : バッチリクエストの処理中にエラーが発生しました

発達

プロジェクト構造

. ├── app.py # Main application file ├── database.py # Database configuration ├── middleware.py # Middleware (rate limiting, validation) ├── models.py # Database models ├── mcp_config.py # MCP-specific configuration ├── requirements.txt # Python dependencies └── .env # Environment variables

新機能の追加

  1. 新しい設定オプションでmcp_config.pyを更新します
  2. 必要に応じてmodels.pyに新しいモデルを追加します。
  3. app.pyに新しいエンドポイントを作成する
  4. 新しい機能を反映するために機能エンドポイントを更新します

安全

  • すべてのMCPエンドポイントはX-MCP-Authヘッダーによる認証を必要とする
  • 不正使用を防ぐためにレート制限が実装されています
  • データベースの資格情報は安全に保管する必要がある
  • APIキーはバージョン管理にコミットしてはならない

監視

サーバーは監視用のヘルスチェック エンドポイントを提供します。

  • サービスステータス
  • レート制限の使用
  • コネクテッドサービス
  • 処理時間

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. ブランチにプッシュする
  5. プルリクエストを作成する

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

サポート

サポートについては、リポジトリに問題を作成するか、開発チームにお問い合わせください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Cursor AI と Glama.ai の統合を使用して AI を活用した顧客サポートを提供する Model Context Protocol (MCP) サーバー。

  1. Features
    1. Prerequisites
      1. Installation
        1. Running the Server
          1. API Endpoints
            1. 1. Root Endpoint
            2. 2. MCP Version
            3. 3. Capabilities
            4. 4. Process Request
            5. 5. Batch Processing
            6. 6. Health Check
          2. Rate Limiting
            1. Error Handling
              1. Development
                1. Project Structure
                2. Adding New Features
              2. Security
                1. Monitoring
                  1. Contributing
                    1. License
                      1. Support
                        ID: f49kdjbch7