Skool MCP Server
The Skool MCP server exposes Skool community read and write tools for discovery, content, members, moderation, Classroom, calendar, settings, and chat.
Read groups and stats: list/get groups, get admin stats, search public groups, search group posts/members/courses.
Manage posts: list/get/create/update/delete posts, comment/reply, like/unlike, follow, pin, toggle comments, and run polls.
Manage members and requests: list/search/get members, view leaderboards, invite/remove/ban members, set roles, approve/decline membership requests.
Manage Classroom: list/get/create courses, publish courses, create/update lessons, mark lessons complete, list videos, and fetch video transcripts.
Manage calendar events: list/get/create/update/delete events.
Manage group settings: categories, rules, sidebar links, membership questions, level titles, About text, and AutoDM.
Use Skool Chat and notifications: list conversations, read messages, send DMs, list notifications, and mark notifications read.
Respect permissions: many write actions are admin/moderator-only, and tools annotate read-only, destructive, idempotent, and open-world behavior.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Skool MCP Server list the newest members who joined my Skool community this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: Browser Jet Pilot
Two ways to get it
Run it yourself, this repo | ||
For | community owners and admins | developers |
Setup | sign in to Skool once, about 5 minutes, nothing to install | Python and a terminal |
Works in | ChatGPT and Claude apps, on your phone too, Cursor, Codex, OpenClaw, any MCP client, n8n, Make, Zapier, REST API | Claude Code, Claude Desktop, Cursor, Codex on your computer |
Runs | 24/7, your computer can be off | while your computer is on |
Price | 7 days free, no card | free |
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.
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. SetupPython:
call("list_members", group="yourgroup"), plus 16 ready scripts inexamples/.
Free for your own use, your own business included (license).
uv tool install skool-api-mcp # or: pip install skool-api-mcp
skool-mcp connect # reads your Skool session from Chrome
skool-mcp call list_groups
claude mcp add skool -- uvx skool-api-mcp mcpContents
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 contact@cotlet.dev and tell us how many accounts you manage.
How it works
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)You sign in to Skool in your own Chrome, the way you always do.
skool-mcp connectattaches 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.Every tool call is a request to Skool's own web app endpoints (
api2.skool.comand the page data ofwww.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:
uv tool install skool-api-mcp # or: pipx install skool-api-mcp, or: pip install skool-api-mcp
skool-mcp --versionMCP clients can also run it with no install: uvx skool-api-mcp mcp.
From source:
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 --versionWith 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)
Open
chrome://inspect/#remote-debuggingin Chrome and switch remote debugging on. Chrome then accepts DevTools connections from programs on this computer, and asks you before each one.Make sure you are signed in at skool.com.
Run:
skool-mcp connectChrome asks whether to allow the connection. Click Allow.
Saved 15 skool.com cookies to /Users/you/.config/skool-api-mcp/session.json
Signed 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:
# 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 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:
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:
skool-mcp statusMCP 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
claude mcp add skool -- uvx skool-api-mcp mcp
# read only:
claude mcp add skool -- uvx skool-api-mcp mcp --read-onlyClaude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"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:
[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:
skool-mcp serve
claude mcp add --transport http skool http://127.0.0.1:8787/mcpThen 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
skool-mcp serve # http://127.0.0.1:8787, MCP at /mcp, docs at /docsEach 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.
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:
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.jsonthe schema, for n8n, Postman or a generated client.Answers are JSON. Lists return
next_cursor; pass it back ascursorfor 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>:
SKOOL_MCP_TOKEN=$(openssl rand -hex 24) skool-mcp serve --host 0.0.0.0Python and the example scripts
Straight from Python, no server needed:
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.")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:
Script | What it does |
Your groups, with your role, member count and price. | |
Members to CSV or JSON: name, role, level, points, join date, profile URL. | |
Pending requests with each applicant's answers. | |
Approves all pending requests, or those whose answers match | |
Declines one request. | |
A welcome DM with your Start Here course link to everyone who joined in the last N days. | |
Feed posts: title, author, category, likes, comments, date. | |
One post with its body and the whole comment tree. | |
Posts from the last N days with no comments yet. | |
Publishes a post from | |
Comments on a post or replies under a comment. | |
Pins or unpins a post on the feed or a Classroom page. | |
Classroom courses with modules, unlock rule and URLs. | |
Unread Skool Chat conversations with the full thread. | |
A DM to one member. | |
Total members, new joins, churn and MRR for 7, 30 or 90 days. |
python examples/export_members.py --group yourgroup --out members.csv
python examples/approve_membership_requests.py --group yourgroup --match business --dry-runOn 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
Tool | Access | REST route | What it does |
| read |
| Skool groups of your account, with your role (or pending), member count and price. |
| read |
| A group's name, About text, privacy, price, counts, owner and membership questions. |
| read |
| Total, new and churned members and monthly recurring revenue for a period. Admins only. |
| read |
| Search Skool's public directory of communities, with members, price and rating. |
| read |
| Search a group's posts, members or courses, as its search box does. |
Posts
Tool | Access | REST route | What it does |
| read |
| Posts in a group's feed, pinned first, then newest, with author, category, likes and comment count. |
| read |
| One post with its full text and comments, replies nested under their comment. |
| write |
| Publish a post to the community feed in a category, as you. |
| write |
| Change the title, text or category of a post you wrote, or any post as an admin. |
| write |
| Delete a post or a comment for good: yours, or anyone's as an admin. |
Comments, likes, polls and moderation
Tool | Access | REST route | What it does |
| write |
| Comment on a post, or reply to a comment, as you. |
| write |
| Like a post or a comment, or take the like back. |
| read |
| Who liked a post or a comment. |
| write |
| Get notified of new comments on a post, or stop. |
| write |
| Pin a post to the top of the feed (up to 3) or to a Classroom page (up to 12). Admins only. |
| write |
| Pin a comment to the top of a post's comments, or unpin it. |
| write |
| Turn comments on a post off, or back on. |
| write |
| Vote in a post's poll, change your vote, or take it back. |
| read |
| Answers and vote counts of a post's poll, optionally with who voted for what. |
| read |
| Posts members reported to the admins, waiting for review. Admins and moderators only. |
Members
Tool | Access | REST route | What it does |
| read |
| Members of a group with role, level, points and join date, newest first; also banned or churned. |
| read |
| Find members of a group by name, as the @mention box does. |
| read |
| One member's profile in a group: name, bio, role, level, points and when they were last online. |
| read |
| The group's top 10 members by points for the last 7 days, 30 days or all time, and your rank. |
| write |
| Email people an invitation that lets them straight into the group. Admins only. |
| write |
| Remove a member from the group, or lift a ban. Admins only. |
| write |
| Ban a member from the group, optionally deleting their recent posts. Admins only. |
| write |
| Make a member an admin or moderator, or back to a member. Admins only. |
Membership requests
Tool | Access | REST route | What it does |
| read |
| Pending requests to join, with each applicant's Membership Questions answers. Admins and moderators only. |
| write |
| Let an applicant into the group. Your AutoDM, if set, goes out as usual. |
| write |
| Decline an applicant's request to join. |
Classroom
Tool | Access | REST route | What it does |
| read |
| Courses in the group's Classroom, open or locked for you, with the modules of open ones. |
| read |
| One course with its lessons and folders in Classroom order; get_lesson reads a lesson. |
| write |
| Add a course to the group's Classroom, as a draft or published. Admins only. |
| write |
| Publish a draft course to members, or turn it back into a draft. Admins only. |
| read |
| One lesson's text and video link. |
| write |
| Add a lesson at the end of a course, with text and a video link. Admins only. |
| write |
| Change a lesson's title, text or video link. Admins only. |
| write |
| Mark a lesson done in your own course progress, or undo it. |
Videos
Tool | Access | REST route | What it does |
| read |
| Videos in the group's Classroom lessons and feed posts, uploaded or linked. |
| read |
| The spoken text of a video uploaded to a lesson or post, from Skool's captions. |
Calendar
Tool | Access | REST route | What it does |
| read |
| Events on a group's calendar in one month: title, time, place and who can join. |
| read |
| One calendar event with its full description, place and access. |
| write |
| Add an event to a group's calendar. Admins only. |
| write |
| Change a calendar event's title, time, place or access. Admins only. |
| write |
| Delete a calendar event. Admins only. |
Group settings (admins)
Tool | Access | REST route | What it does |
| read |
| The feed categories of a group: name, who can post, sort order, post count. |
| write |
| Add a category to a group's feed. Admins only. |
| write |
| Rename a category or change who can post in it and how it sorts. Admins only. |
| write |
| Delete a feed category and move its posts to another. Admins only. |
| read |
| The rules of a group, numbered as the group shows them. |
| write |
| Add a rule at the end of the group rules. Admins only. |
| write |
| Change the title or text of a group rule. Admins only. |
| write |
| Delete a group rule. Admins only. |
| read |
| The links on a group's sidebar, numbered as the group shows them. |
| write |
| Add a link to the group's sidebar. Admins only. |
| write |
| Change the text or address of a sidebar link. Admins only. |
| write |
| Remove a link from the group's sidebar. Admins only. |
| write |
| Add a question people answer when they ask to join the group. Admins only. |
| write |
| Change a membership question. Admins only. |
| write |
| Remove a membership question. Admins only. |
| read |
| The group's 9 levels with their custom titles and how many members reached each. |
| write |
| Give one of the group's 9 levels its own title. Admins only. |
| write |
| Replace the text on the group's About page. Admins only. |
| read |
| The welcome message Skool sends every new member, and whether it is on. Admins only. |
| write |
| Change the welcome message new members get, or turn it on or off. Admins only. |
Chat and notifications
Tool | Access | REST route | What it does |
| read |
| Your Skool Chat inbox: who, unread count and last message preview. |
| read |
| The latest messages of one Skool Chat conversation, oldest first. |
| write |
| Send a direct message in Skool Chat to a member, starting a conversation if needed. |
| read |
| Your Skool notifications: new posts, comments, mentions, likes and approvals, newest first. |
| write |
| Mark 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
Variable | Default | What it does |
|
| Folder of |
| Skool | |
| Proxy for every request to Skool, e.g. | |
|
| |
| Bearer token required by | |
|
| Address of |
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.jsonis 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.
servebinds to127.0.0.1and refuses another address withoutSKOOL_MCP_TOKEN.skool.com only. Requests and redirects outside skool.com are refused.
Read-only mode.
--read-onlyorSKOOL_MCP_READ_ONLY=1exposes 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.
Status | Code | What to do |
401 |
| No session, or Skool signed you out. Sign in to Skool in Chrome and run |
403 |
| Your Skool role cannot do this, e.g. stats as a member. |
403 |
| The server runs read-only. |
403 |
| Skool refused the request or showed a bot check. Open skool.com in Chrome once, then retry. |
409 |
| Skool asks for a CAPTCHA. Solve it in Chrome. |
422 |
| An argument is missing or wrong; the message names it. |
429 |
| Skool is limiting the account. Wait a few minutes. |
502 |
| Skool answered with an error, or changed its site. |
Self-hosted or hosted
This repo | ||
Tools | the same 71 | the same 71 |
Runs | on your computer, while it is on | in the cloud, 24/7 |
Skool session | your Chrome, cookies in a local file | your own Cloud Browser in the EU, profile encrypted with AES-256-GCM |
When Skool changes its site |
| fixed for you, every tool tested daily |
Approvals | your MCP client asks per call | posts, DMs and approvals wait for your OK, switchable per tool |
Works with | MCP clients on your machine, local scripts | Claude.ai and ChatGPT connectors, n8n, Make, Zapier, any HTTP client |
Who may use it | you and your own business | you, teams, businesses, agencies |
Price | free | free 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 contact@cotlet.dev.
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.
Maintained by Cotlet (@cotletdev). Skool is a trademark of its owner. This project is unofficial and not affiliated with, endorsed or sponsored by Skool.
Available Tools
71 toolsadd_group_linkAdd group linkAInspect
Add a link to the group's sidebar. Admins only.
Adds a link after the existing ones in the group's sidebar, as Settings, Links, Add does, and returns the whole new list. Admins only. Nobody is notified and it is undone with delete_group_link, so it runs without asking first.
Inputs: url (required), group (required), label (required).
add_group_ruleAdd group ruleAInspect
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.
Inputs: group (required), title (required), description.
add_membership_questionAdd membership questionAInspect
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.
Inputs: group (required), question (required), type, options.
approve_membership_requestApprove membership requestADestructiveInspect
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.
Inputs: group (required), request_id (required).
ban_memberBan memberADestructiveInspect
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.
Inputs: group (required), membership_id (required), member_id, delete_recent_posts.
comment_on_postComment on postADestructiveInspect
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.
Inputs: body (required), group (required), post_id (required), parent_comment_id.
create_categoryCreate categoryAInspect
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.
Inputs: name (required), group (required), sort, who_can_post.
create_courseCreate courseAInspect
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.
Inputs: group (required), title (required), min_level, published, +1 more.
create_eventCreate eventADestructiveInspect
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.
Inputs: group (required), start (required), title (required), access, +7 more.
create_lessonCreate lessonAInspect
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.
Inputs: group (required), title (required), course_id (required), body, +2 more.
create_postCreate postADestructiveInspect
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.
Inputs: body (required), group (required), title (required), category (required), +1 more.
decline_membership_requestDecline membership requestADestructiveInspect
Decline an applicant's request to join.
Declines one pending request, as Skool's Decline button does. Admins and moderators only.
Inputs: group (required), request_id (required).
delete_categoryDelete categoryADestructiveInspect
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.
Inputs: group (required), category_id (required), move_posts_to.
delete_eventDelete eventADestructiveInspect
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.
Inputs: group (required), event_id (required).
delete_group_linkDelete group linkADestructiveInspect
Remove a link from the group's sidebar. Admins only.
Removes one sidebar link, as Settings, Links, Delete does; the links after it move up a number. Returns the whole new list. Admins only.
Inputs: group (required), number (required).
delete_group_ruleDelete group ruleADestructiveInspect
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.
Inputs: group (required), number (required).
delete_membership_questionDelete membership questionADestructiveInspect
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.
Inputs: group (required), number (required).
delete_postDelete post or commentADestructiveInspect
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.
Inputs: group (required), post_id (required).
discover_groupsDiscover groupsARead-onlyIdempotentInspect
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.
Inputs: query, cursor.
follow_postFollow postAIdempotentInspect
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.
Inputs: group (required), post_id (required), following.
get_auto_dmGet AutoDMARead-onlyIdempotentInspect
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.
Inputs: group (required).
get_conversationGet conversationARead-onlyIdempotentInspect
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.
Inputs: conversation_id (required), limit.
get_courseGet courseARead-onlyIdempotentInspect
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.
Inputs: group (required), course_id (required).
get_eventGet eventARead-onlyIdempotentInspect
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.
Inputs: group (required), event_id (required).
get_groupGet groupBRead-onlyIdempotentInspect
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.
Inputs: group (required).
get_group_statsGet group statsARead-onlyIdempotentInspect
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.
Inputs: group (required), period.
get_leaderboardGet leaderboardARead-onlyIdempotentInspect
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.
Inputs: group (required), period.
get_lessonGet lessonARead-onlyIdempotentInspect
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; get_video_transcript reads what is said in it. Attached files are not returned. Only lessons this account can open.
Inputs: group (required), course_id (required), lesson_id (required).
get_memberGet memberARead-onlyIdempotentInspect
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.
Inputs: group (required), member_id (required).
get_poll_resultsGet poll resultsARead-onlyIdempotentInspect
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.
Inputs: group (required), post_id (required), voters.
get_postGet postARead-onlyIdempotentInspect
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.
Inputs: group (required), post_id (required).
get_video_transcriptGet video transcriptARead-onlyIdempotentInspect
The spoken text of a video uploaded to a lesson or post, from Skool's captions.
Returns what is said in a video uploaded to Skool, as Skool's automatic captions, in 30-second segments with their start time. Give the video_id and where it is (course_id and lesson_id, or post_id), as list_videos returns them. One call reads about 20 minutes of video; when next_start_minute is not null, call again with it as start_minute for the rest (the first segment may repeat the last one). Linked YouTube, Vimeo, Loom or Wistia videos have no transcript here. Only videos this account can watch.
Inputs: group (required), video_id (required), post_id, language, +3 more.
invite_membersInvite members by emailADestructiveInspect
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.
Inputs: group (required), emails (required), course_ids.
like_postLike post or commentAIdempotentInspect
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.
Inputs: group (required), post_id (required), liked.
list_categoriesList categoriesARead-onlyIdempotentInspect
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.
Inputs: group (required).
list_conversationsList conversationsARead-onlyIdempotentInspect
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.
Inputs: limit, cursor, unread_only.
list_coursesList coursesARead-onlyIdempotentInspect
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.
Inputs: group (required).
list_eventsList eventsARead-onlyIdempotentInspect
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.
Inputs: group (required), month.
list_group_linksList group linksARead-onlyIdempotentInspect
The links on a group's sidebar, numbered as the group shows them.
Lists the links the group shows in its sidebar under the description, numbered from 1. update_group_link and delete_group_link take the number.
Inputs: group (required).
list_group_rulesList group rulesARead-onlyIdempotentInspect
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.
Inputs: group (required).
list_groupsList groupsARead-onlyIdempotentInspect
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.
Inputs: no named parameters.
list_levelsList levelsARead-onlyIdempotentInspect
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.
Inputs: group (required).
list_membersList membersARead-onlyIdempotentInspect
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).
Inputs: group (required), role, limit, cursor, +2 more.
list_membership_requestsList membership requestsARead-onlyIdempotentInspect
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.
Inputs: group (required), limit, cursor.
list_notificationsList notificationsARead-onlyIdempotentInspect
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.
Inputs: group, limit, cursor, unread_only.
list_post_likesList post likesARead-onlyIdempotentInspect
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.
Inputs: group (required), post_id (required), limit.
list_postsList postsARead-onlyIdempotentInspect
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.
Inputs: group (required), limit, since, cursor, +1 more.
list_reported_postsList reported postsARead-onlyIdempotentInspect
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.
Inputs: group (required).
list_videosList videosARead-onlyIdempotentInspect
Videos in the group's Classroom lessons and feed posts, uploaded or linked.
Lists the videos this account can watch: one per Classroom lesson with a video, in course order, and the videos in the newest feed posts (post_pages pages of 30). An uploaded video has a video_id and transcript true: pass it with its course_id and lesson_id, or post_id, to get_video_transcript. A linked one (YouTube, Vimeo, Loom, Wistia) has only video_url. Locked courses are named in locked_courses, without their videos.
Inputs: group (required), where, post_pages.
mark_lesson_completeMark lesson completeAIdempotentInspect
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.
Inputs: group (required), lesson_id (required), completed.
mark_notifications_readMark notifications readAInspect
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.
Inputs: group.
pin_commentPin commentAIdempotentInspect
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.
Inputs: group (required), post_id (required), comment_id (required), pinned.
pin_postPin postAIdempotentInspect
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.
Inputs: group (required), post_id (required), pinned, course_page_id.
remove_memberRemove memberADestructiveInspect
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.
Inputs: group (required), membership_id (required).
rename_levelRename levelAInspect
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.
Inputs: group (required), level (required), title (required).
search_groupSearch groupARead-onlyIdempotentInspect
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.
Inputs: group (required), query (required), type, cursor.
search_membersSearch membersARead-onlyIdempotentInspect
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.
Inputs: group (required), query (required), limit.
send_messageSend messageADestructiveInspect
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.
Inputs: body (required), member_id (required), group.
set_auto_dmSet AutoDMADestructiveInspect
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.
Inputs: group (required), enabled, message.
set_course_publishedPublish courseADestructiveIdempotentInspect
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.
Inputs: group (required), course_id (required), published (required).
set_member_roleSet member roleADestructiveIdempotentInspect
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.
Inputs: role (required), group (required), membership_id (required).
set_post_commentsTurn comments on or offAIdempotentInspect
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.
Inputs: group (required), enabled (required), post_id (required).
update_categoryUpdate categoryAInspect
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.
Inputs: group (required), category_id (required), name, sort, +1 more.
update_eventUpdate eventADestructiveInspect
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.
Inputs: group (required), event_id (required), start, title, +8 more.
update_group_aboutUpdate group About textADestructiveIdempotentInspect
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.
Inputs: about (required), group (required).
update_group_linkUpdate group linkAInspect
Change the text or address of a sidebar link. Admins only.
Edits one sidebar link, as Settings, Links, Edit does: fields you leave out stay. Returns the whole new list. Admins only. Runs without asking first: nobody is notified.
Inputs: group (required), number (required), url, label.
update_group_ruleUpdate group ruleAInspect
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.
Inputs: group (required), number (required), title, description.
update_lessonUpdate lessonAInspect
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.
Inputs: group (required), lesson_id (required), body, title, +1 more.
update_membership_questionUpdate membership questionAInspect
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.
Inputs: group (required), number (required), question (required), type, +1 more.
update_postUpdate postADestructiveInspect
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.
Inputs: group (required), post_id (required), body, title, +1 more.
vote_on_pollVote on pollAIdempotentInspect
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.
Inputs: group (required), option (required), post_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 71 tools
Tools are grouped by resource and action, with detailed cross-references that distinguish list/get/search variants (e.g., list_members vs search_members, list_posts vs search_group). The large surface still creates a few near-neighbor choices, but none are indistinguishable.
All names use snake_case verb_noun and consistent verbs (get/list/create/update/delete/add/set/mark), with no camelCase or vague names. Minor variations like add vs create reflect resource conventions and remain predictable.
71 tools far exceeds the typical 3-15 range and the 25+ 'too many' threshold. Even for a broad Skool community-management domain, this is an extreme surface that burdens selection and maintenance.
Most domains have full lifecycle coverage—posts, comments, categories, events, rules, links, membership requests, chat, and notifications. However, Classroom lacks update/delete_course and delete_lesson, and group settings beyond About are not editable, leaving notable admin gaps.
Maintenance
Related MCP Connectors
Hosted X (Twitter) MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Browz hosted MCP (free public beta): let an AI app drive your own Browz browser profiles from anywhere. Connect https://mcp.gobrowz.com/mcp and sign in with your Browz account (OAuth) or an agent token. Each call is relayed to the Browz app on your computer, which must be online with Remote control on and have a hardware security chip (Mac Secure Enclave or TPM 2.0). 17 tools: profiles, tabs, navigate, snapshot, act, wait, screenshot. Cookies, downloads and stored sign-ins stay on your computer.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server for interacting with Skool.com communities, enabling community management, post operations, member management, and course access through natural language.1462-
- AlicenseAqualityDmaintenanceSelf-hosted MCP server for AI browser automation. Connects to your own Chromium instance via CDP, providing tools for browser control, navigation, interaction, and content extraction.191MIT
- FlicenseAqualityDmaintenanceMCP server for Skool.com communities. Enables listing/approving members, posting, commenting, and managing courses.14-
- AlicenseNot gradedqualityCmaintenanceMCP server to read and operate your Skool community (calendar, feed, posts, members) and publish posts/comments with confirmation, using your own authenticated session.1MIT