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_idmember_nameamountを取ります。
  • calculate_reimbursements - 集まりの払い戻しを計算する
    • 必須パラメータとしてgathering_id指定します
  • record_payment - メンバーによる支払いを記録する
    • 必須パラメータとして、 gathering_idmember_nameamountを取ります。
  • rename_member - 名前のないメンバーの名前を変更する
    • 必須パラメータとして、 gathering_idold_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を使用します。

発達

依存関係をインストールします:

npm install

サーバーを構築します。

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