集まり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 コンポーネント間のエラー処理を改善
コンポーネント間の統合のための自動テストを追加する
Dockerfileを最適化する
Related MCP server: Paddle MCP Server
特徴
ツール
create_gathering- 新しい集まりを作成する必須パラメータとして、
gathering_idとmembersを取ります。
add_expense- メンバーの経費を追加する必須パラメータとして、
gathering_id、member_name、amountを取ります。
calculate_reimbursements- 集まりの払い戻しを計算する必須パラメータとして
gathering_id指定します
record_payment- メンバーによる支払いを記録する必須パラメータとして、
gathering_id、member_name、amountを取ります。
rename_member- 名前のないメンバーの名前を変更する必須パラメータとして、
gathering_id、old_name、new_nameを取ります。
show_gathering- 集まりの詳細を表示する必須パラメータとして
gathering_id指定します
list_gatherings- すべての集まりを一覧表示するclose_gathering- 集まりを閉じる必須パラメータとして
gathering_id指定します
delete_gathering- 集まりを削除する必須パラメータとして
gathering_idを取り、オプションのforceパラメータを取ります
add_member- 集まりに新しいメンバーを追加する必須パラメータとして、
gathering_idとmember_nameを使用します。
remove_member- 集まりからメンバーを削除する必須パラメータとして、
gathering_idとmember_nameを使用します。
発達
依存関係をインストールします:
サーバーを構築します。
自動リビルドを使用した開発の場合:
インストール
構成
Claude Desktop で使用するには、サーバー設定を追加します。
設定オプション
commandとargs: サーバーの実行方法を指定しますenv: 環境変数GATHERINGS_DB_PATH: データベースファイルへのパスGATHERINGS_SCRIPT: 収集操作を処理するための Python スクリプトへのパス
alwaysAllow: プロンプトなしで自動的に許可されるツールのリストtimeout: 最大実行時間(秒)
デバッグ
MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。パッケージスクリプトとして提供されているMCP Inspectorの使用をお勧めします。
インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。