What your app needs
Use the server URL from Settings → MCP Server:
About the scope name.
vacademy.read is the only OAuth scope and every app gets it. It does not mean read-only. What a connection can do is decided by your institute’s MCP settings for the signed-in person’s roles, checked on every request. Edit tools are available only where an admin switched them on.Apps that register themselves
Most apps do this, including Claude, ChatGPT, Cursor, Claude Code and VS Code. Paste the server URL, start the connection, sign in on your admin portal and approve. Nothing else is needed.Apps that ask for a client ID
Some apps want a client ID pasted into a form instead of registering themselves.Your institute’s own client ID
Every institute gets one client ID automatically. It shows as Your client ID under Settings → MCP Server → Connect your AI app once the server is on. It:- already accepts the callback addresses of Claude (
claude.aiandclaude.com), ChatGPT’s older callback address, andcursor.com/connector/callback(Cursor’s documented desktop and web-agent callbacks are different; see Cursor), - cannot be removed, so your institute always has a working ID.
Create a client ID for another app
1
Find the app's redirect URL
The app’s own documentation tells you its redirect (callback) URL. Desktop and command-line apps usually use something like
http://localhost:<port>/callback.2
Create the client ID (admin)
In Settings → MCP Server → Client IDs for other apps, click Add a client ID for another app.
- App name: something you will recognise, for example Marketing team’s assistant.
- Redirect URLs: comma-separated, up to five. Each must be
https://, orhttp://on localhost.
vcm-.3
Paste it into the app
Give the client ID to the people using that app. There is no secret. Each person still signs in with their own account.
Test a connection with MCP Inspector
MCP Inspector is the open-source testing tool from the MCP project. It runs the full sign-in and lets you list and call tools by hand.- In the Inspector, choose the Streamable HTTP transport.
- Paste your server URL and connect.
- Complete the sign-in in your browser and approve.
- Open Tools, list them, and call
whoami.
Technical notes
- Stateless. Each request stands alone. There is no session to keep alive, and the server can run on several machines.
- Tool annotations. View tools are marked
readOnlyHint: true. Edit tools are markedreadOnlyHint: falseanddestructiveHint: true, so apps that respect hints will ask before using them. - One tool per feature. Most tools take an
actionargument, for examplecourseswithaction: "list"oraction: "get". Each tool’s input schema lists its actions. - Prompts and resources. When the website area is on, the server also offers the
figma_to_siteprompt and design playbook resources (vacademy://playbook/{source},vacademy://patterns/{id}). The same guidance is available through thewebsitetool, for apps that ignore prompts and resources. - Revoking tokens. The server supports standard token revocation, so apps that sign out properly end the connection on our side too.