Model Context Protocol

Your academy, callable by your own agent

You already run the academy on Course37. The MCP server hands the repetitive parts to your own AI agent: add videos, schedule live classes, record payments and installments, query exams, finances, students and website analytics. Streamable HTTP at POST /mcp, OAuth2 client credentials, and only the scopes you grant.

mcp credential
endpointhttps://api.course37.com/mcp
authOAuth2 client-credentials
tokenBearer · expires_in 900
scopecourses:readpayments:readanalytics:read
OAuth-secured · scope-gated

Capabilities

What an agent can call

Every line below is a tool. Your agent sees a tool only if you granted its scope, and every call runs inside your organization.

Courses & content

  • Add videos to any course module
  • Edit course details and pricing
  • Build curriculum / course plans
  • List courses and modules

Live classes

  • Schedule live class sessions
  • Zoom, Google Meet, YouTube Live & streaming
  • Attach sessions to course modules

Payments & finance

  • Record student payments
  • Add installments to a payment
  • Query a student’s dues & history
  • Payment analytics & course revenue breakdown

Profit share

  • Teacher share percentages
  • Expenses & withdrawals
  • Calculate profit share by course & period
  • Per-teacher dashboards

Exams & questions

  • List quizzes/exams & results
  • Merit lists & exam analytics
  • Search the question bank

Students

  • List & search students
  • Student performance analytics
  • Exams, assignments, attendance & video analytics

Website analytics

  • Visitor overview & daily trends
  • Top pages, devices & geography
  • Traffic acquisition & search console

Most of the admin UI

  • The same operations your team clicks through by hand
  • Composable, scope-gated tools
  • New tools added over time

Setup

From credential to first call

Three steps: create the credential, exchange it for a token, point the agent at the endpoint.

Step 01

Create a credential

In Dashboard → Integrations → MCP Server, create a credential and tick exactly the scopes you want it to have. Write access is off by default.

Step 02

Exchange it for a token

Your agent trades its client id and secret for a short-lived bearer token with the standard OAuth2 client-credentials grant. Tokens expire in 900 seconds.

Step 03

Point your agent at it

Any MCP-compatible agent speaks Streamable HTTP to POST /mcp. It sees only the tools your scopes allow, and only data inside your organization.

Exchange credentials for a token
curl -X POST https://api.course37.com/mcp/oauth/token \ -H "Content-Type: application/json" \ -d '{ "grant_type": "client_credentials", "client_id": "mcp_live_…", "client_secret": "…", "scope": "courses:read payments:read analytics:read" }' # → { "access_token": "…", "token_type": "Bearer", "expires_in": 900 } # then call the MCP endpoint at https://api.course37.com/mcp with that Bearer token
Access control

The agent gets the scopes you grant

Nothing beyond them. Narrow a credential or switch it off, and the change applies to the next call.

  • OAuth2 client-credentials. The agent never holds a password.
  • Every tool is gated by an explicit scope you grant.
  • Write and destructive tools stay off until you enable them.
  • Strictly organization-scoped. An agent only ever sees your data.
  • Secrets are hashed at rest and shown only once.
  • Disable or rotate a credential at any time, effective immediately.
MCP

Create a credential, then connect your agent

Credentials live in your dashboard under Integrations → MCP Server. Pick the scopes, copy the secret once, paste it into your agent.