Gatherings MCP Server

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.

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

Una interfaz de servidor de Protocolo de conversación de máquina (MCP) para la aplicación de reparto de gastos de Gatherings.

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.

ID: 69btvo84i5