Cover image
Try Now
2025-04-14

This is a TypeScript-based MCP server, which wraps around a python script. together it helps track expenses and payments for social events, making it easy to calculate reimbursements and settle balances between friends.

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

gatherings MCP Server

A Model Context Protocol server for managing gatherings and expense sharing.

This is a TypeScript-based MCP server that helps track expenses and payments for social events, making it easy to calculate reimbursements and settle balances between friends.

Architecture Note

Important: This project uses a non-standard architecture for a Node.js application. The TypeScript MCP server acts as a wrapper around a Python backend implementation. The Node.js server receives MCP requests, translates them to command-line calls to the Python script, and returns the results.

While this architecture works for our current needs, it's not the most efficient or maintainable approach for a production application.

TODO

  • Refactor the implementation to use a more standard architecture:
    • Either fully migrate the backend to TypeScript/JavaScript
    • Or implement proper inter-process communication between Node.js and Python components
    • Or replace with a REST API approach where the Python backend provides an API that the MCP server consumes
  • Improve error handling between the Node.js and Python components
  • Add automated tests for the integration between components

Features

Tools

  • create_gathering - Create a new gathering
    • Takes gathering_id and members as required parameters
  • add_expense - Add an expense for a member
    • Takes gathering_id, member_name, and amount as required parameters
  • calculate_reimbursements - Calculate reimbursements for a gathering
    • Takes gathering_id as a required parameter
  • record_payment - Record a payment made by a member
    • Takes gathering_id, member_name, and amount as required parameters
  • rename_member - Rename an unnamed member
    • Takes gathering_id, old_name, and new_name as required parameters
  • show_gathering - Show details of a gathering
    • Takes gathering_id as a required parameter
  • list_gatherings - List all gatherings
  • close_gathering - Close a gathering
    • Takes gathering_id as a required parameter
  • delete_gathering - Delete a gathering
    • Takes gathering_id as a required parameter, optional force parameter
  • add_member - Add a new member to a gathering
    • Takes gathering_id and member_name as required parameters
  • remove_member - Remove a member from a gathering
    • Takes gathering_id and member_name as required parameters

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

Configuration

To use with Claude Desktop, add the server config:

{
  "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
    }
  }
}

Configuration Options

  • command and args: Specifies how to run the server
  • env: Environment variables
    • GATHERINGS_DB_PATH: Path to the database file
    • GATHERINGS_SCRIPT: Path to the Python script for handling gathering operations
  • alwaysAllow: List of tools that will be automatically allowed without prompting
  • timeout: Maximum execution time in seconds

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Lists Tailwind CSS classes in monospaced font

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    4 (1)
    Avatar
    user_ngPBjYP4
    2025-04-15

    I've been using the Remote MCP Server on Cloudflare by zhb0808, and it has transformed my remote management tasks. The setup was straightforward, and the seamless integration with Cloudflare ensures exceptional performance and reliability. Highly recommend it for anyone needing a robust remote MCP solution!