Gatherings MCP Server

by abutbul
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

모임 MCP 서버

모임과 비용 공유를 관리하기 위한 모델 컨텍스트 프로토콜 서버입니다.

이것은 사회적 이벤트에 대한 비용과 지불을 추적하고, 친구들 간의 상환금과 잔액을 정산하기 쉽게 해주는 TypeScript 기반 MCP 서버입니다.

건축 노트

중요 : 이 프로젝트는 Node.js 애플리케이션에 비표준 아키텍처를 사용합니다. TypeScript MCP 서버는 Python 백엔드 구현을 감싸는 래퍼 역할을 합니다. Node.js 서버는 MCP 요청을 수신하여 Python 스크립트에 대한 명령줄 호출로 변환하고 결과를 반환합니다.

이 아키텍처는 현재 요구 사항에는 적합하지만 프로덕션 애플리케이션에 사용하기에 가장 효율적이거나 유지 관리하기 쉬운 접근 방식은 아닙니다.

할 일

  • 보다 표준적인 아키텍처를 사용하도록 구현을 리팩토링합니다.
    • 백엔드를 TypeScript/JavaScript로 완전히 마이그레이션하거나
    • 또는 Node.js와 Python 구성 요소 간에 적절한 프로세스 간 통신을 구현합니다.
    • 또는 Python 백엔드가 MCP 서버가 사용하는 API를 제공하는 REST API 접근 방식으로 교체합니다.
  • Node.js와 Python 구성 요소 간의 오류 처리 개선
  • 구성 요소 간 통합을 위한 자동화된 테스트 추가

특징

도구

  • create_gathering - 새로운 모임을 만듭니다
    • gathering_idmembers 필수 매개변수로 사용합니다.
  • add_expense - 멤버의 비용 추가
    • 필수 매개변수로 gathering_id , member_nameamount 사용합니다.
  • calculate_reimbursements - 모임에 대한 상환금 계산
    • gathering_id 필수 매개변수로 사용합니다.
  • record_payment - 회원이 한 결제 내역을 기록합니다.
    • 필수 매개변수로 gathering_id , member_nameamount 사용합니다.
  • rename_member - 이름이 없는 멤버의 이름을 변경합니다.
    • 필수 매개변수로 gathering_id , old_namenew_name 사용합니다.
  • show_gathering - 모임 세부 정보 표시
    • gathering_id 필수 매개변수로 사용합니다.
  • list_gatherings - 모든 모임 나열
  • close_gathering - 모임 닫기
    • gathering_id 필수 매개변수로 사용합니다.
  • delete_gathering - 모임 삭제
    • gathering_id 필수 매개변수로 사용하고, 선택적 force 매개변수로 사용합니다.
  • add_member - 모임에 새 멤버 추가
    • 필수 매개변수로 gathering_idmember_name 사용합니다.
  • remove_member - 모임에서 멤버 제거
    • 필수 매개변수로 gathering_idmember_name 사용합니다.

개발

종속성 설치:

지엑스피1

서버를 빌드하세요:

npm run build

자동 재빌드를 사용한 개발의 경우:

npm run watch

설치

구성

Claude Desktop과 함께 사용하려면 서버 구성을 추가하세요.

{ "mcpServers": { "gatherings": { "command": "node", "args": ["/path/to/gatherings-server/build/index.js"], "env": { "GATHERINGS_DB_PATH": "gatherings.db", "GATHERINGS_SCRIPT": "/path/to/gatherings-server/gatherings.py" }, "disabled": false, "autoApprove": [], "alwaysAllow": [ "create_gathering", "add_expense", "calculate_reimbursements", "record_payment", "rename_member", "show_gathering", "list_gatherings", "close_gathering", "delete_gathering", "add_member", "remove_member" ], "timeout": 300 } } }

구성 옵션

  • commandargs : 서버를 실행하는 방법을 지정합니다.
  • env : 환경 변수
    • GATHERINGS_DB_PATH : 데이터베이스 파일 경로
    • GATHERINGS_SCRIPT : 수집 작업을 처리하기 위한 Python 스크립트 경로
  • alwaysAllow : 묻지 않고 자동으로 허용되는 도구 목록
  • timeout : 최대 실행 시간(초)

디버깅

MCP 서버는 stdio를 통해 통신하므로 디버깅이 어려울 수 있습니다. 패키지 스크립트로 제공되는 MCP Inspector를 사용하는 것이 좋습니다.

npm run inspector

검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.

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

사회적 이벤트에 대한 비용을 추적하고 상환금을 계산하는 데 도움이 되는 모델 컨텍스트 프로토콜 서버로, 친구들 간의 잔액을 쉽게 정산할 수 있습니다.

  1. Architecture Note
    1. TODO
  2. Features
    1. Tools
  3. Development
    1. Installation
      1. Configuration
      2. Debugging
    ID: 3iklcgah07