Skool by Cotlet

dev.cotlet由 cotlet.dev 发布官方发布者v1.0.2更新于 Nov 7, 2026

Posts, members, courses, events and DMs for your Skool community.

发布方自己的服务:Cotlet

已验证Streamable HTTP可网页运行效率与工作流沟通与协作数据与分析

概览

AI 生成的概览

让助手在用户自己的 Skool 账号中读取和管理社群:帖子、成员、入群申请、Classroom、日历、聊天与统计。

可以做什么
  • 读取群组、成员、帖子、评论、投票、课程、课时、视频、活动与 Skool 聊天会话,支持游标分页
  • 以登录用户身份发帖、评论、点赞、关注、置顶、参与投票、标记课时完成
  • 批准或拒绝入群申请,邀请、移除、封禁成员并调整角色
  • 创建和编辑课程、课时、活动、信息流分类、群规、侧边栏链接与入群问题
  • 查看新增成员、流失与月度经常性收入等群组统计,以及排行榜和公开群组目录
适用场景
适合社群所有者、管理员和版主,让 AI 客户端处理入群申请、起草并发布帖子、回复成员、安排活动与课程,或汇报增长与收入数据,而无需在 Skool 中逐项操作。
运行要求
可使用 Cotlet 托管端点,通过 OAuth 和 cotlet.dev 的 Authorization bearer API 密钥认证;或本地运行 PyPI 包(uvx),需要 Python 3.11 以上和已登录 Skool 的 Google Chrome 会话(或手动粘贴 Skool 令牌)。审核与设置类工具需要管理员或版主角色。
安装前请注意
许多工具以用户名义操作并触达真实用户:发帖、评论、点赞、邀请、批准时发送 AutoDM、封禁和删除。部分删除无法撤销,封禁还可能连带删除近期帖子。本地方式会读取 Skool 会话 Cookie 或令牌,须妥善保管;托管方式会把账号数据发送给第三方,且 7 天试用后收费。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Skool by Cotlet,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/dev.cotlet%2Fskool/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "skool-by-cotlet": {
      "type": "http",
      "url": "https://cotlet.dev/mcp/v1/skool/connect"
    }
  }
}

README

Skool API and MCP server: connect Skool to ChatGPT and Claude

Yes, ChatGPT, Claude and other AI agents can work in your Skool account. That includes Cursor, Codex, OpenClaw and any MCP client, plus automations in n8n, Make and Zapier. Ask in plain words, and the AI approves membership requests, posts and comments, answers members, sets up Calendar events and reports new members, churn and MRR. It shows you what it will do first and sends nothing to other people until you say so.

As of November 2026, this repo is the missing piece: 71 Skool tools for AI assistants and scripts.

What you can ask

Show me pending membership requests and approve the ones whose answers mention a business.

Which posts from the last 7 days have no comments yet? Draft a reply for each.

Create a Calendar event for Thursday 6pm CET with the Zoom link and pin an announcement about it.

Tell me new members, churn and MRR for the last 30 days.

Two ways to get it

Ready to use, at CotletRun it yourself, this repo
Forcommunity owners and adminsdevelopers
Setupsign in to Skool once, about 5 minutes, nothing to installPython and a terminal
Works inChatGPT and Claude apps, on your phone too, Cursor, Codex, OpenClaw, any MCP client, n8n, Make, Zapier, REST APIClaude Code, Claude Desktop, Cursor, Codex on your computer
Runs24/7, your computer can be offwhile your computer is on
Price7 days free, no cardfree

Cotlet is best for community owners and admins who want ChatGPT, Claude or another AI agent to work in Skool for them, with nothing to install.

Start free at cotlet.dev →

Run it yourself

A Skool API and a Skool MCP server you run on your own computer, in Python, on the session of your own Google Chrome. All 71 Skool tools we run in production at Cotlet: members, membership requests, posts, comments, polls, Classroom, video transcripts, Calendar, group settings, Skool Chat and stats.

Skool has no public API and no official MCP server. This repo gives you both:

  • MCP server for Claude Code, Claude Desktop, Cursor, Codex and any MCP client, over stdio or HTTP. Setup
  • REST API on http://127.0.0.1:8787/api/v1/skool, with OpenAPI docs at /docs. Setup
  • Python: call("list_members", group="yourgroup"), plus 16 ready scripts in examples/.

Free for your own use, your own business included (license).

[Skool MCP server] [Python 3.11+] [License: Elastic 2.0] [MCP Badge]

bash
uv tool install skool-api-mcp                  # or: pip install skool-api-mcpskool-mcp connect                                  # reads your Skool session from Chromeskool-mcp call list_groupsclaude mcp add skool -- uvx skool-api-mcp mcp

Contents

Questions from Skool users

Does Skool have an API? No. Skool has no public API and no developer docs. The only official connection is the Zapier plugin on the Pro plan, which sends new paid members and Membership Questions answers out, invites a member and unlocks a course. It cannot list all members, approve requests, post, comment, send DMs or read stats. This repo and Cotlet give you 71 Skool tools as a REST API and an MCP server.

Can I get a Skool API key? Not from Skool for your own account. With Cotlet you get your own API key that works with your Skool account, for scripts, n8n, Make, Zapier or any HTTP client. This repo needs no key: it runs on your computer, on your own Skool session.

Is there an official ChatGPT integration for Skool? No. Skool has no official ChatGPT or Claude connector. Cotlet is an unofficial one that works today, in the ChatGPT and Claude apps and in any AI agent that takes an MCP server.

How do I connect Skool to ChatGPT? Sign up at cotlet.dev, sign in to Skool once in your Cloud Browser there, and add Cotlet to ChatGPT, following the steps in your account. Then ask ChatGPT about your Skool like you would ask an assistant. ChatGPT needs a server on the internet, so this repo alone, running on your computer, does not connect to ChatGPT.

Can ChatGPT manage my Skool community? Yes, with Cotlet. It reads new posts and comments, drafts replies, approves membership requests by your rules, pins announcements and creates Calendar events. Anything posted in your group waits for your OK.

Can I get my Skool members and stats out of Skool? Yes, with Cotlet: the full member list with join dates and answers, membership requests, churn and MRR, as answers in chat or JSON.

Can I automate Skool with Zapier, Make or n8n? Skool's own Zapier plugin, on the Pro plan, only sends new paid members and membership answers out, invites a member and unlocks a course. With Cotlet, n8n, Make and Zapier can also list members, approve requests, post, comment and read stats.

Can I use it from my phone? Yes, with Cotlet: once it is set up, the ChatGPT and Claude apps on your phone can use Skool for you.

Do I need to be technical? For Cotlet, no: you sign in to Skool and add Cotlet to ChatGPT or Claude, with step-by-step instructions in your account. This repo is for people who are fine with Python and a terminal.

Is my Skool account safe? Yes. Neither Cotlet nor this repo sees or stores your Skool password. You sign in yourself, the way you always do, and the AI works on that signed-in session. Anything that reaches other people asks for your OK first: in Cotlet by default, here through your MCP client.

Is it free? This repo is free, also in your own business. Cotlet is free for 7 days with no card, then one-time credit packs from $29, no subscription. Pricing.

I manage Skool for several accounts or clients. Does that work? Yes, with Cotlet. Each Skool login gets its own connection. Write to [email protected] and tell us how many accounts you manage.

How it works

text
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. You sign in to Skool in your own Chrome, the way you always do.
  2. skool-mcp connect attaches to that Chrome through the Chrome DevTools Protocol, reads the skool.com cookies and saves them to ~/.config/skool-api-mcp/session.json, readable by your user only. It never sees or stores your password.
  3. Every tool call is a request to Skool's own web app endpoints (api2.skool.com and the page data of www.skool.com) with those cookies, sent with curl_cffi, which copies Chrome's TLS fingerprint. No headless browser runs.

Skool's session cookie lasts about a year. When Skool signs you out, the server reads the cookies from Chrome again, if Chrome is open with remote debugging on.

Requirements

  • Python 3.11 or newer.
  • Google Chrome 144 or newer, signed in to Skool. Any Chrome or Chromium works with a debugging port.
  • macOS, Linux or Windows.
  • The Skool role a tool needs: membership requests need admin or moderator, stats and group settings need admin. Reading members, posts, courses and chat works with any role in groups you belong to.

Install

From PyPI:

bash
uv tool install skool-api-mcp       # or: pipx install skool-api-mcp, or: pip install skool-api-mcpskool-mcp --version

MCP clients can also run it with no install: uvx skool-api-mcp mcp.

From source:

bash
git clone https://github.com/cotletdev/skool-api-mcp-server.gitcd skool-api-mcp-serverpython3 -m venv .venv. .venv/bin/activate              # Windows: .venv\Scripts\activatepip install -e .skool-mcp --version

With uv: uv venv && uv pip install -e ., then uv run skool-mcp ....

Setting it up with an AI agent (Claude Code, Codex, Cursor)? Open it in this folder and ask it to set up the repo: AGENTS.md tells it every step, and it asks you only for the steps in Chrome.

To update: uv tool upgrade skool-api-mcp (or pip install -U skool-api-mcp), from source git pull && pip install -e .. We copy every change of the hosted Skool tools into this repo.

Connect your Chrome

Option A: your everyday Chrome (recommended)

  1. Open chrome://inspect/#remote-debugging in Chrome and switch remote debugging on. Chrome then accepts DevTools connections from programs on this computer, and asks you before each one.

  2. Make sure you are signed in at skool.com.

  3. Run:

    bash
    skool-mcp connect
  4. Chrome asks whether to allow the connection. Click Allow.

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

You can switch remote debugging off again afterwards. Leave it on if you want the server to pick up a new session by itself after Skool signs you out.

connect looks for Chrome's DevToolsActivePort file in the default profile folder. For Chrome Beta, Canary or a custom profile folder, pass --profile-dir "<folder>".

Option B: a Chrome with a debugging port

Chrome does not open a debugging port on your default profile, so start a separate one, sign in to Skool there once, and connect to it:

bash
# macOS"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-skool"# Linuxgoogle-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 also takes a ws:// DevTools URL, for example of a Chrome on another machine reached over an SSH tunnel.

Option C: paste the cookie by hand

For a server with no Chrome: in Chrome open DevTools on skool.com, Application > Cookies > https://www.skool.com, copy the value of auth_token, then:

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

A pasted token is not refreshed on its own. Paste a new one when Skool signs you out.

Check the session at any time:

bash
skool-mcp status

MCP server

The MCP server lists every tool with its input schema, a description written for agents, and hints: read tools are marked read-only, and tools that post, message or delete are marked so your client asks before running them.

Claude Code

bash
claude mcp add skool -- uvx skool-api-mcp mcp# read only:claude mcp add skool -- uvx skool-api-mcp mcp --read-only

Claude Desktop

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

json
{  "mcpServers": {    "skool": {      "command": "uvx",      "args": ["skool-api-mcp", "mcp"]    }  }}

Cursor

~/.cursor/mcp.json, the same block as Claude Desktop. A ready copy is in mcp.json.

Codex

~/.codex/config.toml:

toml
[mcp_servers.skool]command = "uvx"args = ["skool-api-mcp", "mcp"]

Over HTTP

skool-mcp serve also serves MCP over streamable HTTP at http://127.0.0.1:8787/mcp, for clients that take a URL:

bash
skool-mcp serveclaude mcp add --transport http skool http://127.0.0.1:8787/mcp

Then ask your agent things like:

Show me pending membership requests and approve the ones whose answers mention a business.

Which posts from the last 7 days have no comments yet? Draft a reply for each.

Create a Calendar event for Thursday 6pm CET with the Zoom link and pin an announcement about it.

Tell me new members, churn and MRR for the last 30 days.

REST API

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

Each tool has its own route under /api/v1/skool, the same paths as the hosted API at cotlet.dev, so code written against one works with the other. Path parts and the query string are arguments, and a JSON body adds the rest.

bash
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"}'

Any tool by name, body as its arguments:

bash
curl -X POST http://127.0.0.1:8787/api/v1/skool/tools/list_members -d '{"group": "yourgroup"}'
  • GET /api/v1/skool/tools: every tool with its route, input schema and an example answer.
  • GET /docs: interactive OpenAPI docs, GET /openapi.json the schema, for n8n, Postman or a generated client.
  • Answers are JSON. Lists return next_cursor; pass it back as cursor for the next page.

The server listens on 127.0.0.1 only. To reach it from another device of yours, set a token, and every request then needs Authorization: Bearer <token>:

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

Python and the example scripts

Straight from Python, no server needed:

python
from skool_api_mcp import callfrom 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.")

Or one tool from the shell: skool-mcp call list_posts group=yourgroup limit=10, or with a JSON object.

Ready scripts in examples/. Each prints JSON, takes --out file.csv or --out file.json where it makes sense, and --help:

ScriptWhat it does
list_groups.pyYour groups, with your role, member count and price.
export_members.pyMembers to CSV or JSON: name, role, level, points, join date, profile URL. --role, --since.
list_membership_requests.pyPending requests with each applicant's answers.
approve_membership_requests.pyApproves all pending requests, or those whose answers match --match keywords. --dry-run first.
decline_membership_request.pyDeclines one request.
welcome_new_members.pyA welcome DM with your Start Here course link to everyone who joined in the last N days.
export_posts.pyFeed posts: title, author, category, likes, comments, date. --category, --since.
get_post.pyOne post with its body and the whole comment tree.
unanswered_posts.pyPosts from the last N days with no comments yet.
create_post.pyPublishes a post from --body or a Markdown file, --pin pins it.
comment_on_post.pyComments on a post or replies under a comment.
pin_post.pyPins or unpins a post on the feed or a Classroom page.
list_courses.pyClassroom courses with modules, unlock rule and URLs.
unread_messages.pyUnread Skool Chat conversations with the full thread.
send_message.pyA DM to one member.
group_stats.pyTotal members, new joins, churn and MRR for 7, 30 or 90 days.
bash
python examples/export_members.py --group yourgroup --out members.csvpython examples/approve_membership_requests.py --group yourgroup --match business --dry-run

On a schedule, cron on your own computer works while it is on: 0 8 * * * cd ~/skool-api-mcp-server && .venv/bin/python examples/group_stats.py --group yourgroup.

All 71 tools

group is the URL name of a community: yourgroup for skool.com/yourgroup. skool-mcp tools prints this list, skool-mcp tools --json adds the input schemas.

Groups and search

ToolAccessREST routeWhat it does
list_groupsreadGET /groupsSkool groups of your account, with your role (or pending), member count and price.
get_groupreadGET /groups/{group}A group's name, About text, privacy, price, counts, owner and membership questions.
get_group_statsreadGET /groups/{group}/statsTotal, new and churned members and monthly recurring revenue for a period. Admins only.
discover_groupsreadGET /groups/discoverSearch Skool's public directory of communities, with members, price and rating.
search_groupreadGET /groups/{group}/searchSearch a group's posts, members or courses, as its search box does.

Posts

ToolAccessREST routeWhat it does
list_postsreadGET /groups/{group}/postsPosts in a group's feed, pinned first, then newest, with author, category, likes and comment count.
get_postreadGET /groups/{group}/posts/{post_id}One post with its full text and comments, replies nested under their comment.
create_postwritePOST /groups/{group}/postsPublish a post to the community feed in a category, as you.
update_postwritePATCH /groups/{group}/posts/{post_id}Change the title, text or category of a post you wrote, or any post as an admin.
delete_postwriteDELETE /groups/{group}/posts/{post_id}Delete a post or a comment for good: yours, or anyone's as an admin.

Comments, likes, polls and moderation

ToolAccessREST routeWhat it does
comment_on_postwritePOST /groups/{group}/posts/{post_id}/commentsComment on a post, or reply to a comment, as you.
like_postwritePUT /groups/{group}/posts/{post_id}/likeLike a post or a comment, or take the like back.
list_post_likesreadGET /groups/{group}/posts/{post_id}/likesWho liked a post or a comment.
follow_postwritePUT /groups/{group}/posts/{post_id}/followGet notified of new comments on a post, or stop.
pin_postwritePUT /groups/{group}/posts/{post_id}/pinPin a post to the top of the feed (up to 3) or to a Classroom page (up to 12). Admins only.
pin_commentwritePUT /groups/{group}/posts/{post_id}/comments/{comment_id}/pinPin a comment to the top of a post's comments, or unpin it.
set_post_commentswritePUT /groups/{group}/posts/{post_id}/commentingTurn comments on a post off, or back on.
vote_on_pollwritePUT /groups/{group}/posts/{post_id}/poll/voteVote in a post's poll, change your vote, or take it back.
get_poll_resultsreadGET /groups/{group}/posts/{post_id}/pollAnswers and vote counts of a post's poll, optionally with who voted for what.
list_reported_postsreadGET /groups/{group}/posts/reportedPosts members reported to the admins, waiting for review. Admins and moderators only.

Members

ToolAccessREST routeWhat it does
list_membersreadGET /groups/{group}/membersMembers of a group with role, level, points and join date, newest first; also banned or churned.
search_membersreadGET /groups/{group}/members/searchFind members of a group by name, as the @mention box does.
get_memberreadGET /groups/{group}/members/{member_id}One member's profile in a group: name, bio, role, level, points and when they were last online.
get_leaderboardreadGET /groups/{group}/leaderboardThe group's top 10 members by points for the last 7 days, 30 days or all time, and your rank.
invite_memberswritePOST /groups/{group}/invitationsEmail people an invitation that lets them straight into the group. Admins only.
remove_memberwriteDELETE /groups/{group}/memberships/{membership_id}Remove a member from the group, or lift a ban. Admins only.
ban_memberwritePOST /groups/{group}/memberships/{membership_id}/banBan a member from the group, optionally deleting their recent posts. Admins only.
set_member_rolewritePUT /groups/{group}/memberships/{membership_id}/roleMake a member an admin or moderator, or back to a member. Admins only.

Membership requests

ToolAccessREST routeWhat it does
list_membership_requestsreadGET /groups/{group}/membership-requestsPending requests to join, with each applicant's Membership Questions answers. Admins and moderators only.
approve_membership_requestwritePOST /groups/{group}/membership-requests/{request_id}/approveLet an applicant into the group. Your AutoDM, if set, goes out as usual.
decline_membership_requestwritePOST /groups/{group}/membership-requests/{request_id}/declineDecline an applicant's request to join.

Classroom

ToolAccessREST routeWhat it does
list_coursesreadGET /groups/{group}/coursesCourses in the group's Classroom, open or locked for you, with the modules of open ones.
get_coursereadGET /groups/{group}/courses/{course_id}One course with its lessons and folders in Classroom order; get_lesson reads a lesson.
create_coursewritePOST /groups/{group}/coursesAdd a course to the group's Classroom, as a draft or published. Admins only.
set_course_publishedwritePUT /groups/{group}/courses/{course_id}/publishedPublish a draft course to members, or turn it back into a draft. Admins only.
get_lessonreadGET /groups/{group}/courses/{course_id}/lessons/{lesson_id}One lesson's text and video link.
create_lessonwritePOST /groups/{group}/courses/{course_id}/lessonsAdd a lesson at the end of a course, with text and a video link. Admins only.
update_lessonwritePATCH /groups/{group}/lessons/{lesson_id}Change a lesson's title, text or video link. Admins only.
mark_lesson_completewritePUT /groups/{group}/lessons/{lesson_id}/completionMark a lesson done in your own course progress, or undo it.

Videos

ToolAccessREST routeWhat it does
list_videosreadGET /groups/{group}/videosVideos in the group's Classroom lessons and feed posts, uploaded or linked.
get_video_transcriptreadGET /groups/{group}/videos/{video_id}/transcriptThe spoken text of a video uploaded to a lesson or post, from Skool's captions.

Calendar

ToolAccessREST routeWhat it does
list_eventsreadGET /groups/{group}/eventsEvents on a group's calendar in one month: title, time, place and who can join.
get_eventreadGET /groups/{group}/events/{event_id}One calendar event with its full description, place and access.
create_eventwritePOST /groups/{group}/eventsAdd an event to a group's calendar. Admins only.
update_eventwritePATCH /groups/{group}/events/{event_id}Change a calendar event's title, time, place or access. Admins only.
delete_eventwriteDELETE /groups/{group}/events/{event_id}Delete a calendar event. Admins only.

Group settings (admins)

ToolAccessREST routeWhat it does
list_categoriesreadGET /groups/{group}/categoriesThe feed categories of a group: name, who can post, sort order, post count.
create_categorywritePOST /groups/{group}/categoriesAdd a category to a group's feed. Admins only.
update_categorywritePATCH /groups/{group}/categories/{category_id}Rename a category or change who can post in it and how it sorts. Admins only.
delete_categorywriteDELETE /groups/{group}/categories/{category_id}Delete a feed category and move its posts to another. Admins only.
list_group_rulesreadGET /groups/{group}/rulesThe rules of a group, numbered as the group shows them.
add_group_rulewritePOST /groups/{group}/rulesAdd a rule at the end of the group rules. Admins only.
update_group_rulewritePATCH /groups/{group}/rules/{number}Change the title or text of a group rule. Admins only.
delete_group_rulewriteDELETE /groups/{group}/rules/{number}Delete a group rule. Admins only.
list_group_linksreadGET /groups/{group}/linksThe links on a group's sidebar, numbered as the group shows them.
add_group_linkwritePOST /groups/{group}/linksAdd a link to the group's sidebar. Admins only.
update_group_linkwritePATCH /groups/{group}/links/{number}Change the text or address of a sidebar link. Admins only.
delete_group_linkwriteDELETE /groups/{group}/links/{number}Remove a link from the group's sidebar. Admins only.
add_membership_questionwritePOST /groups/{group}/membership-questionsAdd a question people answer when they ask to join the group. Admins only.
update_membership_questionwritePATCH /groups/{group}/membership-questions/{number}Change a membership question. Admins only.
delete_membership_questionwriteDELETE /groups/{group}/membership-questions/{number}Remove a membership question. Admins only.
list_levelsreadGET /groups/{group}/levelsThe group's 9 levels with their custom titles and how many members reached each.
rename_levelwritePATCH /groups/{group}/levels/{level}Give one of the group's 9 levels its own title. Admins only.
update_group_aboutwritePUT /groups/{group}/aboutReplace the text on the group's About page. Admins only.
get_auto_dmreadGET /groups/{group}/auto-dmThe welcome message Skool sends every new member, and whether it is on. Admins only.
set_auto_dmwritePATCH /groups/{group}/auto-dmChange the welcome message new members get, or turn it on or off. Admins only.

Chat and notifications

ToolAccessREST routeWhat it does
list_conversationsreadGET /conversationsYour Skool Chat inbox: who, unread count and last message preview.
get_conversationreadGET /conversations/{conversation_id}The latest messages of one Skool Chat conversation, oldest first.
send_messagewritePOST /members/{member_id}/messagesSend a direct message in Skool Chat to a member, starting a conversation if needed.
list_notificationsreadGET /notificationsYour Skool notifications: new posts, comments, mentions, likes and approvals, newest first.
mark_notifications_readwritePOST /notifications/readMark all your notifications read, everywhere or in one group.

Never built, on purpose: your Skool sign-in, email, password, name and profile settings, and anything that moves money (plans, payments, payouts, billing). Every request passes a guard that refuses those Skool paths.

Configuration

VariableDefaultWhat it does
SKOOL_MCP_HOME~/.config/skool-api-mcpFolder of session.json.
SKOOL_AUTH_TOKENSkool auth_token cookie, instead of skool-mcp connect.
SKOOL_PROXYProxy for every request to Skool, e.g. http://user:pass@host:port.
SKOOL_MCP_READ_ONLY1 hides and refuses every tool that changes Skool (same as --read-only).
SKOOL_MCP_TOKENBearer token required by serve; needed to listen beyond 127.0.0.1.
SKOOL_MCP_HOST, SKOOL_MCP_PORT127.0.0.1, 8787Address of serve.

Security and your Skool account

  • Your password never reaches this code. Only cookies are read, and only those of skool.com.
  • The session file is yours. session.json is created with mode 0600. Anyone who has it can act as you on Skool, so keep it out of git and shared folders.
  • Local by default. serve binds to 127.0.0.1 and refuses another address without SKOOL_MCP_TOKEN.
  • skool.com only. Requests and redirects outside skool.com are refused.
  • Read-only mode. --read-only or SKOOL_MCP_READ_ONLY=1 exposes the 30 read tools only.
  • Actions reach real people. Posts, comments, DMs, invitations and approvals go out under your name. MCP clients ask before running them; a script does not, so try it on a test group first.
  • Do not spam. Mass DMs or invitations break Skool's rules and can get your account limited. You are responsible for what runs in your account.

Errors

The REST API answers {"error": "<code>", "message": "..."}. The MCP server returns the same code and message as a tool error.

StatusCodeWhat to do
401auth_required, auth_expiredNo session, or Skool signed you out. Sign in to Skool in Chrome and run skool-mcp connect.
403app_permission_deniedYour Skool role cannot do this, e.g. stats as a member.
403scope_deniedThe server runs read-only.
403target_blockedSkool refused the request or showed a bot check. Open skool.com in Chrome once, then retry.
409captcha_requiredSkool asks for a CAPTCHA. Solve it in Chrome.
422invalid_inputAn argument is missing or wrong; the message names it.
429rate_limitedSkool is limiting the account. Wait a few minutes.
502target_errorSkool answered with an error, or changed its site. git pull for the latest tools, or open an issue.

Self-hosted or hosted

This repoCotlet, hosted
Toolsthe same 71the same 71
Runson your computer, while it is onin the cloud, 24/7
Skool sessionyour Chrome, cookies in a local fileyour own Cloud Browser in the EU, profile encrypted with AES-256-GCM
When Skool changes its sitegit pull once we have fixed itfixed for you, every tool tested daily
Approvalsyour MCP client asks per callposts, DMs and approvals wait for your OK, switchable per tool
Works withMCP clients on your machine, local scriptsClaude.ai and ChatGPT connectors, n8n, Make, Zapier, any HTTP client
Who may use ityou and your own businessyou, teams, businesses, agencies
Pricefreefree 7-day trial with 2,000 credits, no card; then one-time packs from $29 for 5,000 credits

On the hosted version a successful call uses 10 credits for most tools, failed calls are free, and the Cloud Browser uses 50 credits a day while it has an app enabled for agents. Full pricing.

FAQ

Is there a Skool MCP server for Claude, ChatGPT or Cursor? Yes, this one runs on your machine: skool-mcp mcp for Claude Code, Claude Desktop, Cursor and Codex. ChatGPT and Claude.ai connectors need a public HTTPS URL, which the hosted Skool MCP server gives you.

Is this a Skool scraper? It does what people want a scraper for (export members, posts and courses to CSV) but does not parse HTML in a headless browser. It calls the same JSON endpoints the Skool web app calls, in your own account.

Can I export Skool members to CSV? Yes: python examples/export_members.py --group yourgroup --out members.csv. Every member with role, level, points, join date and profile URL, across all pages.

Can I export members of a community I don't own? Only of groups your account belongs to, and only what Skool shows to your role.

Do I need Skool's Pro plan or Zapier? No. A few Skool features are Pro only, for example some member roles; the tool says so when Skool refuses.

Why does it need my Chrome? To read your Skool session without your password. Chrome is used once per sign-in, not for each call.

What happens when Skool signs me out? Calls fail with auth_expired. With Chrome remote debugging on, the server reads the new cookies on the next call (click Allow when Chrome asks); otherwise run skool-mcp connect again.

Can it run on a VPS or in Docker? Technically yes, with SKOOL_AUTH_TOKEN. Skool then sees your session from a datacenter IP, which looks less like you. For an always-on setup the hosted version keeps your session in your own Cloud Browser on a fixed IP.

Will my Skool account get banned? Requests carry Chrome's fingerprint and go out one at a time, as you would click. Nobody can promise a platform never acts. Keep to your normal use and do not send bulk DMs.

Can I use it at work or for my clients? At work and in your own business, yes, free. You may not offer it to others as a hosted or managed service. For client work, use Cotlet or write to [email protected].

Is it open source? The source is public under the Elastic License 2.0: free to use and change, also in your own business, but not to resell as a hosted service.

A tool broke or I need another one. Open an issue with the tool name and the error message.

License

Elastic License 2.0. In short:

  • Allowed: using it for yourself and in your own business, free. Changing the code and sharing it under the same license.
  • Not allowed: offering it to others as a hosted or managed service, removing the license notices, getting around its limits.

Versions up to 1.x of this repo (the scripts for the hosted API) stay MIT.


[Cotlet]

Maintained by Cotlet (@cotletdev). Skool is a trademark of its owner. This project is unofficial and not affiliated with, endorsed or sponsored by Skool.

来源:README.md,提交 4a9e67f

工具

69

add_group_rule

Add group rule

Add a rule at the end of the group rules. Admins only. Adds a rule after the existing ones, as Settings, Rules, Add does, and returns the whole new list. Admins only. Nobody is notified and it is undone with delete_group_rule, so it runs without asking first.

输入参数group必填title必填description

add_membership_question

Add membership question

Add a question people answer when they ask to join the group. Admins only. Adds a membership question, as Settings, Membership questions does; Skool asks up to 3 and only one of type email. Answers show next to each request in list_membership_requests. Returns all questions. Admins only. Runs without asking first: nobody is notified.

输入参数typegroup必填optionsquestion必填

approve_membership_request

Approve membership request

Let an applicant into the group. Your AutoDM, if set, goes out as usual. Approves one pending request, so the applicant becomes a member, as Skool's Approve button does; your AutoDM, if set, goes out as usual. Admins and moderators only. member_id is the id of the membership, the same as request_id.

输入参数group必填request_id必填

ban_member

Ban member

Ban a member from the group, optionally deleting their recent posts. Admins only. Bans one member, as Membership settings, Ban does: they lose access and cannot ask to join again. delete_recent_posts also removes their recent posts and comments, which cannot be undone. A paid member's subscription is not cancelled by this. remove_member lifts a ban. Admins and moderators.

输入参数group必填member_idmembership_id必填delete_recent_posts

comment_on_post

Comment on post

Comment on a post, or reply to a comment, as you. Adds a comment to a post, or a reply under an existing comment when parent_comment_id is set. The comment appears under your name.

输入参数body必填group必填post_id必填parent_comment_id

create_category

Create category

Add a category to a group's feed. Admins only. Adds a feed category, as Settings, Categories, Add does. Skool picks its color. who_can_post admins makes an announcements-style category only admins post in. Admins only. Members see the new category at once but nobody is notified, so it runs without asking first.

输入参数name必填sortgroup必填who_can_post

create_course

Create course

Add a course to the group's Classroom, as a draft or published. Admins only. Creates a Classroom course, as Classroom, New course does, as a draft unless published is true. Open to all members, or only from min_level up. Paid and time-unlocked courses are set in Skool. Add lessons with create_lesson. Admins only. A draft is seen by admins only, so it runs without asking first.

输入参数group必填title必填min_levelpublisheddescription

create_event

Create event

Add an event to a group's calendar. Admins only. Adds a one-time event to the Calendar tab, as Add event does: title, start, length, time zone, description, where (a Zoom or Meet link, an address or any URL) and who sees it. Skool reminds members before it starts. Admins only. Members see it at once.

输入参数group必填start必填title必填accesslocationtimezonecourse_idmin_leveldescriptionlocation_typeduration_minutes

create_lesson

Create lesson

Add a lesson at the end of a course, with text and a video link. Admins only. Adds a lesson page at the end of a course, as the course's Add page does: title, text and an optional video link that Skool plays above it. Uploaded videos and files are not supported. Published unless published is false; in a draft course nobody but admins sees it either way. Admins only. Runs without asking first: nobody is notified.

输入参数bodygroup必填title必填course_id必填publishedvideo_url

create_post

Create post

Publish a post to the community feed in a category, as you. Publishes a post to the group's feed in one of its categories, under your name. The category is checked before the call waits for your approval: a wrong name fails at once with the group's categories in the message. poll_options adds a poll under the text. Text only; images and files are not uploaded.

输入参数body必填group必填title必填category必填poll_options

decline_membership_request

Decline membership request

Decline an applicant's request to join. Declines one pending request, as Skool's Decline button does. Admins and moderators only.

输入参数group必填request_id必填

delete_category

Delete category

Delete a feed category and move its posts to another. Admins only. Deletes a category, as Settings, Categories, Delete does. Its posts are not deleted: Skool moves them to move_posts_to, or to the group's first other category. A group keeps at least one category. Admins only.

输入参数group必填category_id必填move_posts_to

delete_event

Delete event

Delete a calendar event. Admins only. Deletes one event from the Calendar tab, as the event's Delete does; for a recurring event the whole series goes. It cannot be undone. Admins only.

输入参数group必填event_id必填

delete_group_rule

Delete group rule

Delete a group rule. Admins only. Deletes one rule, as Settings, Rules, Delete does; the rules after it move up a number. Returns the whole new list. Admins only.

输入参数group必填number必填

delete_membership_question

Delete membership question

Remove a membership question. Admins only. Removes one membership question; the ones after it move up a number. Returns the questions left. Admins only. Runs without asking first: nobody is notified.

输入参数group必填number必填

delete_post

Delete post or comment

Delete a post or a comment for good: yours, or anyone's as an admin. Deletes a post with its comments, or a single comment (pass its comment_id), as Skool's Delete does. Skool keeps no trash, so this cannot be undone. Your own posts and comments, or anyone's when you are a group admin or moderator.

输入参数group必填post_id必填

discover_groups

Discover groups

Search Skool's public directory of communities, with members, price and rating. Searches skool.com/discovery, the public list of communities, as its search box does: URL name, title, description, member count, price and review rating. 30 to a page; pass next_cursor back as cursor. Private groups that hide from discovery are not listed.

输入参数querycursor

follow_post

Follow post

Get notified of new comments on a post, or stop. Follows a post so new comments land in your Skool notifications, as the post menu's Follow does; following false unfollows. You follow your own posts from the start. Changes only your own notifications, so it runs without asking first.

输入参数group必填post_id必填following

get_auto_dm

Get AutoDM

The welcome message Skool sends every new member, and whether it is on. Admins only. Returns the group's AutoDM: the chat message Skool sends each new member when they are approved, who it comes from and whether it is on. #NAME# and #GROUPNAME# in the text become the member's first name and the group's name. Admins only.

输入参数group必填

get_conversation

Get conversation

The latest messages of one Skool Chat conversation, oldest first. Returns up to limit latest messages of one Skool Chat conversation, oldest first. from is You for your own messages and the other member's member_id otherwise; their name is in list_conversations. Reading does not mark the conversation read.

输入参数limitconversation_id必填

get_course

Get course

One course with its lessons and folders in Classroom order; get_lesson reads a lesson. Returns one Classroom course: title, description, whether it is published, and its lessons in order. Folders come as kind folder, followed by their lessons. get_lesson returns a lesson's text and video. Only courses this account can open; admins also see drafts.

输入参数group必填course_id必填

get_event

Get event

One calendar event with its full description, place and access. Returns one event of the group's calendar: title, description, start and end in UTC, the event's time zone, where it happens and who can see it.

输入参数group必填event_id必填

get_group

Get group

A group's name, About text, privacy, price, counts, owner and membership questions. Returns one group as its About page and Settings show it: name, the About text, whether it is private, the price, member, admin, post and course counts, and the owner. Admins also get pending_requests, reported_posts and the membership questions; for others these are 0 and empty.

输入参数group必填

get_group_stats

Get group stats

Total, new and churned members and monthly recurring revenue for a period. Admins only. Returns figures from the group's admin dashboard: members_total today, members_new in the period, members_churned as the dashboard counts it, and monthly recurring revenue in US dollars. For 7d and 30d members_new is the growth of the daily member count; for 90d it sums the last three months of the dashboard's members chart. Skool computes these in the background, so a call can take up to about 15 seconds. Admins only; other accounts get APP_PERMISSION_DENIED.

输入参数group必填period

get_leaderboard

Get leaderboard

The group's top 10 members by points for the last 7 days, 30 days or all time, and your rank. Returns the Leaderboards tab: the top 10 members by points earned in the period (one point per like received), with your own rank and points when you are on the board. Skool recounts it every few minutes; updated_at says when.

输入参数group必填period

get_lesson

Get lesson

One lesson's text and video link. Returns one Classroom lesson as its page shows it: the text (formatting dropped, paragraphs and list items kept) and the linked video. uploaded_video is true when the video was uploaded to Skool; that video and attached files are not returned. Only lessons this account can open.

输入参数group必填course_id必填lesson_id必填

get_member

Get member

One member's profile in a group: name, bio, role, level, points and when they were last online. Returns the profile card Skool shows when you click a member in the group: name, bio, role in this group, level and points, whether they are online and when they last were, and their time zone. Never their email or other private details.

输入参数group必填member_id必填

get_poll_results

Get poll results

Answers and vote counts of a post's poll, optionally with who voted for what. Returns the poll under a post: each answer with its number (what vote_on_poll takes), text and vote count, and your own vote. voters true adds up to 30 voters per answer, as the vote count opens in Skool.

输入参数group必填voterspost_id必填

get_post

Get post

One post with its full text and comments, replies nested under their comment. Returns one post by post_id or slug: title, full text, author and up to 25 comments with their replies nested under them. Images and files attached to the post are not returned; links typed in the text are. Use comment_id as parent_comment_id of comment_on_post to reply.

输入参数group必填post_id必填

invite_members

Invite members by email

Email people an invitation that lets them straight into the group. Admins only. Sends Skool's invitation email to each address, as Invite people, Invite by email does; whoever accepts joins without a membership request. Addresses already in the group are skipped by Skool. Admins only. Emails reach people outside the group.

输入参数group必填emails必填course_ids

like_post

Like post or comment

Like a post or a comment, or take the like back. Likes a post or a comment as the heart under it does; liked false takes the like back. A like gives the author a point on the leaderboard and Skool notifies them. Skool limits fast liking: too many in a row come back as rate_limited. Runs without asking first: undone with one call.

输入参数group必填likedpost_id必填

list_categories

List categories

The feed categories of a group: name, who can post, sort order, post count. Lists the categories a group's feed is split into, in the order the group shows them. who_can_post is members or admins; sort is how the category orders its posts (default, new, top_week, top_month, top_year). create_post and update_post take the name.

输入参数group必填

list_conversations

List conversations

Your Skool Chat inbox: who, unread count and last message preview. Lists your Skool Chat conversations across all groups, most recent first, with the other member, unread count and the last message. Set unread_only to see only what needs an answer. Pass next_cursor back as cursor for the next page.

输入参数limitcursorunread_only

list_courses

List courses

Courses in the group's Classroom, open or locked for you, with the modules of open ones. Lists the courses of the group's Classroom in its order. unlock is open when your account can open the course and locked otherwise (a level, a purchase or a time lock; Skool does not say which here). Open courses list their modules in order with links; locked ones have none. Use the module links in welcome messages.

输入参数group必填

list_events

List events

Events on a group's calendar in one month: title, time, place and who can join. Lists the events of one month on the group's Calendar tab, as the month view shows them, recurring events once per date. start and end are UTC; timezone is the calendar's zone. get_event returns one event, create_event adds one.

输入参数group必填month

list_group_rules

List group rules

The rules of a group, numbered as the group shows them. Lists the group rules members agree to, numbered from 1 in the order the group shows them. update_group_rule and delete_group_rule take the number.

输入参数group必填

list_groups

List groups

Skool groups of your account, with your role (or pending), member count and price. Returns up to 50 Skool groups of your account: groups you own, groups you joined and groups you asked to join. role is admin, moderator, member, or pending while your request waits for approval (a pending group shows no posts or members yet). Use group as the group parameter of the other tools. members is the count Skool shows on the group page; price is the membership price or free.

无需输入参数。

list_levels

List levels

The group's 9 levels with their custom titles and how many members reached each. Lists the 9 levels of the group's leaderboard: the level number, Skool's name for it, the title the admins gave it (empty when none) and the share of members at that level. Points come from likes; get_leaderboard ranks the members.

输入参数group必填

list_members

List members

Members of a group with role, level, points and join date, newest first; also banned or churned. Lists members of one group, newest approved first, 30 to a page; pass next_cursor back as cursor for the next page. status picks Skool's tab: active members (admins included), banned, churned (left the group) or cancelling (paid groups). role admin or moderator asks Skool for the admins only. joined_at is when the member was approved. level is the Skool level (1 to 9) and points the likes that count toward it. joined_since filters within the page. member_id is the person (send_message, get_member); membership_id is their place in this group (set_member_role, ban_member, remove_member).

输入参数rolegroup必填limitcursorstatusjoined_since

list_membership_requests

List membership requests

Pending requests to join, with each applicant's Membership Questions answers. Admins and moderators only. Lists requests to join a private group, 30 to a page, oldest first within the page, with the answers each applicant gave to your Membership Questions. Only admins and moderators see requests; other accounts get APP_PERMISSION_DENIED. Pass request_id to approve_membership_request or decline_membership_request.

输入参数group必填limitcursor

list_notifications

List notifications

Your Skool notifications: new posts, comments, mentions, likes and approvals, newest first. Lists the bell's notifications for this account, newest first, from all groups or one: what happened (type, such as new-post, comment, mention, like), the line Skool shows, the post it is about and a link. unread_only keeps the unread ones. Reading them does not mark them read; mark_notifications_read does.

输入参数grouplimitcursorunread_only

list_post_likes

List post likes

Who liked a post or a comment. Lists the members who liked a post or a comment, as the like count under it opens, newest first, up to 100. member_id is what send_message and get_member take.

输入参数group必填limitpost_id必填

list_posts

List posts

Posts in a group's feed, pinned first, then newest, with author, category, likes and comment count. Lists one page of the group's feed as Skool shows it: pinned posts on top, then the newest. A page holds up to 30 posts; pass next_cursor back as cursor for older ones. category and since filter within the page, so a filtered page can come back short or empty while next_cursor still points further. preview is the first 200 characters; get_post takes post_id or slug and returns the full text with comments.

输入参数group必填limitsincecursorcategory

list_reported_posts

List reported posts

Posts members reported to the admins, waiting for review. Admins and moderators only. Lists the posts in the group's Reported queue that members flagged against the rules. delete_post removes one. Admins and moderators only.

输入参数group必填

mark_lesson_complete

Mark lesson complete

Mark a lesson done in your own course progress, or undo it. Ticks a lesson as done for this account, as the lesson's Mark as done does; completed false clears it. Changes only your own progress bar, so it runs without asking first.

输入参数group必填completedlesson_id必填

mark_notifications_read

Mark notifications read

Mark all your notifications read, everywhere or in one group. Clears the unread count on the bell, as Mark all as read does, for every group or only the one given. Changes only this account's notifications, so it runs without asking first.

输入参数group

pin_comment

Pin comment

Pin a comment to the top of a post's comments, or unpin it. Pins one comment above the others under a post, as the comment menu's Pin does; pinned false unpins it. Group admins and moderators only. Sends nothing to anyone and is undone with one call, so it runs without asking first.

输入参数group必填pinnedpost_id必填comment_id必填

pin_post

Pin post

Pin a post to the top of the feed (up to 3) or to a Classroom page (up to 12). Admins only. Pins a post to the top of the feed, where Skool allows up to 3 pinned posts, or to a Classroom page, which allows up to 12. Set pinned to false to unpin. Admins only. pin_post runs without asking first: pinning sends nothing to anyone and is undone with one call.

输入参数group必填pinnedpost_id必填course_page_id

remove_member

Remove member

Remove a member from the group, or lift a ban. Admins only. Removes one member, as Membership settings, Remove does: they lose access but may ask to join again. On a banned member it lifts the ban the same way, as Unban does. Their posts stay. Admins and moderators.

输入参数group必填membership_id必填

rename_level

Rename level

Give one of the group's 9 levels its own title. Admins only. Sets the title members see next to a level, as Settings, Gamification does; an empty title goes back to Skool's plain name. The points needed per level are Skool's and do not change. Admins only. Runs without asking first: undone with one call.

输入参数group必填level必填title必填

search_group

Search group

Search a group's posts, members or courses, as its search box does. Runs the group's search box: posts (titles and text, with author and a preview), members (by name) or courses. Posts come 30 to a page; pass next_cursor back as cursor. Results are what this account can see.

输入参数typegroup必填query必填cursor

search_members

Search members

Find members of a group by name, as the @mention box does. Searches the group's members by name or handle, as typing @ in a post does, best matches first. member_id is what get_member and send_message take; list_members pages through everyone.

输入参数group必填limitquery必填

send_message

Send message

Send a direct message in Skool Chat to a member, starting a conversation if needed. Sends a direct message in Skool Chat to one member and starts a conversation if there is none yet. Skool opens the chat in a group you both belong to: pass group, else the first of your groups that Skool accepts is used. Skool refuses a message to yourself, and a group can limit chat by level. Messages go out under your name and cannot be deleted.

输入参数body必填groupmember_id必填

set_auto_dm

Set AutoDM

Change the welcome message new members get, or turn it on or off. Admins only. Changes the group's AutoDM, the chat message Skool sends each new member on approval. message replaces the text; enabled turns it on or off, which Skool allows only on the Pro plan. Admins only. Every new member gets the result.

输入参数group必填enabledmessage

set_course_published

Publish course

Publish a draft course to members, or turn it back into a draft. Admins only. Publishes a Classroom course so members who have access see it, or turns it back into a draft only admins see, as the course's Published switch does. Members' progress is kept. Admins only. Publishing shows the course to members.

输入参数group必填course_id必填published必填

set_member_role

Set member role

Make a member an admin or moderator, or back to a member. Admins only. Changes one member's role, as the member's Membership settings do: admin (full control), moderator (can remove posts and members) or member. Skool allows moderators only on the Pro plan. The group owner keeps their role. Admins only.

输入参数role必填group必填membership_id必填

set_post_comments

Turn comments on or off

Turn comments on a post off, or back on. Turns comments off on a post, as the post menu's Turn off comments does: existing comments stay, nobody can add new ones. enabled true turns them back on. Group admins and moderators only. Runs without asking first: undone with one call.

输入参数group必填enabled必填post_id必填

update_category

Update category

Rename a category or change who can post in it and how it sorts. Admins only. Changes a feed category, as Settings, Categories, Edit does: fields you leave out stay. Posts already in it stay too. Admins only. Nobody is notified and it is undone with one call, so it runs without asking first.

输入参数namesortgroup必填category_id必填who_can_post

update_event

Update event

Change a calendar event's title, time, place or access. Admins only. Edits one event, as the event's Edit does: fields you leave out stay as they are. A new start keeps the old length unless duration_minutes is given. For a recurring event this changes the whole series. Admins only. Members see the change at once.

输入参数group必填starttitleaccessevent_id必填locationtimezonecourse_idmin_leveldescriptionlocation_typeduration_minutes

update_group_about

Update group About text

Replace the text on the group's About page. Admins only. Replaces the description on the group's About page, the one visitors read before they join, as editing it on the About page does. Images and videos on the page stay. Admins only. Everyone who opens the page sees the change.

输入参数about必填group必填

update_group_rule

Update group rule

Change the title or text of a group rule. Admins only. Edits one rule, as Settings, Rules, Edit does: fields you leave out stay. Returns the whole new list. Admins only. Runs without asking first: nobody is notified.

输入参数group必填titlenumber必填description

update_lesson

Update lesson

Change a lesson's title, text or video link. Admins only. Edits one lesson page, as its Edit does: fields you leave out stay, body replaces the whole text. Members who completed it keep it completed. Admins only. Runs without asking first: nobody is notified.

输入参数bodygroup必填titlelesson_id必填video_url

update_membership_question

Update membership question

Change a membership question. Admins only. Replaces one membership question with new text, type and answers. Requests already waiting keep the answers they gave. Returns all questions. Admins only. Runs without asking first: nobody is notified.

输入参数typegroup必填number必填optionsquestion必填

update_post

Update post

Change the title, text or category of a post you wrote, or any post as an admin. Edits a post in place, as Skool's Edit post does: fields you leave out stay as they are, and body replaces the whole text. Skool marks the post as edited. Your own posts, or any post when you are a group admin.

输入参数bodygroup必填titlepost_id必填category

vote_on_poll

Vote on poll

Vote in a post's poll, change your vote, or take it back. Votes for one answer of the poll under a post, as clicking it does. If you already voted the vote moves to the new answer; option 0 takes it back. Returns the counts after your vote. Your vote is visible to the post's readers. Runs without asking first: undone with one call.

输入参数group必填option必填post_id必填

版本历史

2
  1. v1.0.2最新Oct 24, 2026
  2. v1.0.0Oct 23, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Cotlet 集成