Gatherings MCP Server

by abutbul
Apache 2.0

Integrations

  • Serves as the runtime environment for the MCP server, enabling the creation and management of shared expenses for social events through Python-based implementations.

  • Provides an ORM interface for storing gathering data, expenses, and payment records in a SQL database, allowing for persistence of user expense-sharing information.

Servidor MCP de reuniones

Un servidor de protocolo de contexto modelo para gestionar reuniones y compartir gastos.

Gestión de dependencias

Este proyecto utiliza uv para la gestión de dependencias de Python en lugar de pip . Este cambio es necesario debido a los requisitos de dependencia del SDK de Python del Protocolo de Contexto de Modelo .

Asegúrate de tener instalado uv o instálalo mediante pip:

pip install uv

Para instalar las dependencias del proyecto:

uv pip install -r requirements.txt

Descripción general

El servidor MCP de Gatherings proporciona una API que permite a los asistentes de IA interactuar con la aplicación Gatherings mediante el Protocolo de Conversación Automática (MCP). Esto permite que los sistemas de IA ayuden a los usuarios a gestionar gastos compartidos para eventos sociales, salidas o cualquier reunión donde los gastos se dividan entre los participantes.

Características

  • Crear y gestionar reuniones con varios miembros
  • Agregar gastos para miembros específicos
  • Calcular reembolsos justos
  • Registrar pagos y reembolsos
  • Generar resúmenes de pago detallados
  • Agregar o eliminar miembros de las reuniones
  • Cambiar el nombre de los miembros según sea necesario

Instalación

Prerrequisitos

  • Python 3.8+
  • SQLAlchemy
  • Kit de desarrollo de software de MCP

Configuración

  1. Clonar este repositorio:
    git clone https://your-repository.git cd accel
  2. Instale las dependencias necesarias:
    pip install -r requirements.txt
  3. Establecer variables de entorno (opcional):
    # Custom database location export GATHERINGS_DB_PATH=path/to/database.db # Custom script location export GATHERINGS_SCRIPT=path/to/gatherings.py

Uso

Inicie el servidor MCP:

python gatherings_mcp_server.py

El servidor se ejecuta en stdio, lo que lo hace compatible con clientes del protocolo MCP.

Referencia de API

El servidor MCP expone las siguientes herramientas:

create_gathering(gathering_id: str, members: int)

Crea una nueva reunión con el número especificado de miembros.

add_expense(gathering_id: str, member_name: str, amount: float)

Agregar un gasto para un miembro en una reunión.

calculate_reimbursements(gathering_id: str)

Calcular quién le debe qué a quién por una reunión.

record_payment(gathering_id: str, member_name: str, amount: float)

Registrar un pago realizado por un miembro (valor positivo) o un reembolso a un miembro (valor negativo).

rename_member(gathering_id: str, old_name: str, new_name: str)

Cambiar el nombre de un miembro de una reunión.

show_gathering(gathering_id: str)

Mostrar detalles de una reunión, incluidos los gastos y el estado de pago.

list_gatherings()

Enumere todas las reuniones en la base de datos.

close_gathering(gathering_id: str)

Marcar una reunión como cerrada.

delete_gathering(gathering_id: str, force: bool = False)

Eliminar una reunión y todos los datos asociados. Configurar force=True para eliminar reuniones cerradas.

add_member(gathering_id: str, member_name: str)

Agregar un nuevo miembro a una reunión existente.

remove_member(gathering_id: str, member_name: str)

Eliminar a un miembro de una reunión (solo si no tiene gastos).

Ejemplo de flujo

  1. Crea una reunión para una cena con 5 amigos:
    create_gathering("2023-10-15-dinner", 5)
  2. Sumar gastos a medida que la gente paga las cosas:
    add_expense("2023-10-15-dinner", "Alice", 120.50) add_expense("2023-10-15-dinner", "Bob", 35.00)
  3. Calcular reembolsos:
    calculate_reimbursements("2023-10-15-dinner")
  4. Registrar los pagos a medida que las personas liquidan:
    record_payment("2023-10-15-dinner", "Charlie", 31.10)
  5. Cerrar la reunión cuando se hayan liquidado todos los pagos:
    close_gathering("2023-10-15-dinner")

Arquitectura

El servidor MCP de Gatherings consta de tres componentes principales:

  1. Interfaz de servidor MCP ( gatherings_mcp_server.py ): proporciona la interfaz de protocolo MCP con la que las herramientas de IA pueden interactuar.
  2. Capa de servicio ( services.py ): contiene la lógica empresarial para administrar reuniones, gastos y pagos.
  3. Capa de datos ( models.py ): define el esquema de la base de datos utilizando SQLAlchemy ORM y maneja la persistencia de los datos.

Modelo de datos

  • Reunión : Representa un evento social con gastos a dividir.
  • Miembro : Un participante en una reunión
  • Gasto : Dinero gastado por un miembro para la reunión.
  • Pago : Dinero pagado por un miembro para liquidar saldos

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor MCP que ayuda a los asistentes de IA a gestionar el reparto de gastos en eventos sociales, lo que permite la creación de reuniones, el seguimiento de gastos y el cálculo de reembolsos justos entre los participantes.

  1. Dependency Management
    1. Overview
      1. Features
        1. Installation
          1. Prerequisites
          2. Setup
        2. Usage
          1. API Reference
            1. create_gathering(gathering_id: str, members: int)
            2. add_expense(gathering_id: str, member_name: str, amount: float)
            3. calculate_reimbursements(gathering_id: str)
            4. record_payment(gathering_id: str, member_name: str, amount: float)
            5. rename_member(gathering_id: str, old_name: str, new_name: str)
            6. show_gathering(gathering_id: str)
            7. list_gatherings()
            8. close_gathering(gathering_id: str)
            9. delete_gathering(gathering_id: str, force: bool = False)
            10. add_member(gathering_id: str, member_name: str)
            11. remove_member(gathering_id: str, member_name: str)
          2. Example Flow
            1. Architecture
              1. Data Model
                1. Contributing

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    An MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.
                    Last updated -
                    4
                    3
                    2
                    TypeScript
                    MIT License
                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server that integrates with Fewsats allowing AI agents to securely purchase anything by retrieving balances, accessing payment methods, and processing payments.
                    Last updated -
                    4
                    11
                    Python
                  • -
                    security
                    -
                    license
                    -
                    quality
                    A specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.
                    Last updated -
                    31
                    1
                    TypeScript
                  • -
                    security
                    -
                    license
                    -
                    quality
                    A simple MCP server that enables meeting room booking through an AI assistant, supporting room availability checks and booking operations with React Agent pattern for tool calling.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 69btvo84i5