mcpField
G
gatherings MCP Server

gatherings MCP Server

ローカル
github.com/abutbul金融データ079 週間前に更新

gatherings MCP Server について

gatherings MCP Serverは、集まりでの共同支出や支払いを記録するMCPサーバーです。イベントやメンバーの管理、精算額の計算に対応し、TypeScript層からPythonバックエンドを呼び出します。

主な機能

  1. 01集まりの作成と管理
  2. 02メンバー別の支出と支払いの記録
  3. 03精算額の計算
  4. 04メンバーの管理
  5. 05集まりの表示と終了

活用シーン

  1. 01グループイベント費用の分担
  2. 02友人間の精算額の計算
  3. 03共同支出に対する支払いの記録

MCP 対応

MCPクライアントに、集まり・支出・支払い・精算のツールを提供します。TypeScriptサーバーはリクエストをPythonスクリプトに渡します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

gatherings MCP サーバー

集まりと費用の分担を管理するための Model Context Protocol サーバーです。

これは、交流イベントの費用や支払いを追跡し、友人同士の精算額や残高を簡単に計算できる TypeScript ベースの MCP サーバーです。

アーキテクチャに関する注意事項

重要:このプロジェクトでは、Node.js アプリケーションとして標準的ではないアーキテクチャを採用しています。TypeScript 製の MCP サーバーは、Python バックエンド実装のラッパーとして機能します。Node.js サーバーは MCP リクエストを受け取り、Python スクリプトを呼び出すコマンドライン呼び出しに変換して、結果を返します。

現在のニーズには対応できていますが、本番アプリケーション向けとしては、最も効率的で保守しやすい方法ではありません。

TODO
  • より標準的なアーキテクチャを採用するよう、実装をリファクタリングする:
    • バックエンドを TypeScript/JavaScript に完全移行する
    • または、Node.js コンポーネントと Python コンポーネント間に適切なプロセス間通信を実装する
    • または、Python バックエンドが API を提供し、MCP サーバーがそれを利用する REST API 方式に置き換える
  • Node.js コンポーネントと Python コンポーネント間のエラー処理を改善する
  • コンポーネント間の連携を対象とした自動テストを追加する
  • Dockerfile を最適化する

機能

ツール
  • 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 を受け取ります

開発

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

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
    }
  }
}
設定オプション
  • command と args:サーバーの実行方法を指定します
  • env:環境変数
    • GATHERINGS_DB_PATH:データベースファイルへのパス
    • GATHERINGS_SCRIPT:集まりの操作を処理する Python スクリプトへのパス
  • alwaysAllow:確認なしで自動的に許可されるツールの一覧
  • timeout:最大実行時間(秒)
デバッグ

MCP サーバーは標準入出力を介して通信するため、デバッグが難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします:

npm run inspector

Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。