Skip to main content

For developers & AI assistants

MCP connection guide

Connect ChatGPT, Claude, Cursor or any Model Context Protocol client to FutureNest Global School's live data — securely, as a signed-in user.

1. Server URL

Add this Streamable HTTP endpoint in your assistant's connector settings:

https://futurenestglobalschool.com/mcp

Protected-resource metadata is published at https://futurenestglobalschool.com/.well-known/oauth-protected-resource. The server accepts only OAuth 2.1 bearer tokens — there is no API key and no anonymous access to school data.

2. OAuth sign-in steps

  1. Paste the server URL into your MCP client and start the connection.
  2. The client reads the metadata above, discovers the authorization server and registers itself automatically (dynamic client registration — nothing to configure).
  3. Your browser opens the FutureNest sign-in page. Sign in with the account the school created for you.
  4. A consent screen names the connecting app. Choose Approve to grant access, or Deny to cancel.
  5. The client receives a token and the tools appear. Call whoami first to confirm the connection.

Every call runs as your account under row-level security, and is written to the school's audit log (who, when, which tool, outcome). Public tools work for any signed-in account; enquiry tools require a staff or admin role.

3. Available tools

whoamiCheck connection & identity

Health check. Confirms the server is reachable, whether you are authenticated, and whether the database responds.

Example arguments: {}

get_school_infoSchool details

Public information: address, phone, email, timings, age groups and programs.

Example arguments: {}

list_certificationsLicences & certificates

Lists the school's published certifications with titles, categories and document links.

Example arguments: {}

list_admissions_leadsAdmission enquiries (staff only)

Reviews website admission enquiries, newest first, with optional status filtering.

Example arguments: { "limit": 20, "status": "new" }

update_admissions_leadUpdate an enquiry (staff only)

Sets the status or internal notes on a single admission enquiry.

Example arguments: { "id": "<lead-uuid>", "status": "contacted", "notes": "Called, visit booked Friday" }

list_franchise_leadsFranchise enquiries (staff only)

Reviews franchise partnership enquiries with investment range, location and timeline.

Example arguments: { "limit": 20 }

4. Example tool calls

In chat, plain language is enough — “check the FutureNest connection”, or “list this week’s admission enquiries and mark the first one contacted”. Over raw JSON-RPC the calls look like this:

POST https://futurenestglobalschool.com/mcp
Authorization: Bearer <oauth-access-token>
Content-Type: application/json
Accept: application/json, text/event-stream

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": { "name": "whoami", "arguments": {} }
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_admissions_leads",
    "arguments": { "limit": 10, "status": "new" }
  }
}
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "update_admissions_lead",
    "arguments": {
      "id": "00000000-0000-0000-0000-000000000000",
      "status": "contacted",
      "notes": "Spoke to parent, campus visit booked"
    }
  }
}

5. Rate limits

  • 30 tool calls per minute, per user
  • 300 tool calls per hour, per user
  • 10 write/update calls per minute, per user
  • 25-second ceiling on any single call

Exceeding a limit returns a rate_limited error with retry_after_seconds — wait that long and retry.

6. Error responses

Every failure returns the same shape:

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit reached: 30 tool calls per minute per user.",
    "hint": "Wait for the retry window to pass, then try again.",
    "retry_after_seconds": 42
  }
}
CodeMeaningWhat to do
unauthenticatedNo valid token was presented.Re-run the OAuth flow and approve the consent screen.
forbiddenSigned in, but this account cannot see that data.Ask an admin to grant a staff role.
rate_limitedPer-user quota exceeded.Wait for retry_after_seconds, then retry.
timeoutThe call ran past 25 seconds.Narrow the request and try again.
invalid_inputArguments failed validation.Check the tool's input schema and resend.
not_foundThe requested record does not exist.Re-list records to get a valid id.
internal_errorUnexpected server-side failure.Run whoami, then retry.

7. Need access?

Staff-level tools are granted by the school. Contact us and we’ll set up your account and role.

Ready to visit our campus?

Book a walkthrough, meet our educators and see how your child will learn, play and grow.