Model Context Protocol

Run your LMS from Claude, ChatGPT, or Gemini

Cubite ships an MCP server, so an AI assistant can operate your learning site directly. Build a course from a syllabus, enroll a cohort, upload a SCORM package, restyle the homepage, publish a blog post, all from chat. Every connection is scoped to one site and to the permissions you approve, and you can revoke it at any time.

Your server URL

https://cubite.io/api/mcp/mcp

One URL for every site. You choose which of your sites to connect when you sign in.

What the assistant can do

The server exposes 54 tools. The assistant only sees the ones your connection has permission for, so a read-only connection genuinely cannot write.

Courses and content

Create courses, write lessons and units, add quizzes, assignments, and graded activities, and upload SCORM or xAPI packages.

Learners

Invite and create users, enroll individuals or a whole cohort, manage groups, and revoke access.

Learning paths

Build multi-course journeys, order the steps, set prerequisites, and enroll learners into the path.

Site and marketing

Update settings and theme, rebuild the homepage, and publish pages and blog posts.

Connect your assistant

Claude and ChatGPT sign in through your browser, so there is no key to copy. Command line and server-to-server clients use a scoped API key instead.

Claude

  1. Use the Add to Claude link, or open Settings, then Connectors, then Add custom connector and paste the URL above.
  2. Claude opens a Cubite sign-in. Pick the site you want to connect.
  3. Approve the permissions. The tools appear in your next chat.

Claude Code

claude mcp add --transport http cubite https://cubite.io/api/mcp/mcp
bash

Run /mcp in Claude Code to complete the browser sign-in on first use.

ChatGPT

  1. Turn on developer mode in your ChatGPT settings.
  2. Add a connector and paste the URL above as the server address.
  3. Sign in when prompted, pick your site, and approve the permissions.

OpenAI has moved these menus more than once. If the wording does not match, look for connectors or plugins in settings.

Gemini CLI and other HTTP clients

Create a scoped API key in Admin, then your site, then Integrations, and send it as a bearer header. The key is shown once.

{
  "mcpServers": {
    "cubite": {
      "httpUrl": "https://cubite.io/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer ck_your_key_here"
      }
    }
  }
}
json

Any client that can send Authorization: Bearer ck_... works against the same URL. Cursor, Windsurf, and custom agents all use this shape.

Permissions

Permissions are granted per connection. The OAuth screen lists exactly what is being requested before you approve, and an API key carries only the scopes you gave it. A write permission also grants the matching read.

PermissionGrants
pages:read / pages:writeRead, create, and edit pages and blog posts
courses:read / courses:writeRead, create, and edit courses and their content
enrollments:read / enrollments:writeRead and manage course enrollments
users:read / users:writeRead, create, and invite users
members:read / members:writeRead and manage site members and their roles
groups:read / groups:writeRead and manage groups and cohorts
learning-paths:read / learning-paths:writeRead and manage learning paths
question-banks:read / question-banks:writeRead and manage question banks
packages:read / packages:writeRead and upload xAPI and SCORM packages
site:read / site:writeRead and update site settings, theme, and homepage
media:writeUpload images and files

Grant deliberately. Reading users, members, or enrollments exposes learner names and email addresses to the assistant, which means to that assistant vendor. Writing users can create accounts on your site, and writing packages uploads content that runs in a browser on your domain. If you only want help writing content, grant pages and courses and nothing else.

Security and data handling

  • One site per connection. The site is fixed at sign-in and resolved from your credential on every request. An assistant cannot reach another tenant.
  • Short-lived tokens. An OAuth access token lasts one hour. Refresh tokens rotate on use, and replaying an old one revokes the whole connection.
  • Nothing stored in the clear. Tokens and API keys are stored only as hashes, so a database read cannot recover a working credential.
  • Writes are logged. Every write through the API is recorded against the credential that made it.
  • Your assistant sees what you grant. Data returned by a tool is processed by whichever assistant you connected, under that vendor's terms. Cubite does not send your data to any assistant on its own.
  • Revoke at any time. Open Admin, then your site, then Integrations, and revoke the connection or key. Access stops immediately.

See our Privacy Policy, Terms, and Security Policy.

Questions

What is MCP?

The Model Context Protocol is an open standard for connecting AI assistants to external systems. An MCP server exposes a set of tools an assistant can call. Cubite runs one, so an assistant can operate your learning site directly instead of you clicking through the admin.

Which assistants work with Cubite?

Anything that speaks MCP over HTTP. That includes Claude (web, desktop, and Claude Code), ChatGPT in developer mode, Gemini CLI, Cursor, and custom agents built on the Anthropic or OpenAI APIs.

Can the assistant see other tenants' data?

No. Every connection is bound to exactly one site, chosen by you when you sign in. There is no parameter an assistant can pass to reach another site, and the server resolves the site from your credential on every single request.

Do I need to paste an API key into Claude or ChatGPT?

No. Those clients use OAuth: they open a Cubite sign-in in your browser, you pick the site and approve the permissions, and no secret is ever copied or stored by you. API keys exist for command-line and server-to-server clients that cannot open a browser.

How do I disconnect?

Open Admin, then your site, then Integrations. Revoking the connection there immediately invalidates its access. Removing the connector inside Claude or ChatGPT stops that client from calling Cubite, but revoking in Cubite is what actually kills the credential.

Does this cost extra?

No. The MCP server is included with your Cubite site. You bring your own assistant subscription.

No Cubite site yet?

Create one, then connect it to your assistant and build your first course by describing it in chat.

Support

How can we help?

Send us a message and we'll get back to you shortly.

We typically respond within 24 hours

MCP Server for LMS: Connect Cubite to Claude, ChatGPT, or Gemini | Cubite