EventOps MCP Server
EventOps: MCP-сервер + ИИ-CLI для организации мероприятий
EventOps превращает годы беспорядочных выгрузок продажи билетов в данные, с которыми ИИ-инструмент действительно может работать. Он открывает данные о событиях и членстве MQIS (экспорты Humanitix) любому клиенту Model Context Protocol (Claude Desktop, Claude Code, Cursor) как набор детерминированных инструментов, а также предоставляет небольшой ИИ-CLI, который поверх этих же инструментов пишет операционные отчёты и письма с учётом согласия пользователей.
Я создал его, чтобы дать своим ИИ-инструментам контекст проекта, а не общие ответы. В этом вся суть: ИИ может вызвать get_event_metrics("Saazish") и получить точную цифру, а не гадать.
Принцип разработки: детерминированные инструменты, ИИ — для описания
Каждое число берётся из pandas, а не из языковой модели. Инструменты MCP и CLI оба обращаются к одному объекту EventData (data_loader.py), который выполняет подсчёт. ИИ лишь решает, какой инструмент вызвать и как сформулировать результат. Он не может выдумать цифру выручки, потому что никогда не вычисляет её. Это самое важное свойство проекта.
Related MCP server: Presso MCP Server
Что это даёт (реальные цифры с моих собственных мероприятий)
В 8 наборах данных: 3 690 заказов, 4 690 действительных билетов, ~2 770 уникальных людей и около A$61.4k выручки для MQIS (за вычетом платформенных комиссий; ~A$62.1k валовой продажи билетов). 238 человек посетили 2 и более различных мероприятия, из них 69 также имели членство.
В исходных данных есть три денежных столбца, и это не одно и то же:
Ticket sales (валовая номинальная стоимость), Paid (сколько заплатил покупатель, включая сборы Humanitix) и Your earnings (сколько MQIS фактически получила). EventOps показывает Your earnings как «выручку MQIS», поэтому ключевая цифра честная.
Инструменты, доступные через MCP (server.py)
Инструмент | Что возвращает |
| Все наборы данных с их ключом и названием |
| Заказы, билеты, чистая и валовая выручка, разбивка по платным/бесплатным/возвращённым, онлайн- и ручной каналы |
| Продажи по времени, плюс % билетов, проданных за последние 48 часов / 7 дней |
| Полная история одного человека по всем файлам, по email или по имени |
| Постоянные посетители мероприятий и сколько из них являются членами |
| Список контактов с учётом согласия (только opt-in = Yes) |
| Итоговые суммы по всему |
ИИ-CLI (cli.py)
python cli.py summary
python cli.py report --event "Saazish"
python cli.py compare --e1 "Raaz" --e2 "Saazish"
python cli.py draft-email --type promo --target non-members --event "Gulaal"
python cli.py attendee --query "someone@example.com"Добавьте --raw к любой команде, чтобы вывести лежащие в основе JSON-факты, а не текст, написанный ИИ. Это хороший способ убедиться в точности инструментов: вывод ИИ лишь пересказывает цифры из --raw.
Команда draft-email включает только тех людей, у которых Marketing opt-in равно Yes, поэтому черновик не создаётся для тех, кто не дал согласие.
Setup
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 1. Sample data (safe, synthetic) so it runs out of the box:
python gen_sample_data.py
# 2. Or use real data: drop your Humanitix CSV exports into ./data/
# (that folder is git-ignored and never committed)
# 3. For the CLI, set your key:
cp .env.example .env # then edit, or just:
export ANTHROPIC_API_KEY=sk-ant-...Если ./data пуст, EventOps автоматически переключается на ./sample_data, поэтому свежий клон работает сразу.
Подключение MCP-сервера к клиенту
Claude Desktop / Claude Code (claude_desktop_config.json):
{
"mcpServers": {
"eventops": {
"command": "python",
"args": ["/absolute/path/to/event-ops-mcp/server.py"]
}
}
}Cursor (.cursor/mcp.json): то же самое. Перезапустите клиент, а затем задавайте вопросы вроде: «Using eventops, compare Raaz and Saazish» или «Кто наши самые постоянные посетители?» — и он вызовет инструменты.
Конфиденциальность данных
Реальные выгрузки содержат личные данные (имена, email-адреса, телефоны). Они находятся в ./data/, который игнорируется git. В коммит попадает только синтетические данные из ./sample_data/. Не коммитьте реальные данные посетителей.
Файлы
event-ops-mcp/
├── data/ # real Humanitix CSVs (git-ignored, you provide)
├── sample_data/ # synthetic CSVs, safe to commit
├── data_loader.py # cleaning + all deterministic analytics
├── server.py # FastMCP server exposing the tools
├── cli.py # AI-enabled CLI (Anthropic API)
├── gen_sample_data.py # builds the synthetic dataset
├── requirements.txt
├── .env.example
└── .gitignoreThis server cannot be deployed
Maintenance
Related MCP Connectors
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Read your events, sales, orders and attendees from your AI assistant. OAuth sign-in, read only.
- SendinelOAuthai.sendinel
AI-controlled email ops for campaigns, contacts, segments, analytics, and sending.
Run in-person events from your AI: create events, manage tickets, attendees, broadcasts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates with the Eventbrite API to provide AI-assisted event management capabilities for viewing events, tracking attendees, and generating analytics reports.6 npm3MIT

Presso MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceConnects e-commerce and marketing data sources like Shopify, GA4, Google Ads, and Meta Ads to AI assistants, enabling natural language queries about store performance, ad campaigns, and customer behavior.11 npm2MIT- AlicenseAqualityCmaintenanceA read-only MCP server for the Humanitix Public API that exposes nine tools to list events, fetch event details, list orders/tickets, check-in counts, and sales summaries.9MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes aggregated Shotgun event sales, net revenue, ticket quotas, and audience stats to AI assistants via natural language queries.MIT