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:
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:
- Instale las dependencias necesarias:
- Establecer variables de entorno (opcional):
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:
- Sumar gastos a medida que la gente paga las cosas:
- Calcular reembolsos:
- Registrar los pagos a medida que las personas liquidan:
- Cerrar la reunión cuando se hayan liquidado todos los pagos:
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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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.
- Gestión de dependencias
- Descripción general
- Características
- Instalación
- Uso
- Referencia de API
- 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)
- Ejemplo de flujo
- Arquitectura
- Modelo de datos
- Contribuyendo
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.Last updated -438TypeScriptMIT License
Fewsats MCP Serverofficial
AsecurityFlicenseAqualityAn MCP server that integrates with Fewsats allowing AI agents to securely purchase anything by retrieving balances, accessing payment methods, and processing payments.Last updated -413Python- -securityFlicense-qualityA specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.Last updated -315JavaScript
- -security-license-qualityA 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