Skip to main content
Glama
EventOps MCP Server

EventOps MCP Server

EventOps:一个用于活动运营的 MCP 服务器 + AI CLI

EventOps 将多年混乱的活动票务导出数据转化为 AI 工具能够真正推理的内容。它将 MQIS 活动和会员数据(Humanitix 导出)以一组确定性工具的形式暴露给任何 Model Context Protocol 客户端(Claude Desktop、Claude Code、Cursor),并附带一个支持 AI 的命令行工具,可基于这些工具编写运营报告和基于同意(consent-aware)的电子邮件。

我构建它的目的是为我的 AI 工具提供项目特定上下文,而不是泛泛的答案。这就是核心理念:AI 可以调用 get_event_metrics("Saazish") 并获取精确数字,而不是猜测。

设计原则:确定性工具,AI 负责叙述

每个数字都来自 pandas,绝不来自语言模型。MCP 工具和 CLI 都调用同一个 EventData 对象(data_loader.py)进行计数。AI 只决定调用哪个工具以及如何措辞结果。它无法凭空捏造收入数字,因为它从不计算收入。这是项目最重要的属性。

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)

工具

返回内容

list_events

每个数据集及其键和标签

get_event_metrics(event_name)

订单、门票、净收入和毛收入、付费/免费/退款拆分、线上与线下渠道

get_sales_curve(event_name)

随时间变化的销售情况,以及最后 48 小时 / 7 天内售出门票的百分比

lookup_attendee(query)

一个人的完整历史记录(跨所有文件),按电子邮件或姓名查找

find_loyal_members(min_events=2)

跨活动常客,以及其中有多少是会员

build_marketing_segment(target)

基于同意(consent-aware)的联系人列表(仅限选择加入 = Yes)

portfolio_summary

所有内容的总计

AI 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 事实,而不是 AI 编写的版本。这是证明工具精确性的好方法:AI 输出只会重述 --raw 中的数字。

draft-email 命令只包含 Marketing opt-in 为 Yes 的人员,因此不会向未同意的人起草邮件。

设置

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):结构相同。重启客户端,然后询问类似“使用 eventops,比较 Raaz 和 Saazish”或“谁是我们最忠实的参与者?”的问题,它就会调用这些工具。

数据隐私

真实导出数据包含个人信息(姓名、电子邮件、电话号码)。它们位于 ./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
└── .gitignore

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects 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 npm
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A 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.
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes aggregated Shotgun event sales, net revenue, ticket quotas, and audience stats to AI assistants via natural language queries.
    MIT