Heights Platform for AI agents

Heights Platform helps creators build and sell online courses and digital products while managing students and orders. Teachers and program staff use it to keep coursework and learner records organized. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

EducationAPI keyMCP + RESTheightsplatform.com
AUDIT LOG · HEIGHTS PLATFORMPOLICY: acme-support
09:41:07 · claude · u_8f2read
heights_platform.list_orders
List Orders✓ allowed · 212ms
09:41:08 · claude · u_8f2read
heights_platform.get_order
Get Order✓ allowed · 164ms
09:41:09 · claude · u_8f2write
heights_platform.enroll_student
Enroll Student✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
heights_platform.revoke_student_role
Revoke Student Role✕ blocked · policy: deny
EVERY HEIGHTS PLATFORM CALL, ON THE RECORD
01 · USE CASES

What agents do in Heights Platform.

01

Check a student's progress

Look up a student's course completion progress before answering a support question.

02

Enroll a student in a course

Enroll a student in a purchased course so they get immediate access.

03

Revoke access with confirmation

Revoke a student's course access only after billing confirms a refund was processed.

02 · ACTIONS

16 Heights Platform actions, graded by risk.

Every Heights Platform action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

9

Look things up. Allowed by default.

  • heights_platform.get_order
    Get Order
  • heights_platform.list_orders
    List Orders
  • heights_platform.list_students
    List Students
  • heights_platform.list_course_roles
    List Course Roles
  • heights_platform.get_student_details
    Get Student Details
  • heights_platform.get_learning_product
    Get Learning Product
  • heights_platform.list_learning_products
    List Learning Products
  • heights_platform.list_student_submissions
    List Student Submissions
  • heights_platform.get_student_course_progress
    Get Student Course Progress

write

4

Create and change things. Allow, or ask the user first.

  • heights_platform.enroll_student
    Enroll Student
  • heights_platform.unenroll_student
    Unenroll Student
  • heights_platform.grant_student_role
    Grant Student Role
  • heights_platform.grant_student_access
    Grant Student Access

destructive

3

Delete, cancel or archive. Ask first, or deny outright.

  • heights_platform.revoke_student_role
    Revoke Student Role
  • heights_platform.revoke_student_access
    Revoke Student Access
  • heights_platform.reset_student_progress
    Reset Student Progress
03 · HOW IT WORKS

Heights Platform in three steps.

  1. 01Your users connect Heights PlatformThey add their Heights Platform api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “enroll Student” can wait for the user, and “revoke Student Role” can be denied outright.
  3. 03Any agent can actYour agent calls Heights Platform through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('heights_platform', {
  read: 'allow',
  write: 'ask',        // enroll_student
  destructive: 'deny',  // revoke_student_role
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Heights Platform connects.

Users add their Heights Platform api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Heights Platform connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Heights Platform from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Heights Platform and Arc0, answered.

Q01

Can I use Heights Platform with Claude, ChatGPT or Cursor?

Yes. Connect Heights Platform to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Heights Platform actions you allow.

Q02

How do users connect Heights Platform?

Users add their Heights Platform api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Heights Platform actions can my agent take?

16 in total: 9 read, 4 write and 3 destructive, such as “enroll Student”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Heights Platform?

Yes. Actions like “revoke Student Role” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Heights Platform too?

Yes. The same Heights Platform connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Heights Platform into your agent.

Your users connect Heights Platform once, under your brand. Your agent gets 16 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan