mcpField
S
Skool by Cotlet

Skool by Cotlet

远程服务
cotlet.dev社交媒体41 天前更新

关于 Skool by Cotlet

Skool by Cotlet 是面向技术用户的自托管 Python API 和 MCP 服务,用于管理 Skool 社群。它使用已登录的 Chrome 会话,并提供 REST 和 Python 接口。

主要功能

  1. 01管理成员、帖子、课程、活动和聊天
  2. 02提供 69 个 Skool 工具
  3. 03通过 Chrome 会话 Cookie 连接
  4. 04支持 MCP、REST API 和 Python
  5. 05通过 stdio 或 HTTP 运行

适用场景

  1. 01查看并批准入群申请
  2. 02导出成员或帖子数据
  3. 03发布帖子并发送私信
  4. 04查看社群成员及收入统计

MCP 相关

通过 stdio 或可流式传输的 HTTP,向 MCP 客户端提供 Skool 社群操作工具。工具包含只读和写入操作提示,供客户端控制执行确认。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://cotlet.dev/mcp/v1/skool/connect
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://cotlet.dev/mcp/v1/skool/connect
Streamable HTTPhttps://cotlet.dev/mcp/v1/skool需要授权
安装包
pypiskool-api-mcp1.0.3

工具

详细介绍

Skool API 和 MCP 服务,可自托管

Skool API 和 Skool MCP 服务,使用 Python 在你自己的电脑上运行,并通过你自己的 Google Chrome 会话工作。包含我们在 Cotlet 投入生产使用的全部 69 个 Skool 工具:成员、成员资格申请、帖子、评论、投票、Classroom、Calendar、群组设置、Skool Chat 和统计数据。

Skool 没有公共 API,也没有官方 MCP 服务。这个仓库同时提供二者:

  • 面向 Claude Code、Claude Desktop、Cursor、Codex 和任何 MCP 客户端的 MCP 服务,支持 stdio 或 HTTP。设置
  • 提供 http://127.0.0.1:8787/api/v1/skool 的 REST API,并在 /docs 提供 OpenAPI 文档。设置
  • Python:call("list_members", group="yourgroup"),以及 examples/ 中的 16 个现成脚本。

本项目面向想要自行运行它的技术人员,仅限非商业用途(许可证)。如果你希望在服务器上全天候运行、在 Skool 更改网站后仍能正常工作,供团队或企业使用,请使用 cotlet.dev 上的托管版本。

Skool MCP 服务 Python 3.11+ 许可证:PolyForm Noncommercial 1.0.0

git clone https://github.com/cotletdev/skool-api-mcp-server.git && cd skool-api-mcp-server
python3 -m venv .venv && . .venv/bin/activate && pip install -e .
skool-mcp connect                                  # reads your Skool session from Chrome
skool-mcp call list_groups
claude mcp add skool -- "$PWD/.venv/bin/skool-mcp" mcp

目录

工作原理

AI agent (MCP) / script (REST, Python) ──▶ skool-mcp on your computer ──your Skool cookies──▶ skool.com
                                                  ▲
                         skool-mcp connect ───────┘ reads them once from your Chrome (DevTools Protocol)
  1. 像往常一样,在你自己的 Chrome 中登录 Skool。
  2. skool-mcp connect 通过 Chrome DevTools Protocol 连接到该 Chrome,读取 skool.com Cookie,并将其保存到 ~/.config/skool-api-mcp/session.json;只有你的用户可以读取该文件。它不会查看或存储你的密码。
  3. 每次工具调用都会使用这些 Cookie 请求 Skool 自己的 Web 应用端点(api2.skool.com 和 www.skool.com 的页面数据),并通过 curl_cffi 发送请求;它会复制 Chrome 的 TLS 指纹。此过程不会运行无头浏览器。

Skool 的会话 Cookie 有效期约为一年。当 Skool 将你登出时,只要 Chrome 已打开远程调试,服务就会再次从 Chrome 读取 Cookie。

要求

  • Python 3.11 或更高版本。
  • Google Chrome 144 或更高版本,并已登录 Skool。任何启用了调试端口的 Chrome 或 Chromium 均可使用。
  • macOS、Linux 或 Windows。
  • 使用工具所需的 Skool 角色:成员资格申请需要管理员或版主权限;统计数据和群组设置需要管理员权限。在你所属的群组中,任何角色都可以读取成员、帖子、课程和聊天内容。

安装

git clone https://github.com/cotletdev/skool-api-mcp-server.git
cd skool-api-mcp-server
python3 -m venv .venv
. .venv/bin/activate              # Windows: .venv\Scripts\activate
pip install -e .
skool-mcp --version

使用 uv:运行 uv venv && uv pip install -e .,然后运行 uv run skool-mcp ...。

要使用 AI Agent(Claude Code、Codex、Cursor)进行设置?在此文件夹中打开仓库,并让它帮你设置:AGENTS.md 会告诉它每个步骤;只有 Chrome 中的步骤需要你操作。

更新方式:git pull && pip install -e .。托管版 Skool 工具的每项更改都会同步到此仓库。

连接你的 Chrome

选项 A:你日常使用的 Chrome(推荐)
  1. 在 Chrome 中打开 chrome://inspect/#remote-debugging,然后开启远程调试。Chrome 随后会接受这台电脑上的程序发起的 DevTools 连接,并在每次连接时征求你的许可。

  2. 确认你已登录 skool.com。

  3. 运行:

    skool-mcp connect
    
  4. Chrome 会询问是否允许连接。点击允许。

Saved 15 skool.com cookies to /Users/you/.config/skool-api-mcp/session.json
Signed in to Skool as Ana Lopez (ana-lopez-4127)

之后可以再次关闭远程调试。如果你希望 Skool 将你登出后,服务自动获取新的会话,请保持此功能开启。

connect 会在 Chrome 的默认配置文件夹中查找 DevToolsActivePort 文件。对于 Chrome Beta、Canary 或自定义配置文件夹,请传入 --profile-dir "<folder>"。

选项 B:使用带调试端口的 Chrome

Chrome 不会在默认配置文件上开放调试端口,因此请启动另一个 Chrome,在其中登录 Skool 一次,然后连接到它:

# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-skool"
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-skool"
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%USERPROFILE%\.chrome-skool"

skool-mcp connect --cdp http://127.0.0.1:9222

--cdp 也接受 ws:// DevTools URL,例如通过 SSH 隧道连接到另一台机器上的 Chrome。

选项 C:手动粘贴 Cookie

如果服务器上没有 Chrome:在 Chrome 中打开 skool.com 的 DevTools,选择**应用 > Cookie > https://www.skool.com**,复制 auth_token 的值,然后:

skool-mcp connect --token          # paste it, input is hidden
# or, without a session file:
export SKOOL_AUTH_TOKEN=...

粘贴的令牌不会自动刷新。Skool 将你登出后,请粘贴一个新令牌。

随时检查会话:

skool-mcp status

MCP 服务

MCP 服务会列出每个工具及其输入架构、面向 Agent 编写的说明和提示:读取工具会标记为只读;发布、发送消息或删除内容的工具会标明这一点,以便客户端在执行前征求你的许可。

Claude Code
claude mcp add skool -- /path/to/skool-api-mcp-server/.venv/bin/skool-mcp mcp
# read only:
claude mcp add skool -- /path/to/skool-api-mcp-server/.venv/bin/skool-mcp mcp --read-only
Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "skool": {
      "command": "/path/to/skool-api-mcp-server/.venv/bin/skool-mcp",
      "args": ["mcp"]
    }
  }
}
Cursor

~/.cursor/mcp.json,与 Claude Desktop 使用相同的配置块。可直接使用的副本位于 mcp.json。

Codex

~/.codex/config.toml:

[mcp_servers.skool]
command = "/path/to/skool-api-mcp-server/.venv/bin/skool-mcp"
args = ["mcp"]
通过 HTTP

skool-mcp serve 还会通过可流式传输的 HTTP,在 http://127.0.0.1:8787/mcp 提供 MCP 服务,适用于接受 URL 的客户端:

skool-mcp serve
claude mcp add --transport http skool http://127.0.0.1:8787/mcp

然后可以向 Agent 提出这类要求:

列出待处理的成员申请,并批准其中回答提到业务的申请。

过去 7 天的帖子中,哪些还没有评论?为每篇帖子起草一条回复。

创建一个周四 18:00 CET 的 Calendar 活动,附上 Zoom 链接,并发布一条置顶公告。

告诉我过去 30 天的新成员数、流失人数和 MRR。

REST API

skool-mcp serve                    # http://127.0.0.1:8787, MCP at /mcp, docs at /docs

每个工具在 /api/v1/skool 下都有自己的路由,路径与 cotlet.dev 上托管的 API 相同,因此针对其中一个编写的代码也适用于另一个。路径部分和查询字符串是参数,JSON 请求体则提供其余参数。

curl 'http://127.0.0.1:8787/api/v1/skool/groups'
curl 'http://127.0.0.1:8787/api/v1/skool/groups/yourgroup/members?limit=30&role=admin'
curl -X POST http://127.0.0.1:8787/api/v1/skool/groups/yourgroup/posts \
  -H 'Content-Type: application/json' \
  -d '{"title": "Live call tonight", "body": "8pm CET, link in the Calendar.", "category": "Announcements"}'

按名称调用任意工具,并将请求体作为其参数:

curl -X POST http://127.0.0.1:8787/api/v1/skool/tools/list_members -d '{"group": "yourgroup"}'
  • GET /api/v1/skool/tools:列出每个工具及其路由、输入架构和示例回答。
  • GET /docs:交互式 OpenAPI 文档;GET /openapi.json:架构,可用于 n8n、Postman 或生成的客户端。
  • 回答采用 JSON 格式。列表会返回 next_cursor;将其作为 cursor 传回即可获取下一页。

服务仅监听 127.0.0.1。如需从你的另一台设备访问,请设置令牌;之后每个请求都需要包含 Authorization: Bearer <token>:

SKOOL_MCP_TOKEN=$(openssl rand -hex 24) skool-mcp serve --host 0.0.0.0

Python 和示例脚本

直接通过 Python 使用,无需服务:

from skool_api_mcp import call
from skool_api_mcp.scripting import paginate, write_rows

groups = call("list_groups")["groups"]
members = list(paginate("list_members", {"group": "yourgroup", "joined_since": "2026-10-01"}, "members"))
write_rows(members, "members.csv")
call("create_post", group="yourgroup", category="Announcements", title="Week 12", body="Ship one landing page.")

也可以在命令行中调用单个工具:skool-mcp call list_posts group=yourgroup limit=10,或传入 JSON 对象。

可直接使用的脚本位于 examples/。每个脚本都会输出 JSON,在适用时支持 --out file.csv 或 --out file.json,并提供 --help:

脚本功能
list_groups.py列出你的群组,以及你的角色、成员人数和价格。
export_members.py将成员信息导出为 CSV 或 JSON:姓名、角色、等级、积分、加入日期、个人资料 URL。支持 --role、--since。
list_membership_requests.py列出待处理的申请及每位申请者的回答。
approve_membership_requests.py批准所有待处理的申请,或仅批准回答中匹配 --match 关键词的申请。先使用 --dry-run 预览。
decline_membership_request.py拒绝一项申请。
welcome_new_members.py向过去 N 天内加入的所有成员发送欢迎私信,并附上你的“从这里开始”课程链接。
export_posts.py导出动态帖子:标题、作者、类别、点赞数、评论数、日期。支持 --category、--since。
get_post.py获取一篇帖子及其正文和完整评论树。
unanswered_posts.py列出过去 N 天内尚无评论的帖子。
create_post.py通过 --body 或 Markdown 文件发布帖子;--pin 可将其置顶。
comment_on_post.py评论帖子,或在评论下回复。
pin_post.py在动态或 Classroom 页面置顶或取消置顶帖子。
list_courses.py列出 Classroom 课程及其模块、解锁规则和 URL。
unread_messages.py列出未读的 Skool Chat 对话及完整对话串。
send_message.py向一位成员发送私信。
group_stats.py查看 7、30 或 90 天内的成员总数、新增成员、流失成员和 MRR。
python examples/export_members.py --group yourgroup --out members.csv
python examples/approve_membership_requests.py --group yourgroup --match business --dry-run

要定时运行,只要电脑开着,在自己的电脑上使用 cron 即可:0 8 * * * cd ~/skool-api-mcp-server && .venv/bin/python examples/group_stats.py --group yourgroup。

全部 69 个工具

group 是社区的 URL 名称:对于 skool.com/yourgroup,它就是 yourgroup。运行 skool-mcp tools 可打印此列表;运行 skool-mcp tools --json 可显示输入架构。

群组和搜索
工具访问权限REST 路由功能
list_groups读取GET /groups列出你账号所属的 Skool 群组,以及你的角色(或待处理状态)、成员人数和价格。
get_group读取GET /groups/{group}获取群组名称、简介文本、隐私设置、价格、人数、所有者和入群问题。
get_group_stats读取GET /groups/{group}/stats获取指定时段内的成员总数、新增成员、流失成员和每月经常性收入。仅限管理员使用。
discover_groups读取GET /groups/discover搜索 Skool 公开的社区目录,查看成员人数、价格和评分。
search_group读取GET /groups/{group}/search按群组搜索框的方式,搜索群组的帖子、成员或课程。
帖子
工具访问权限REST 路由功能说明
list_posts读取GET /groups/{group}/posts查看群组动态中的帖子,置顶帖子优先,其余按最新排序,并显示作者、分类、点赞数和评论数。
get_post读取GET /groups/{group}/posts/{post_id}查看一篇帖子的完整正文和评论,回复嵌套在对应评论下。
create_post写入POST /groups/{group}/posts以你的身份在某个分类下向社区动态发布帖子。
update_post写入PATCH /groups/{group}/posts/{post_id}修改你发布的帖子标题、正文或分类;管理员也可以修改任意帖子。
delete_post写入DELETE /groups/{group}/posts/{post_id}永久删除帖子或评论:可以删除自己的内容;管理员也可以删除任何人的内容。
评论、点赞、投票和内容管理
工具访问权限REST 路由功能说明
comment_on_post写入POST /groups/{group}/posts/{post_id}/comments以你的身份评论帖子或回复评论。
like_post写入PUT /groups/{group}/posts/{post_id}/like点赞帖子或评论,或取消点赞。
list_post_likes读取GET /groups/{group}/posts/{post_id}/likes查看点赞了帖子或评论的人。
follow_post写入PUT /groups/{group}/posts/{post_id}/follow订阅帖子的新评论通知,或取消订阅。
pin_post写入PUT /groups/{group}/posts/{post_id}/pin将帖子置顶到动态顶部(最多 3 篇)或课堂页面(最多 12 篇)。仅限管理员。
pin_comment写入PUT /groups/{group}/posts/{post_id}/comments/{comment_id}/pin将评论置顶到帖子评论区顶部,或取消置顶。
set_post_comments写入PUT /groups/{group}/posts/{post_id}/commenting关闭或重新开启帖子的评论功能。
vote_on_poll写入PUT /groups/{group}/posts/{post_id}/poll/vote参与帖子投票、更改投票选项或取消投票。
get_poll_results读取GET /groups/{group}/posts/{post_id}/poll查看帖子投票的选项和票数;还可以选择查看每个人投了什么。
list_reported_posts读取GET /groups/{group}/posts/reported查看成员举报给管理员、等待审核的帖子。仅限管理员和版主。
成员
工具访问权限REST 路由功能说明
list_members读取GET /groups/{group}/members查看群组成员及其角色、等级、积分和加入日期,按加入时间从新到旧排序;也包括已封禁或已流失的成员。
search_members读取GET /groups/{group}/members/search按姓名查找群组成员,效果与 @提及框相同。
get_member读取GET /groups/{group}/members/{member_id}查看群组中一位成员的个人资料:姓名、简介、角色、等级、积分及最近上线时间。
get_leaderboard读取GET /groups/{group}/leaderboard查看群组过去 7 天、30 天或所有时间内积分最高的 10 位成员,以及你的排名。
invite_members写入POST /groups/{group}/invitations通过电子邮件向他人发送邀请,让他们直接加入群组。仅限管理员。
remove_member写入DELETE /groups/{group}/memberships/{membership_id}将成员移出群组或解除封禁。仅限管理员。
ban_member写入POST /groups/{group}/memberships/{membership_id}/ban封禁群组成员,还可选择删除其近期帖子。仅限管理员。
set_member_role写入PUT /groups/{group}/memberships/{membership_id}/role将成员设为管理员或版主,或恢复为普通成员。仅限管理员。
成员加入申请
工具权限REST 路由功能说明
list_membership_requests读取GET /groups/{group}/membership-requests查看待处理的加入申请,以及每位申请者对成员资格问题的回答。仅限管理员和版主。
approve_membership_request写入POST /groups/{group}/membership-requests/{request_id}/approve批准申请者加入群组。如果已设置自动私信,系统会照常发送。
decline_membership_request写入POST /groups/{group}/membership-requests/{request_id}/decline拒绝申请者的加入申请。
课堂
工具权限REST 路由功能说明
list_courses读取GET /groups/{group}/courses查看群组课堂中的课程,包括对你开放或锁定的课程,以及开放课程的模块。
get_course读取GET /groups/{group}/courses/{course_id}查看一门课程及其课程内容和文件夹,顺序与课堂中一致;使用 get_lesson 读取课程内容。
create_course写入POST /groups/{group}/courses在群组课堂中添加课程,可设为草稿或已发布。仅限管理员。
set_course_published写入PUT /groups/{group}/courses/{course_id}/published向成员发布草稿课程,或将其改回草稿。仅限管理员。
get_lesson读取GET /groups/{group}/courses/{course_id}/lessons/{lesson_id}查看一节课程内容的文本和视频链接。
create_lesson写入POST /groups/{group}/courses/{course_id}/lessons在课程末尾添加一节课程内容,并附上文本和视频链接。仅限管理员。
update_lesson写入PATCH /groups/{group}/lessons/{lesson_id}修改课程内容的标题、文本或视频链接。仅限管理员。
mark_lesson_complete写入PUT /groups/{group}/lessons/{lesson_id}/completion在你自己的课程进度中将课程内容标记为已完成,或撤销标记。
日历
工具权限REST 路由功能说明
list_events读取GET /groups/{group}/events查看某个群组日历中一个月内的活动:标题、时间、地点和参与权限。
get_event读取GET /groups/{group}/events/{event_id}查看一项日历活动的完整说明、地点和参与权限。
create_event写入POST /groups/{group}/events在群组日历中添加活动。仅限管理员。
update_event写入PATCH /groups/{group}/events/{event_id}修改日历活动的标题、时间、地点或参与权限。仅限管理员。
delete_event写入DELETE /groups/{group}/events/{event_id}删除日历活动。仅限管理员。
群组设置(管理员)
工具访问权限REST 路由功能说明
list_categories读取GET /groups/{group}/categories群组动态的分类:名称、发帖权限、排序顺序和帖子数量。
create_category写入POST /groups/{group}/categories为群组动态添加分类。仅限管理员。
update_category写入PATCH /groups/{group}/categories/{category_id}重命名分类,或更改分类的发帖权限和排序方式。仅限管理员。
delete_category写入DELETE /groups/{group}/categories/{category_id}删除动态分类,并将其中的帖子移至其他分类。仅限管理员。
list_group_rules读取GET /groups/{group}/rules群组规则,编号与群组中显示的编号一致。
add_group_rule写入POST /groups/{group}/rules在群组规则末尾添加一条规则。仅限管理员。
update_group_rule写入PATCH /groups/{group}/rules/{number}更改群组规则的标题或文本。仅限管理员。
delete_group_rule写入DELETE /groups/{group}/rules/{number}删除一条群组规则。仅限管理员。
list_group_links读取GET /groups/{group}/links群组侧边栏中的链接,编号与群组中显示的编号一致。
add_group_link写入POST /groups/{group}/links在群组侧边栏中添加链接。仅限管理员。
update_group_link写入PATCH /groups/{group}/links/{number}更改侧边栏链接的文本或地址。仅限管理员。
delete_group_link写入DELETE /groups/{group}/links/{number}从群组侧边栏中移除链接。仅限管理员。
add_membership_question写入POST /groups/{group}/membership-questions添加一个问题,供申请加入群组的人回答。仅限管理员。
update_membership_question写入PATCH /groups/{group}/membership-questions/{number}更改入群问题。仅限管理员。
delete_membership_question写入DELETE /groups/{group}/membership-questions/{number}移除入群问题。仅限管理员。
list_levels读取GET /groups/{group}/levels群组的 9 个等级、各自的自定义头衔,以及达到各等级的成员人数。
rename_level写入PATCH /groups/{group}/levels/{level}为群组的 9 个等级之一设置专属头衔。仅限管理员。
update_group_about写入PUT /groups/{group}/about替换群组“关于”页面上的文本。仅限管理员。
get_auto_dm读取GET /groups/{group}/auto-dmSkool 发给每位新成员的欢迎消息,以及该功能是否已开启。仅限管理员。
set_auto_dm写入PATCH /groups/{group}/auto-dm更改发给新成员的欢迎消息,或开启、关闭该功能。仅限管理员。
聊天和通知
工具访问权限REST 路由功能说明
list_conversations读取GET /conversations你的 Skool Chat 收件箱:聊天对象、未读数量和最新消息预览。
get_conversation读取GET /conversations/{conversation_id}一段 Skool Chat 对话中的最新消息,按时间从早到晚排列。
send_message写入POST /members/{member_id}/messages在 Skool Chat 中向成员发送私信;如有需要,会新建对话。
list_notifications读取GET /notifications你的 Skool 通知:新帖子、评论、提及、点赞和审批,按时间从新到旧排列。
mark_notifications_read写入POST /notifications/read将所有通知标记为已读,可应用于所有位置或单个群组。

出于设计考虑,以下功能从未实现:Skool 登录、电子邮件、密码、姓名和个人资料设置,以及任何资金相关操作(套餐、付款、提现、账单)。每个请求都会经过一道防护检查,拒绝访问这些 Skool 路径。

配置

变量默认值作用
SKOOL_MCP_HOME~/.config/skool-api-mcpsession.json 所在的文件夹。
SKOOL_AUTH_TOKENSkool 的 auth_token cookie,用来代替 skool-mcp connect。
SKOOL_PROXY向 Skool 发送所有请求时使用的代理,例如 http://user:pass@host:port。
SKOOL_MCP_READ_ONLY1 会隐藏并拒绝所有会更改 Skool 的工具(等同于 --read-only)。
SKOOL_MCP_TOKENserve 所需的 Bearer 令牌;若要监听 127.0.0.1 以外的地址,则必须设置。
SKOOL_MCP_HOST、SKOOL_MCP_PORT127.0.0.1、8787serve 的地址。

安全与 Skool 账户

  • 你的密码不会传给这段代码。 这里只会读取 cookie,且仅限 skool.com 的 cookie。
  • 会话文件由你保管。 session.json 创建时的权限模式为 0600。任何持有该文件的人都能以你的身份在 Skool 上操作,因此请勿将其放入 git 或共享文件夹。
  • 默认仅限本地访问。 serve 绑定到 127.0.0.1,若未设置 SKOOL_MCP_TOKEN,则会拒绝绑定到其他地址。
  • 仅限 skool.com。 系统会拒绝发往 skool.com 以外的请求,以及重定向到 skool.com 以外的请求。
  • 只读模式。 --read-only 或 SKOOL_MCP_READ_ONLY=1 仅开放 28 个只读工具。
  • 操作会影响真实用户。 帖子、评论、私信、邀请和审批都会以你的名义发出。MCP 客户端会在执行前征求确认;脚本不会,因此请先在测试群组中尝试。
  • 请勿发送垃圾信息。 批量发送私信或邀请会违反 Skool 规则,并可能导致你的账户受到限制。你需要为账户中执行的操作负责。

错误

REST API 会返回 {"error": "<code>", "message": "..."}。MCP 服务会将相同的代码和消息作为工具错误返回。

状态代码处理方法
401auth_required、auth_expired没有会话,或 Skool 已将你登出。请在 Chrome 中登录 Skool,然后运行 skool-mcp connect。
403app_permission_denied你的 Skool 角色无权执行此操作,例如成员查看统计数据。
403scope_denied服务以只读模式运行。
403target_blockedSkool 拒绝了请求或显示了机器人验证。请在 Chrome 中打开一次 skool.com,然后重试。
409captcha_requiredSkool 要求完成 CAPTCHA 验证。请在 Chrome 中完成验证。
422invalid_input参数缺失或有误;消息会指出具体参数。
429rate_limitedSkool 正在限制该账户。请等待几分钟。
502target_errorSkool 返回了错误,或更改了网站。请执行 git pull 获取最新工具,或提交问题。

自托管或托管版本

此仓库Cotlet,托管版
工具相同的 69 个相同的 69 个
运行位置在你的电脑上,电脑开机时运行在云端,全天候运行
Skool 会话使用你的 Chrome,cookie 保存在本地文件中使用你在欧盟的专属 Cloud Browser,配置文件通过 AES-256-GCM 加密
Skool 更改网站时修复后执行一次 git pull为你修复,每天测试所有工具
审批MCP 客户端会逐次调用征求确认帖子、私信和审批会等待你确认;可按工具切换
适用对象你自己的 MCP 客户端和本地脚本Claude.ai 和 ChatGPT 连接器、n8n、Make、Zapier,以及任何 HTTP 客户端
使用者你;仅限非商业用途团队、企业、代理机构
价格免费免费试用 7 天,含 2,000 点数,无需银行卡;之后可购买一次性点数包,5,000 点数起价 $29

托管版中,成功调用会使用 20 到 30 点数(大多数工具为 25 点),失败调用免费;Cloud Browser 在启用了面向 Agent 的应用期间,每天使用 50 点数。完整定价。

常见问题

Skool 有官方 API 吗? 没有。Skool 没有公开 API,也没有开发者文档。唯一的官方连接方式是 Pro 方案中的 Zapier 插件,它可以将新付费成员和 Membership Questions 的回答发送出去、邀请成员并解锁课程。它无法列出所有成员、批准请求、发布内容、发表评论、发送私信或读取统计数据。详情:cotlet.dev/integrations/skool-api-mcp-server。

有适用于 Claude、ChatGPT 或 Cursor 的 Skool MCP 服务吗? 有,这个 MCP 服务在你的计算机上运行:Claude Code、Claude Desktop、Cursor 和 Codex 使用 skool-mcp mcp。ChatGPT 和 Claude.ai 连接器需要公开的 HTTPS URL,托管版 Skool MCP 服务可提供此 URL。

这是 Skool 抓取工具吗? 它能完成大家使用抓取工具想做的事情(将成员、帖子和课程导出为 CSV),但不会在无头浏览器中解析 HTML。它会在你的账户中调用 Skool Web 应用所调用的相同 JSON 端点。

我可以将 Skool 成员导出为 CSV 吗? 可以:python examples/export_members.py --group yourgroup --out members.csv。导出所有分页中的每位成员,并包含其角色、等级、积分、加入日期和个人资料 URL。

我可以导出自己不拥有的社群成员吗? 只能导出你的账户所加入的群组成员,而且只能导出 Skool 根据你的角色显示的内容。

我需要 Skool 的 Pro 方案或 Zapier 吗? 不需要。有些 Skool 功能仅限 Pro 方案使用,例如某些成员角色;Skool 拒绝请求时,工具会告知你。

为什么它需要我的 Chrome? 为了在不使用密码的情况下读取你的 Skool 会话。每次登录时会使用一次 Chrome,而不是每次调用时都使用。

Skool 将我登出后会怎样? 调用会以 auth_expired 失败。启用 Chrome 远程调试后,服务会在下一次调用时读取新的 Cookie(Chrome 询问时点击 Allow);否则请再次运行 skool-mcp connect。

它可以在 VPS 或 Docker 中运行吗? 技术上可以,但需要使用 SKOOL_AUTH_TOKEN。这样一来,Skool 会看到你的会话来自数据中心 IP,看起来就不太像你本人。要保持持续运行,托管版会在你自己的 Cloud Browser 中,通过固定 IP 保留你的会话。

我的 Skool 账户会被封禁吗? 请求会携带 Chrome 的指纹,并且一次只发送一个,就像你逐个点击一样。没人能保证平台绝不会采取行动。请保持正常使用,不要批量发送私信。

我可以在工作中使用它,或用于客户项目吗? 不可以,许可证仅允许非商业用途。团队、公司或客户项目请使用 Cotlet,或发送邮件至 [email protected]。

它是开源的吗? 源代码是公开的,但许可证并非开源许可证:仅限非商业用途,不得用于商业活动。

某个工具出故障了,或者我需要另一个工具。 请提交问题,并注明工具名称和错误消息。

许可证

PolyForm Noncommercial License 1.0.0。简而言之:

  • **允许:**非商业用途:个人使用自己的 Skool 账户满足个人需求,或由慈善机构、学校、公共研究机构或政府机构使用。可以修改代码,并根据相同许可证分享。
  • **不允许:**任何商业用途,包括用于自己的业务;客户项目;出售或提供该工具,或基于该工具构建的服务。

本仓库 1.x 及更早版本(托管 API 的脚本)仍采用 MIT 许可证。


Cotlet

由 Cotlet(@cotletdev)维护。Skool 是其所有者的商标。本项目为非官方项目,与 Skool 无关,也未获 Skool 认可或赞助。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。