Skip to content
Studeia Docs
AI-assisted translation β€” last updated 2026-10-04. For original (pt-BR or en-US), use the language switcher.

Connect ChatGPT, Claude, or Claude Code to Studeia (MCP Server)

Complete guide to the Studeia MCP connector: enable it for the institution, connect ChatGPT, Claude or Claude Code via OAuth 2.1 and use 139 tools with each user's real permissions, fully audited.

By Studeia Team 2026-10-04 12 min
Resposta curta

Studeia exposes one MCP server per institution at https://<slug>.studeia.com/api/mcp. The administrator enables the connector under Settings β†’ AI Connectors; each admin, coordinator, pedagogue or teacher adds the URL in ChatGPT (Plugins), Claude (+ β†’ Connectors) or Claude Code, logs in and authorizes. The assistant acts with that person's real permissions across 139 tools (69 read, 70 write): reports, courses, lessons, grades, and settings β€” all audited.

How it works

Studeia implements the Model Context Protocol (MCP) with Streamable HTTP transport and OAuth 2.1 (dynamic client registration, PKCE S256, rotating refresh token). The AI assistant connects with your account, not with an institution-wide key: everything it does goes through the same permission rules as the web interface and is recorded in the audit log.

Institutional administratorCoordinator / pedagogical staffTeacher
Who enables the connectorYesNoNo
ReadEverything in the tenant: courses, lessons, students, class groups, grades, reports, settingsEverything in the tenant, except AI and tenant settingsCourses they created, collaborate on, or teach; students in their classes
WriteCourses, modules, lessons, teacher guides, people, class groups, enrollments, grades, gamification, automations, settingsThe same, except 14 configuration toolsCourses, lessons, grades, and live classes for their courses
Visible tools13912576
Out of scopeBilling, SSO/SCIM, provider keys, uploads, the connector toggle itselfSameSame

The screenshots in this guide show Studeia in Portuguese and ChatGPT/Claude in the language and theme of the account used (Portuguese, dark theme); menu names may vary depending on your assistant's version and language.

1. Enable at the institution (admin)

  1. Go to Settings β†’ AI Connectors (ChatGPT / Claude).
  2. Turn on Allow MCP connections. Optionally turn off Teachers can also connect (teachers will be restricted to the courses and class groups they teach).
  3. Copy the MCP server URL β€” typically https://<slug>.studeia.com/api/mcp. If the institution has a verified custom domain, it appears as the first option; the main address https://studeia.com/api/mcp also works.
AI Connectors section with both toggles enabled, the MCP server URLs, and the Copy button
Settings β†’ AI Connectors: toggles, server URL, and privacy notice

Disabling the connector immediately revokes all active connections. Disabling only the teacher option revokes only teacher connections.

The Active connections list shows each connection with the user, role, assistant (ChatGPT or Claude), permissions, authorization date, and last used β€” with a Revoke button on each row.

Active connections table with one Claude connection and one ChatGPT connection
Active connections: who connected, which assistant, permissions, and last used

2. Connect in Claude (web, Desktop, and mobile)

  1. In the chat, click + β†’ Connectors β†’ Add custom connector (or Settings β†’ Connectors).
  2. Under Add custom connector, give it a name (e.g., "MCP Studeia") and paste the MCP server URL. There is no Client ID/Secret to enter β€” registration is automatic; if advanced fields appear, leave them blank.
  3. Click Continue: you will be taken to the Studeia login (if not already logged in) and the consent screen.
  4. Review the permissions (read, write, 30 days) and the privacy notice β†’ Authorize. The connector appears under + β†’ Connectors with a toggle; under Manage connectors you can see and enable/disable each tool.
Claude's Add custom connector dialog filled in with the name MCP Studeia and the MCP server URL
Claude: Add custom connector β€” name and URL only
Studeia consent screen showing Claude requesting access to the institution on behalf of an administrator
Consent: requested permissions, user role, and privacy notice

Full tutorial with screenshots: Connect Claude to your LMS.

Claude Code (terminal)

claude mcp add --transport http studeia https://<slug>.studeia.com/api/mcp

Open /mcp in the session and choose Authenticate: Claude Code opens the browser for consent and receives the redirect at http://localhost:<port>/callback. The consent screen warns that the redirect goes to a local address β€” only proceed if you initiated the connection on your own computer.

Terminal with the claude mcp add command and confirmation that the server was added
Claude Code: claude mcp add --transport http

Full tutorial: Claude Code + LMS.

3. Connect in ChatGPT

  1. Settings β†’ Plugins β†’ Developer mode β†’ turn on Developer mode (ChatGPT flags it as High risk because it accepts servers not verified by OpenAI β€” this is expected).
  2. Under Plugins, click + (New plugin): name (e.g., "MCP Studeia") β†’ Connection Server URL β†’ paste the URL β†’ Authentication OAuth β†’ check I understand and want to continue β†’ Create.
  3. Complete the Studeia login and consent. The plugin page now shows your account under Connected accounts, the Permissions block, and the Actions list (each tool, with a Write badge on those that modify data).
  4. In the chat, click + and choose MCP Studeia. With the default permission (Allow low-risk actions), ChatGPT prompts for confirmation before each write action; Allow all actions removes that pause.
ChatGPT New plugin form filled in with the name MCP Studeia, the MCP server URL, and OAuth authentication
ChatGPT (Developer mode): New plugin with server URL and OAuth
Plugin page in ChatGPT showing Connected accounts, Permissions, and the Actions list
Authorized plugin: connected accounts, permissions, and available actions

The search and fetch tools follow the ChatGPT contract, so the connector also works in deep research.

Full tutorial: Connect ChatGPT to your LMS.

4. What to ask the assistant

Real-world examples, by area:

  • Reports: "Generate a report for class 3rd Grade A with at-risk students and the skills with the lowest mastery."
  • Lessons: "List all lessons in the Digital Skills course that have no teacher guide and create a guide for lesson 4."
  • Content: "Rewrite the slides for the Digital Vault lesson in simpler language and publish them."
  • People: "Which users have never accessed the platform? Export as a table."
  • Grades: "Enter 8.0 for student X on assessment Y and show me the class average."
  • Assessment: "Create a question bank about fractions with 10 multiple-choice questions and a 3-criteria rubric."
  • Live classes: "Schedule a live class for class B on Friday at 10 AM and tell me who was absent from the last one."
  • Gamification: "Create a 'Voracious Reader' badge for students who complete module 2 and award it to the top 3."
  • Automations: "Create an automation that sends a notification to a student when they have not accessed the platform for 7 days."
  • Configuration (admin): "Adjust the AI tutor prompt to respond in Angolan Portuguese and show this month's AI cost."

5. Tool catalog (139)

AreaExamplesToolsWho sees them
Institutionget_tenant_overview, update_tenant_settings, list_audit_events, embedded tools, report template9admin (settings: institution_admin only)
Courses and moduleslist_courses, get_course, create_course, publish_course, reorder_modules, clone_course, export_course_cartridge (IMS CC), AI review, course RAG, collaborators19teacher (create/clone: admin)
Lessonsget_lesson, create_lesson, update_lesson_content (validated by type), update_lesson_teacher_guide, bulk_update_lessons, populate_lesson_with_ai, quiz configuration11teacher
People, class groups, and enrollmentslist_users, create_user, invitations, tags, create_class_group, enroll_student, update_enrollment18class groups/enrollments: teacher reads; people management: admin
Assessmentget_gradebook, record_grades, export_gradebook_csv, competencies and frameworks, question banks, rubrics, get_quiz_analytics19teacher (frameworks: admin)
Reportsget_student_report, get_course_report, get_tutor_efficacy_report3teacher (tutor efficacy: admin)
Student answerslist_student_quiz_attempts, get_quiz_attempt (question by question), get_activity_attempt, list_student_tutor_quizzes, get_assignment_submission, grade_assignment_submission, release_quiz_results9teacher (students in their class groups)
Media and communicationsearch_media, get_media_transcription, list_announcements, live classes (schedule, start, end, attendance)11teacher
Gamificationglobal and per-course configuration, badges, award_badge, contests, rewards, redemptions, analytics18teacher (per-course badges); admin (global)
Automationslist_automations, create_automation, toggle_automation, test_automation, execution history8admin
AI configurationtutor prompts, AI limits, model routing, pedagogical configuration, AI analytics, RAG gaps10institution_admin (analytics: admin)
Searchsearch, fetch (ChatGPT contract)2all
Genericlist_api_endpoints, call_institution_api β€” reaches the documented institutional API2all (with role permissions)

Totals: 139 tools β€” 69 read and 70 write. Write tools only appear when the connection has the write scope. MCP resources available for the assistant to read: studeia://docs/lesson-content-schemas (schemas for all lesson types), studeia://docs/api-endpoints (reachable endpoints), and studeia://tenant/summary (who is connected, role, and scopes).

Not available via MCP: file uploads, billing, SSO/SCIM, AI and video provider keys, announcement creation, and the connector configuration itself.

6. How to restrict the scope

The connection scope is requested by the assistant (read, write, 30 days), not chosen in Studeia. To work with fewer privileges:

  • In Claude: under Manage connectors β†’ MCP Studeia, disable the write tools you do not want to expose; Claude also prompts for permission on each tool ("Allow once" / "Always allow").
  • In ChatGPT: keep the plugin permission set to Allow low-risk actions (default) β€” each tool marked as Write prompts for confirmation before executing; Allow all actions removes that pause.
  • In Claude Code: deny permission when the assistant asks to use a write tool, or approve only read tools.
  • As admin: turn off Teachers can also connect to restrict the connector to administrators, coordinators, and pedagogical staff.
  • Always: revoke the connection when you finish β€” it expires on its own after 30 days.

7. Security and token lifecycle

  • OAuth 2.1 with PKCE S256 required; dynamic registration only accepts Claude, ChatGPT, and loopback callbacks (http://localhost:<port>/callback).
  • Opaque tokens: the database stores only the hash. Access token lasts 1 hour; the refresh token is rotating (reuse of an old refresh token revokes the entire connection) and the connection expires at most 30 days from consent.
  • Bound to the address: a token issued at school.studeia.com is not valid at studeia.com β€” reconnect using the same address if you switch domains.
  • Role and institution re-read on every call: if the user's role changes or they leave the institution, the connection is automatically revoked.
  • Call rate limit per connection: 1,000/hour on the demo and 5,000/hour on paid plans; per-IP limits on OAuth endpoints.
  • Global platform administrators and impersonation sessions cannot authorize connections.

8. Audit logging

Every event in the connection's lifecycle generates mcp.* events in the institution's logs: client registration, consent granted/denied, token issued/renewed, refresh token reuse detected, revocation, configuration change, and every tool call (mcp.tool_call), with the tool name, involved IDs, success status, and duration β€” never the content sent or received. In Logs, filter the action by mcp..

Institution logs page filtered by mcp actions showing consent, token, and tool call events
Audit log: every tool call recorded, without the content

9. Data protection and student data

  • Any data the assistant retrieves (including data about minor students) is processed by the user's account provider β€” OpenAI or Anthropic β€” outside of Studeia. The consent screen makes this explicit.
  • The institution is the data controller and is responsible for lawful use: use the connector for educational purposes, request only what is necessary (data minimization), revoke idle connections, and review your AI provider's Data Processing Agreement (DPA).
  • What stays in Studeia: the connection record (client, scopes, dates) and audit events β€” never conversation content. User connections are included in personal data exports and can be revoked at any time.

Common issues

SymptomLikely causeWhat to do
"Couldn't reach the MCP server" in ClaudeWrong URL or connector disabledUse exactly https://<slug>.studeia.com/api/mcp and check the toggle under Settings
redirect_uri error during registrationUnsupported clientOnly Claude, ChatGPT, and clients with a local callback (Claude Code) are accepted
"The institution has not yet enabled AI connectors"Toggle is offAsk the administrator to enable it under Settings β†’ AI Connectors
"The institution does not allow teachers to connect"Teacher option is disabledAsk the administrator to turn on Teachers can also connect
Authorization request expired or invalidConsent took more than 10 minutes or was reopenedStart the connection again from the assistant
401 after switching domainsToken bound to the original addressReconnect using the same URL
Tool returns forbiddenTeacher is outside the course/class group or action is admin-onlyCheck the role and whether the course is among the ones you teach
429Hourly call rate limitWait or reduce batch requests
Prompts for login again after weeksConnection reached 30 daysAuthorize again β€” this is the expected behavior
Cannot authorize during support sessionImpersonation sessionImpersonation never authorizes AI connections
Consent screen showing the error for an institution that does not allow teachers to connect AI assistants
Permission error: the administrator has disabled the option for teachers to connect

For developers

  • Discovery: /.well-known/oauth-protected-resource/api/mcp and /.well-known/oauth-authorization-server (relative to the host).
  • POST /api/mcp without a token returns 401 with WWW-Authenticate: Bearer resource_metadata=….
  • Scopes: read, write, offline_access. Token prefixes: mcp_at_ (access) and mcp_rt_ (refresh).
  • Connector management routes (/api/institution/mcp/*) only accept web sessions β€” never API keys or MCP tokens. See the "MCP (ChatGPT / Claude)" group in the API reference.
  • Unattended automation (CI, scripts) should use the public API with a mia_ key: MCP consent is always interactive.

FAQ

Does Studeia have an MCP server for ChatGPT and Claude?

Yes. Each institution exposes a remote MCP server at https://<slug>.studeia.com/api/mcp (Streamable HTTP + OAuth 2.1 with dynamic client registration and PKCE). It works with Claude.ai, Claude Desktop, Claude mobile, Claude Code, and ChatGPT's custom MCP plugins (Developer mode).

What can the AI do once connected?

Exactly what the connected user can do on the web. There are 139 tools (69 read, 70 write): read courses and lessons (including full content and teacher guides), class groups, enrollments, grades, student and course reports; and β€” with write permission β€” create and edit courses, modules, lessons, teacher guides, grades, question banks, live classes, gamification, automations, and institution settings. A generic tool reaches the rest of the documented institutional API.

Does a connected teacher see data from the entire school?

No. The MCP token acts as the real user: teachers can only view and edit the courses they created, collaborate on, or teach (class groups), and reports only for students in their classes β€” 76 of the 139 tools are available to them. Institutional administrators see everything in the tenant. Global platform administrators cannot connect.

Can coordinators and pedagogical staff connect?

Yes. Coordinators and pedagogical staff have the same read and write scope as the institutional administrator, except for 14 admin-exclusive tools: AI prompt and limit configuration, model routing, pedagogical configuration, general tenant settings, embedded tools, report templates, and global gamification. Only the institutional administrator can enable or disable the connector.

Can I make the connection read-only?

Studeia does not have a 'read-only' toggle β€” the scopes (read, write, 30 days) are requested by the assistant at connection time. In practice you can limit the scope in four ways: in Claude, by disabling individual tools under Manage connectors (and answering 'Allow once' selectively); in ChatGPT, by keeping the plugin permission set to 'Allow low-risk actions' (the default), which prompts for confirmation before each write action; in Claude Code, by denying permission per tool; and, as an admin, by turning off 'Teachers can also connect'. Revoke the connection when you finish working.

How do I revoke AI access?

From the user's profile (AI Connections) or, for administrators, under Settings β†’ AI Connectors (list of all tenant connections). Disabling the connector immediately revokes all connections. Access tokens last 1 hour; the refresh token lasts at most 30 days and is rotating β€” after that, authorization must be granted again.

Does student data go to OpenAI or Anthropic?

Any data the assistant retrieves (including data about minor students) is processed by the AI provider of the user's account, outside of Studeia. The consent screen explicitly warns about this, and every tool call is logged in the institution's audit logs (tool name, IDs, and result β€” never the content). Use only for legitimate educational purposes and comply with applicable data protection laws.

Is a specific plan required, or is there an extra cost?

There is no additional cost in Studeia, and the connector is available on all plans, including the free demo. The only per-plan limit is the call rate per connection: 1,000 per hour on the demo and 5,000 per hour on paid plans. The ChatGPT or Claude plan is contracted separately with the respective provider and may condition access to custom connectors.

Does it work in Claude Code (terminal)?

Yes. Run claude mcp add --transport http studeia https://<slug>.studeia.com/api/mcp, open /mcp in the session, and click Authenticate: the browser shows the Studeia login and consent screen with a notice that the redirect goes to a local address (localhost). From there, Claude Code uses the same 139 tools, requesting permission per tool.

Veja tambem

Connect ChatGPT, Claude, or Claude Code to Studeia (MCP Server)