使用说明
火花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"
}
}
}
}
认证
凭证可以通过三种方式提供:
- 环境变量 (推荐)--设置
SPARK_EMAIL,SPARK_PASSWORD,以及SPARK_LOCATION_ID在您的MCP配置中。服务器在第一次工具调用时自动进行身份验证。 login工具 --在运行时手动调用它,不使用任何env变量。- 混合 --在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会员帐户(通过工作室的应用程序)