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:
Para instalar las dependencias del proyecto:
Related MCP server: Gatherings MCP Server
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:
git clone https://your-repository.git cd accelInstale las dependencias necesarias:
pip install -r requirements.txtEstablecer 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:
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:
create_gathering("2023-10-15-dinner", 5)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)Calcular reembolsos:
calculate_reimbursements("2023-10-15-dinner")Registrar los pagos a medida que las personas liquidan:
record_payment("2023-10-15-dinner", "Charlie", 31.10)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:
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.