Skip to main content
Glama

Skool MCP Server

An MCP (Model Context Protocol) server for interacting with Skool.com communities.

Overview

Skool doesn't have a public API, so this MCP uses authenticated HTTP requests to Skool's internal API endpoints (reverse-engineered from the web app).

Related MCP server: Skool MCP Server

Setup

1. Install & Build

cd /mnt/c/projects/skool-mcp   # or wherever you cloned it
npm install
npm run build

2. Configure Skool Auth

Create ~/.config/skool-mcp/config.json:

{
  "cookies": "your-skool-session-cookies-here",
  "defaultCommunity": "ai-agent-academy-6994",
  "baseUrl": "https://www.skool.com"
}

Getting cookies: Open Skool in Chrome → DevTools → Application → Cookies → copy the auth_token value. The cookies field should be: auth_token=YOUR_JWT_HERE

3. Configure Claude Code

Add to your .mcp.json (in your project root or ~/.claude/.mcp.json for global):

{
  "mcpServers": {
    "skool": {
      "command": "node",
      "args": ["/mnt/c/projects/skool-mcp/dist/index.js"],
      "env": {}
    }
  }
}

4. Configure mcporter (OpenClaw)

mcporter add skool --command "node /mnt/c/projects/skool-mcp/dist/index.js" --transport stdio

Then call tools via:

mcporter call skool "skool.request" method="GET" path="/api/v1/..."

Authentication

Uses session cookies from an authenticated Skool session. The auth_token JWT is httpOnly and long-lived (expires ~1 year).

Tools

Discovery

  • skool.request — Make arbitrary authenticated requests to Skool (for API exploration)

Community

  • skool.community.info — Get community details (name, description, member count, settings)

Members

  • skool.members.list — List members of a community

  • skool.members.pending — List pending membership requests

  • skool.members.approve — Approve a pending member

  • skool.members.reject — Reject a pending member

Posts

  • skool.posts.list — List posts in a community (with category filter, pagination)

  • skool.posts.get — Get a specific post with comments

  • skool.posts.create — Create a new post

  • skool.posts.comment — Comment on a post

Classroom

  • skool.courses.list — List courses

  • skool.lessons.list — List lessons in a course

Notifications

  • skool.notifications — Get recent notifications

API Notes

  • Read operations use Next.js data routes (/_next/data/{buildId}/...). The buildId is fetched dynamically.

  • Write operations use api2.skool.com REST endpoints.

  • A User-Agent header is required (CloudFront blocks bare requests with 403).

  • See API-DISCOVERY.md for detailed endpoint documentation and response shapes.

Available Tools

14 tools
skool_community_infoB

Get community details including name, description, member count, and settings. Uses Next.js data route for read access.

Inputs: community.

skool_community_labelsB

Get category labels for a community from api2.skool.com.

Inputs: groupId (required).

skool_courses_listB

List courses in a community classroom. Returns course names and metadata.

Inputs: groupId, community.

skool_lessons_listC

List lessons/modules in a specific course. Uses the Next.js classroom data route with course parameter.

Inputs: courseSlug (required), community.

skool_members_approveA

Approve a pending member by their membership request ID. Requires admin/moderator auth.

Inputs: groupId (required), memberId (required).

skool_members_listB

List community members with pagination. Returns member info including name, bio, role, and online status.

Inputs: page, community.

skool_members_pendingA

List pending membership requests. Requires auth cookies with admin/moderator access.

Inputs: community.

skool_members_rejectA

Reject a pending member by their membership request ID. Requires admin/moderator auth.

Inputs: groupId (required), memberId (required).

skool_notificationsB

Get recent notifications. Tries the Next.js notifications page data route.

Inputs: page.

skool_posts_commentA

Add a comment to a post. Requires auth cookies. Posts to api2.skool.com.

Inputs: postId (required), content (required), groupId (required).

skool_posts_createA

Create a new post in a community. Requires auth cookies. Posts to api2.skool.com.

Inputs: title (required), content (required), groupId (required), label.

skool_posts_getA

Get a single post with its full content and comments. Provide the post slug (name field from posts list).

Inputs: postSlug (required), community.

skool_posts_listA

List posts in a community feed. Supports category filtering and pagination. Returns post title, content preview, author, likes, and comment count.

Inputs: page, sort, category, community.

skool_requestA

Make an arbitrary authenticated HTTP request to any Skool URL. Useful for API discovery and debugging. Cookies and User-Agent are injected automatically.

Inputs: url (required), body, method, headers.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: community info, labels, member management, posts, courses, lessons, and notifications are clearly separated. The generic skool_request tool is explicitly positioned as a debugging/discovery escape hatch rather than overlapping with the specific operations.

    Naming Consistency4/5

    Most tools follow a consistent skool_<resource>_<action> pattern, e.g., skool_members_list, skool_members_approve, skool_posts_create. Minor deviations like skool_request, skool_community_info, and skool_notifications lack a clear verb-resource structure but are still readable and predictable.

    Tool Count5/5

    14 tools is well within the ideal range for a platform integration covering communities, members, posts, courses, lessons, and notifications. Each tool corresponds to a meaningful operation without redundant or excessive surface area.

    Completeness3/5

    The toolset covers core reading and some writing flows, including member approvals and post commenting, but lacks obvious lifecycle operations such as updating or deleting posts, removing members, or fetching detailed lesson content. The generic skool_request tool can bridge some gaps, but the intentional surface is incomplete for full community management.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server that allows posting, deleting, and reading X (Twitter) tweets using your own browser session cookie, bypassing the official paid API. Includes tools for auth setup, tweet creation, deletion, timeline reading, and regex search.
      17
      MIT