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
- Clonar este repositorio:Copy
- Instale las dependencias necesarias:Copy
- Establecer variables de entorno (opcional):Copy
Uso
Inicie el servidor MCP:
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
- Crea una reunión para una cena con 5 amigos:Copy
- Sumar gastos a medida que la gente paga las cosas:Copy
- Calcular reembolsos:Copy
- Registrar los pagos a medida que las personas liquidan:Copy
- Cerrar la reunión cuando se hayan liquidado todos los pagos:Copy
Arquitectura
El servidor MCP de Gatherings consta de tres componentes principales:
- Interfaz de servidor MCP (
gatherings_mcp_server.py
): proporciona la interfaz de protocolo MCP con la que las herramientas de IA pueden interactuar. - Capa de servicio (
services.py
): contiene la lógica empresarial para administrar reuniones, gastos y pagos. - 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.
This server cannot be installed
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.
- Overview
- Features
- Installation
- Usage
- API Reference
- create_gathering(gathering_id: str, members: int)
- add_expense(gathering_id: str, member_name: str, amount: float)
- calculate_reimbursements(gathering_id: str)
- record_payment(gathering_id: str, member_name: str, amount: float)
- rename_member(gathering_id: str, old_name: str, new_name: str)
- show_gathering(gathering_id: str)
- list_gatherings()
- close_gathering(gathering_id: str)
- delete_gathering(gathering_id: str, force: bool = False)
- add_member(gathering_id: str, member_name: str)
- remove_member(gathering_id: str, member_name: str)
- Example Flow
- Architecture
- Data Model
- Contributing