Model Context Protocol
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 the sites you pick and the permissions you approve, and you can revoke it at any time.
Your server URL
https://cubite.io/api/mcp/mcpOne URL for every site. You choose which of your sites to connect when you sign in.
The server exposes 130+ tools, and one connection can cover several of your sites. The assistant only sees the tools your connection has permission for, so a read-only connection genuinely cannot write.
Create courses, write lessons and units, add quizzes, assignments, and graded activities, and upload SCORM or xAPI packages.
Invite and create users, enroll individuals or a whole cohort, manage groups, and revoke access.
Ask for a site overview, per-course engagement, where learners drop off, which exam questions are broken, at-risk learners, grading turnaround, sales revenue, and more.
For sites with Google Search Console connected: performance totals and trend, top queries and pages, and ranked SEO opportunities, all in chat.
Build multi-course journeys, order the steps, set prerequisites, and enroll learners into the path.
Update settings and theme, rebuild the homepage, and publish pages and blog posts.
Search across courses, pages, blog posts, and learning paths, and read any of them in full - this also powers ChatGPT's research modes.
The server also ships six workflows. In Claude they appear as slash commands, so you do not have to know which tools to chain. Each one stops and shows you the plan before it writes anything, and you only see the ones your permissions can finish.
| Workflow | What it does | Needs |
|---|---|---|
| Write and Publish an SEO Post | Checks the existing blog for a near duplicate, drafts the post, links a real course, and stages it hidden for your review. | Pages |
| Build a Course From an Outline | Turns a syllabus, SOP, or transcript into sections, units, and graded checks, then fills in catalog metadata. | Courses |
| Onboard a Learner Cohort | Dedupes a learner list against existing enrollments, picks a group or a bulk enroll, and hands back sign-in links. | Enrollments |
| Assemble a Learning Path | Orders existing courses into a guided path with unlock rules and prerequisites. | Learning paths |
| Audit Catalog and Enrollments | Read-only report: published courses with no lessons, missing outlines, missing SEO, stalled enrollments. | Courses (read) |
| Refresh Homepage and Site SEO | Rebuilds the homepage from courses that actually exist, keeping your real testimonials and stats. | Site |
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 mcp add --transport http cubite https://cubite.io/api/mcp/mcpbashRun /mcp in Claude Code to complete the browser sign-in on first use.
Developer mode unlocks the full toolset. ChatGPT's research modes (Deep Research and company knowledge) use the server's built-in search and fetch tools, so your courses, pages, and posts are researchable there too. OpenAI has moved these menus more than once; if the wording does not match, look for connectors or plugins in settings.
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"
}
}
}
}jsonAny client that can send Authorization: Bearer ck_... works against the same URL. Cursor, Windsurf, and custom agents all use this shape.
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 (except forms:write, which manages form templates only and never reads learner form responses).
| Permission | Grants |
|---|---|
| pages:read / pages:write | Read, create, and edit pages and blog posts |
| courses:read / courses:write | Read, create, and edit courses and their content |
| enrollments:read / enrollments:write | Read and manage course enrollments |
| users:read / users:write | Read, create, invite, and edit users |
| members:read / members:write | Read and manage site members and their roles |
| groups:read / groups:write | Read and manage groups and cohorts |
| learning-paths:read / learning-paths:write | Read and manage learning paths |
| question-banks:read / question-banks:write | Read and manage question banks |
| packages:read / packages:write | Read and upload xAPI and SCORM packages |
| site:read / site:write | Read and update site settings, theme, and homepage |
| media:read / media:write | List the site's video library / upload images and files |
| reports:read | Aggregate analytics: site overview, per-course engagement, drop-off funnel, exam item analysis and score distribution, cohort comparison, credits, page views (never learner names) |
| search-console:read | Google Search Console: performance, top queries and pages, and SEO opportunities |
| certificates:read / certificates:write | Read issued certificates / issue, revoke, and re-render them (rows name learners) |
| discussions:read / discussions:write | Read course discussions and the moderation queue / post, moderate, and manage topics |
| grading:read / grading:write | Read submissions and quiz attempts / grade, assess, and override scores and completions |
| forms:read / forms:write | Read form responses and templates / create and delete reusable form templates |
| announcements:read / announcements:write | Read site announcements / create, edit, and publish them for members |
| payments:read | Sales revenue totals and the paid-but-not-enrolled reconciliation report |
| email-templates:write | Rewrite transactional email copy (sign-in and password emails excluded) |
| webhooks:read | Read webhook subscriptions and their delivery log |
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.
You do not have to take everything an app asks for. The sign-in screen lists each permission as its own checkbox, ticked to start, and you can untick any of them before approving. The connection then gets only what you left ticked. If an app does not ask for anything specific, we preselect a read-only set (view site settings, pages, courses, and aggregate analytics) so it can look but not change.
See our Privacy Policy, Terms, and Security Policy.
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.
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.
No. A connection is bound to exactly the sites you tick on the sign-in screen - one, or several of your own. The server validates every request against that approved set, so an assistant can only ever switch between sites you explicitly granted, never reach anyone else's.
No. Those clients use OAuth: they open a Cubite sign-in in your browser, you pick which of your sites to connect (one, or several) 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.
Open Admin, then any of the connected sites, then Integrations. The connection appears on every site it covers, and disconnecting it there immediately invalidates its access to all of them. Removing the connector inside Claude or ChatGPT stops that client from calling Cubite, but revoking in Cubite is what actually kills the credential.
No. The MCP server is included with your Cubite site. You bring your own assistant subscription.
Something not working, or a question about connecting? Email hello@cubite.io. We answer within two business days.
To report a security vulnerability, email security@cubite.io instead, and see our Security Policy for what is in scope and our safe-harbour commitment.
To cut off a connection right now, you do not need us: open Admin, then your site, then Integrations, and disconnect it there.
Create one, then connect it to your assistant and build your first course by describing it in chat.
Send us a message and we'll get back to you shortly.