会员管理系统代理服务

spark-mcp是一个为Spark Membership平台设计的代理服务器,用于管理课程安排、预订、考勤等功能,适用于武术工作室等场景。

  • by aserper
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 aserper/spark-mcp

使用说明

火花mcp

MCP服务器 Spark会员资格 平台——数百家武术工作室使用的CRM。通过任何MCP客户端(例如Claude Code)管理课程安排、预订、出勤等。

通过对Spark会员移动应用程序API进行反向工程构建。

快速入门(Docker)

Docker是运行spark-mcp的首选方式,不需要安装Python。

1.拉取图像:

docker pull ghcr.io/aserper/spark-mcp:latest

2.添加到您的Claude代码配置中 (.mcp.json 在您的项目根目录中或 ~/.claude/settings.json):

{
  "mcpServers": {
    "spark": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "--rm", "-i",
        "-e", "SPARK_EMAIL", "-e", "SPARK_PASSWORD", "-e", "SPARK_LOCATION_ID",
        "ghcr.io/aserper/spark-mcp"],
      "env": {
        "SPARK_EMAIL": "your-email@example.com",
        "SPARK_PASSWORD": "your-password",
        "SPARK_LOCATION_ID": "1234"
      }
    }
  }
}

3.重新启动克劳德代码 并开始询问你的课程。

查找您的位置ID

Spark会员资格上的每个工作室都有一个数字位置ID。使用附带的 find_location.py 脚本来查找它。

按州代码搜索:

# Docker
docker run --rm --entrypoint python ghcr.io/aserper/spark-mcp find_location.py MA

# Local
python find_location.py MA

按工作室名称搜索:

# Docker
docker run --rm --entrypoint python ghcr.io/aserper/spark-mcp find_location.py "jiu jitsu"

# Local
python find_location.py natick

交互模式 (列出国家、州和地点):

# Docker
docker run --rm -it --entrypoint python ghcr.io/aserper/spark-mcp find_location.py

# Local
python find_location.py

输出示例:

    ID  Name
    --  ----
  1588  Metrowest Academy of Jiu Jitsu (Natick)
  6218  Villaris Martial Arts of Natick (Natick)

使用 ID 作为你的价值 SPARK_LOCATION_ID.

工具

工具 说明
login 使用电子邮件、密码和位置ID进行身份验证
list_classes 列出给定日期的可用课程
my_classes 列出您当前注册的课程
book_class 根据花名册ID和日期预订课程
cancel_booking 取消课程预订
join_waitlist 加入候补名单,享受完整的课程
get_waitlist 列出你在候补名单上的课程
checkin 登记上课
dashboard 获取工作室仪表板概述
attendance 查看考勤历史记录
announcements 获取工作室公告
memberships 获取会员身份

用法示例

配置后,您可以向Claude询问以下问题:

  • “这个星期六有什么课?”
  • “预订我参加3月21日上午9点的忍者课程”
  • “我报名干什么?”
  • “取消我周六的预订”
  • “显示我的出勤历史记录”
  • “工作室有什么新消息吗?”

替代方案:本地安装

如果你不想使用Docker:

git clone https://github.com/aserper/spark-mcp.git
cd spark-mcp
uv venv && source .venv/bin/activate
uv pip install -e .

然后配置Claude代码:

{
  "mcpServers": {
    "spark": {
      "type": "stdio",
      "command": "/path/to/spark-mcp/.venv/bin/python",
      "args": ["-m", "spark_mcp"],
      "env": {
        "SPARK_EMAIL": "your-email@example.com",
        "SPARK_PASSWORD": "your-password",
        "SPARK_LOCATION_ID": "1234"
      }
    }
  }
}

认证

凭证可以通过三种方式提供:

  1. 环境变量 (推荐)--设置 SPARK_EMAIL, SPARK_PASSWORD,以及 SPARK_LOCATION_ID 在您的MCP配置中。服务器在第一次工具调用时自动进行身份验证。
  2. login 工具 --在运行时手动调用它,不使用任何env变量。
  3. 混合 --在env-vars中设置电子邮件/密码并使用 login 切换位置。

令牌过期时会自动刷新。

API 参考

所有端点均已命中 https://mobileapi.sparkmembership.com/api/student/.Auth使用带有自动刷新功能的Bearer令牌。看 api-discovery.md 以获取完整的端点参考。

OpenClaw/Claude代码技能(可选)

对于更高级别的自然语言界面,请安装 spark 技能:

# Via mcporter
mcporter config import spark ./openclaw-skill/SKILL.md

# Or manually copy to your OpenClaw skills directory
cp -r openclaw-skill ~/.openclaw/skills/spark

然后使用自然语言命令:

spark who                          # Discover family members
spark book hailey thursday         # Book Hailey for next Thursday
spark bulk "ily saturdays 4 weeks" # Bulk book Saturdays
spark my-classes                   # Show current bookings

看 张开爪技能/技巧.md 获取完整文档。

需求

  • Docker(首选)或Python 3.11+
  • Spark会员帐户(通过工作室的应用程序)