AI Customer Support Bot - MCP Server

by ChiragPatankar
Verified
MIT License
  • Linux

Integrations

  • Manages environment variables for API keys, database connections, and server configuration settings.

  • Version control system used for server codebase management and contribution workflow.

  • Stores user interactions, context metadata, and tracking data for the AI customer support system.

AI 고객 지원 봇 - MCP 서버

Cursor AI와 Glama.ai 통합을 사용하여 AI 기반 고객 지원을 제공하는 MCP(Model Context Protocol) 서버입니다.

특징

  • Glama.ai에서 실시간 컨텍스트 가져오기
  • Cursor AI를 활용한 AI 기반 응답 생성
  • 일괄 처리 지원
  • 우선 대기열
  • 속도 제한
  • 사용자 상호작용 추적
  • 건강 모니터링
  • MCP 프로토콜 준수

필수 조건

  • 파이썬 3.8 이상
  • PostgreSQL 데이터베이스
  • Glama.ai API 키
  • 커서 AI API 키

설치

  1. 저장소를 복제합니다.

지엑스피1

  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

단일 요청으로 여러 쿼리를 처리합니다.

요청 예시:

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. 풀 리퀘스트 만들기

특허

[여기에 라이센스가 있습니다]

지원하다

지원이 필요하시면 [연락처 정보]로 문의해 주세요.

-
security - not tested
F
license - not found
-
quality - not tested

Cursor AI와 Glama.ai 통합을 사용하여 AI 기반 고객 지원을 제공하는 MCP(Model Context Protocol) 서버입니다.

  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: tjcibidq76