Gatherings MCP Server

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.

Integrations

  • Serves as the runtime environment for the MCP server, enabling the creation and management of shared expenses for social events through Python-based implementations.

  • Provides an ORM interface for storing gathering data, expenses, and payment records in a SQL database, allowing for persistence of user expense-sharing information.

모임 MCP 서버

Gatherings 비용 공유 애플리케이션을 위한 MCP(Machine Conversation Protocol) 서버 인터페이스입니다.

개요

Gatherings MCP 서버는 AI 비서가 Machine Conversation Protocol을 통해 Gatherings 애플리케이션과 상호 작용할 수 있도록 API를 제공합니다. 이를 통해 AI 시스템은 사용자가 사교 행사, 외출 또는 참가자 간에 비용을 분담하는 모든 모임의 공동 경비를 관리할 수 있도록 지원합니다.

특징

  • 여러 멤버가 참여하는 모임을 만들고 관리하세요
  • 특정 회원에 대한 비용 추가
  • 공정한 상환금을 계산하세요
  • 기록적인 지불 및 상환
  • 자세한 지불 요약 생성
  • 모임에 멤버 추가/제거
  • 필요에 따라 멤버 이름을 바꾸세요

설치

필수 조건

  • 파이썬 3.8 이상
  • SQLAlchemy
  • MCP SDK

설정

  1. 이 저장소를 복제하세요:지엑스피1
  2. 필요한 종속성을 설치하세요:
    pip install -r requirements.txt
  3. 환경 변수 설정(선택 사항):
    # Custom database location export GATHERINGS_DB_PATH=path/to/database.db # Custom script location export GATHERINGS_SCRIPT=path/to/gatherings.py

용법

MCP 서버를 시작합니다.

python gatherings_mcp_server.py

서버는 stdio에서 실행되므로 MCP 프로토콜 클라이언트와 호환됩니다.

API 참조

MCP 서버는 다음 도구를 제공합니다.

create_gathering(gathering_id: str, members: int)

지정된 수의 멤버로 새로운 모임을 만듭니다.

add_expense(gathering_id: str, member_name: str, amount: float)

모임에 참여한 구성원의 비용을 추가합니다.

calculate_reimbursements(gathering_id: str)

모임에서 누가 누구에게 얼마를 빚졌는지 계산합니다.

record_payment(gathering_id: str, member_name: str, amount: float)

회원이 지불한 금액(양수 값) 또는 회원에게 환불된 금액(음수 값)을 기록합니다.

rename_member(gathering_id: str, old_name: str, new_name: str)

모임에서 멤버의 이름을 변경합니다.

show_gathering(gathering_id: str)

비용과 지불 상태를 포함한 모임 세부 정보를 표시합니다.

list_gatherings()

데이터베이스에 있는 모든 모임을 나열합니다.

close_gathering(gathering_id: str)

모임을 종료로 표시하세요.

delete_gathering(gathering_id: str, force: bool = False)

모임과 관련 데이터를 모두 삭제합니다. 종료된 모임을 삭제하려면 force=True 설정합니다.

add_member(gathering_id: str, member_name: str)

기존 모임에 새로운 멤버를 추가합니다.

remove_member(gathering_id: str, member_name: str)

모임에서 구성원을 제외합니다(비용이 없는 경우에만 해당).

예시 흐름

  1. 친구 5명과 함께 저녁 식사 모임을 만들어 보세요.
    create_gathering("2023-10-15-dinner", 5)
  2. 사람들이 물건값을 지불할 때 비용을 추가합니다.
    add_expense("2023-10-15-dinner", "Alice", 120.50) add_expense("2023-10-15-dinner", "Bob", 35.00)
  3. 환불금 계산:
    calculate_reimbursements("2023-10-15-dinner")
  4. 사람들이 정착함에 따라 기록적인 지불이 이루어짐:
    record_payment("2023-10-15-dinner", "Charlie", 31.10)
  5. 모든 지불이 완료되면 모임을 종료합니다.
    close_gathering("2023-10-15-dinner")

건축학

Gatherings MCP 서버는 세 가지 주요 구성 요소로 구성됩니다.

  1. MCP 서버 인터페이스 ( gatherings_mcp_server.py ): AI 도구가 상호 작용할 수 있는 MCP 프로토콜 인터페이스를 제공합니다.
  2. 서비스 계층 ( services.py ): 모임, 비용, 지불을 관리하기 위한 비즈니스 로직을 포함합니다.
  3. 데이터 계층 ( models.py ): SQLAlchemy ORM을 사용하여 데이터베이스 스키마를 정의하고 데이터 지속성을 처리합니다.

데이터 모델

  • 모임 : 비용을 나누어야 하는 사회적 행사를 나타냅니다.
  • 회원 : 모임에 참여하는 사람
  • 비용 : 회원이 모임을 위해 지출한 비용
  • 지불 : 회원이 잔액을 정산하기 위해 지불하는 금액

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

ID: 69btvo84i5