Frontapp MCP Server

by zqushair
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Handles environment variable configuration for the Frontapp MCP server, including API credentials and other settings.

  • Provides containerized deployment options for the Frontapp MCP server with included Dockerfile and multi-stage build process.

  • Enables access to the repository containing the Frontapp MCP server for installation and deployment purposes.

Frontapp MCP 서버

대규모 언어 모델(LLM)을 Frontapp의 고객 커뮤니케이션 플랫폼과 통합하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다.

📚 /docs에서 전체 문서 보기

개요

이 프로젝트는 LLM과 Frontapp API를 연결하는 MCP 서버를 구현합니다. 이를 통해 LLM은 Frontapp 데이터(대화, 연락처, 태그 등)에 접근하고 조작하며, 자연어 명령을 사용하여 Frontapp 워크플로를 자동화할 수 있습니다.

이 서버는 Frontapp의 웹후크를 사용하여 실시간 업데이트와 이벤트 기반 자동화를 지원합니다.

특징

  • 대화 관리 : 대화 검색, 생성, 업데이트 및 관리
  • 연락처 관리 : 연락처 정보 액세스 및 업데이트
  • 태그 관리 : 대화에 태그 적용 및 제거
  • 받은 편지함 관리 : 받은 편지함 정보에 접근
  • 사용자 관리 : 사용자 세부 정보 검색
  • Webhook 통합 : Frontapp에서 실시간 이벤트를 수신하고 처리합니다.
  • 보안 인증 : 웹훅 서명을 확인하고 API 인증을 처리합니다.
  • 보안 자격 증명 저장소 : AES-256 암호화로 민감한 정보를 저장합니다.
  • HTTPS 지원 : TLS/SSL 암호화를 통한 안전한 통신

건축학

MCP 서버는 모듈식 아키텍처를 따릅니다.

  1. API Gateway : LLM에서 들어오는 요청과 Frontapp에서 들어오는 웹훅을 처리합니다.
  2. 요청 핸들러 : LLM의 요청을 처리하고 Frontapp API와 상호 작용합니다.
  3. 웹훅 핸들러 : Frontapp에서 웹훅을 처리하고 LLM 컨텍스트를 업데이트합니다.
  4. Frontapp API 클라이언트 : Frontapp API와 상호 작용하기 위한 논리를 캡슐화합니다.
  5. 데이터 모델 : LLM, MCP 서버 및 Frontapp 간에 교환되는 데이터 구조를 정의합니다.
  6. 구성 : MCP 서버에 대한 설정을 저장합니다.

필수 조건

  • Node.js(v16 이상)
  • npm 또는 yarn
  • Frontapp API 자격 증명
  • 웹훅에 대한 공개적으로 접근 가능한 URL(프로덕션 사용용)

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 frontapp-mcp를 자동으로 설치하려면:

지엑스피1

자세한 설치 지침은 설치 가이드를 참조하세요.

빠른 시작:

  1. 저장소를 복제합니다.
    git clone https://github.com/zqushair/Frontapp-MCP.git cd Frontapp-MCP
  2. 종속성 설치:
    npm install
  3. .env 파일을 만들고 구성합니다.
    cp .env.example .env # Edit the .env file with your Frontapp API credentials
  4. 프로젝트를 빌드하고 시작합니다.
    npm run build npm start

선적 서류 비치

포괄적인 문서는 /docs 디렉토리에서 확인할 수 있습니다.

용법

API 사용

Frontapp MCP 통합은 LLM이 MCP 프로토콜을 통해 호출할 수 있는 도구 세트를 제공합니다. 사용 가능한 도구와 해당 매개변수에 대한 자세한 내용은 API 참조를 참조하세요.

클라이언트 라이브러리

이 프로젝트에는 LLM이 MCP 서버와 상호 작용하는 데 사용할 수 있는 TypeScript 클라이언트 라이브러리( src/frontapp-mcp-client.ts )가 포함되어 있습니다.

import { FrontappMcpClient } from './frontapp-mcp-client.js'; // Create a client instance const client = new FrontappMcpClient('http://localhost:3000'); // Get a list of conversations const conversations = await client.getConversations({ status: 'open' }); // Send a message to a conversation await client.sendMessage('cnv_123', 'Hello, how can I help you today?');

클라이언트 라이브러리는 다음을 제공합니다.

  • 사용 가능한 모든 도구에 대한 유형 안전 방법
  • 사용자 정의 오류 처리기를 사용한 오류 처리
  • 지수 백오프를 사용한 재시도 논리
  • 포괄적인 TypeScript 인터페이스

클라이언트 사용에 대한 완전한 예는 src/examples/client-usage-example.ts 에서 확인할 수 있습니다.

웹훅 통합

이 통합은 Frontapp에서 실시간 이벤트 알림을 위한 웹훅을 수신하고 처리할 수 있도록 지원합니다. 웹훅 통합에 대한 자세한 내용은 웹훅 통합 가이드를 참조하세요.

개발

자세한 개발 정보는 개발 가이드를 참조하세요.

빠른 개발 명령

# Start development server with hot reloading npm run dev # Run tests npm run test:api npm run test:conversations npm run test:tags npm run test:contacts npm run test:webhooks # Lint and format code npm run lint npm run format # Build for production npm run build # Check TypeScript types without compiling npm run typecheck

도커 배포

이 프로젝트에는 컨테이너화된 배포를 위한 Dockerfile이 포함되어 있습니다. 이 다단계 빌드 프로세스를 통해 최적화된 프로덕션 이미지가 생성됩니다.

Docker 이미지 빌드

# Build the Docker image docker build -t frontapp-mcp . # Run the Docker container docker run -p 3000:3000 --env-file .env frontapp-mcp

Docker 빌드 문제 해결

Docker 빌드 과정에서 TypeScript 오류가 발생하는 경우, 빌드가 성공하기 전에 오류를 수정해야 합니다. 일반적인 문제는 다음과 같습니다.

  1. 웹훅 핸들러의 유형 오류(개발 가이드의 TypeScript 유형 안전 섹션 참조)
  2. 잠재적으로 정의되지 않은 값에 대한 유형 어설션이 누락되었습니다.
  3. 선택적 속성의 부적절한 처리

이러한 문제를 조기에 포착하고 해결하려면 Docker 이미지를 빌드하기 전에 항상 npm run typecheck 또는 npm run build 로컬로 실행하세요.

보안 고려 사항

  • AES-256 암호화를 사용하는 자격 증명 관리자를 사용하여 API 자격 증명을 안전하게 저장합니다.
  • 제공된 스크립트를 사용하여 강력한 암호화 키를 생성합니다: npm run generate-key
  • 내장된 HTTPS 지원을 사용하여 모든 통신에 HTTPS를 활성화합니다.
  • 개발을 위한 자체 서명 인증서 생성: npm run generate-cert
  • 프로덕션을 위해 신뢰할 수 있는 인증 기관의 인증서를 사용하세요.
  • 웹훅 서명이 Frontapp에서 왔는지 확인하세요.
  • 남용을 방지하기 위해 속도 제한을 구현하세요
  • 주입 공격을 방지하기 위해 모든 수신 데이터를 검증합니다.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

기여하다

참여를 환영합니다! 프로젝트 참여 방법은 개발 가이드를 참조하세요.

감사의 말

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

LLM을 Frontapp의 고객 커뮤니케이션 플랫폼과 통합하는 모델 컨텍스트 프로토콜 서버로, 웹후크를 통해 실시간 업데이트를 지원하는 동시에 대화, 연락처 및 태그에 액세스할 수 있습니다.

  1. Overview
    1. Features
      1. Architecture
        1. Prerequisites
          1. Installation
            1. Installing via Smithery
          2. Documentation
            1. Usage
              1. API Usage
              2. Client Library
              3. Webhook Integration
            2. Development
              1. Quick Development Commands
            3. Docker Deployment
              1. Building the Docker Image
              2. Docker Build Troubleshooting
            4. Security Considerations
              1. License
                1. Contributing
                  1. Acknowledgements
                    ID: 2oimyinjrq