# The Cloud (thecloud.so) — full agent reference The Cloud (thecloud.so) is an AI-native workspace and operating system: your memory, pages, apps, and agents live in one always-on place that any AI can read and act in over MCP. This file is self-contained: MCP endpoint, both auth paths, all 385 tools across 29 families with safety annotations, pricing, and limits are inline. You do not need a second fetch. Generated from the live MCP tool registry at build time — the catalog below is what the server returns from tools/list. ## MCP endpoint https://mcp.thecloud.so/mcp One HTTP endpoint speaking JSON-RPC 2.0. It is both an MCP server (any AI reads your memory and acts in your workspace, with consent) and an MCP client (your workspace consumes Linear, GitHub, Vercel, and more). ## Authentication — two paths ### 1. OAuth (default, no API key) The browser opens once to sign in to the user's Cloud account; the connection is then live. No secret is copied, pasted, or stored. - Claude Code: claude mcp add --transport http the-cloud https://mcp.thecloud.so/mcp - Gemini CLI: gemini mcp add --transport http the-cloud https://mcp.thecloud.so/mcp - Cursor: add to ~/.cursor/mcp.json — {"mcpServers":{"the-cloud":{"url":"https://mcp.thecloud.so/mcp"}}} - Claude Desktop: Settings → Connectors → Add custom connector → https://mcp.thecloud.so/mcp ### 2. Static Bearer key (CI, headless, clients without MCP OAuth) For continuous integration, scripted setups, and clients that do not support MCP's OAuth flow yet (Windsurf, ChatGPT): generate a key under Settings → AI and pass it as a Bearer header. ```json { "mcpServers": { "the-cloud": { "type": "http", "url": "https://mcp.thecloud.so/mcp", "headers": { "Authorization": "Bearer " } } } } ``` Full connect guide, including per-client snippets: https://www.thecloud.so/connect ## Safety annotations Every tool below carries a machine-readable class. These mirror the MCP tool annotations the server returns, so an agent can plan around them before calling anything. - [read] — read-only. Mutates nothing, reaches no external system. - [write] — mutates workspace state. - [destructive] — deletes or sends; not reversible by re-calling. - [consent] — widens exposure (share, publish, visibility). Requires explicit per-action approval from the owner; an agent cannot self-approve. - [external] — reaches a system outside The Cloud (Gmail, GitHub, Calendar, Telegram, Spotify, Amazon). Totals: 145 read-only, 240 write, 35 consent-gated. ## Tool catalog — 385 tools, 29 families ### Memory & Sync (11) Durable cross-AI memory: read, search, write, and organize what every AI should carry between sessions. - confirmCloudUpdates [write] — Confirm that the reconciliation draft from `pullCloudUpdates` has been written back, so the watermark advances and the next pull is incremental. - createMemory [write] — Create a Memory — a durable, judgment-grade page that persists across sessions. - getUniversalContext [read] — Get The Cloud's product model — its primitives (Page, My Day, Task, Memory, Space, Calendar event, Habit, Profile, File), the verbs for each, the natural-language phrases that route to each, the rule… - getWritingGuide [read] — Get the canonical guide for authoring rich content in The Cloud's Pages editor — the exact markdown syntax the createPage / editPage / appendPageContent tools accept for headings, lists, callouts, ta… - organizeMemory [write] — Organize the caller's Memory — restack flat memory pages into the Context Design nebula: a Memory hub with Ora memories, Projects, and References sections, placed by each memory's keymap tags. - pullCloudUpdates [read] [external] — Pull what shipped in a GitHub repo since the last sync — the merged pull requests The Cloud has not yet ingested into its memory and docs for that project — and draft the reconciliation. - readMemory [read] — Read a Memory by ID — returns its title, body, keymap tags, and type. - resolve [read] — Resolve ONE loose reference to the right Cloud primitive in a single lookup — a name, a partial id, "the X page", "my Pure Pastry contact" — instead of guessing which tool to call. - searchMemory [read] — Search the caller's Memory — the durable knowledge layer. - sync [read] — Sync with The Cloud — return the full Charter and the user's current memory in one call. - updateMemory [write] — Update an existing Memory's body and/or keymap tags. ### Pages & Spaces (29) Rich documents and the Spaces holding them — create, read, edit, restructure, tag, and publish. - appendPageContent [write] — Append content to the end of an existing Page without replacing it. - batchMovePage [write] — Move many Pages to one destination — a new parent Page and/or a new Space — in a single auditable operation, instead of one move per page. - createPage [write] — Create a Page — a rich document in a Space. - createSpace [write] — Create a Space — a top-level workspace that holds Pages. - deletePage [write] [destructive] — Delete a Page — moves it to trash, restorable, same as deleting from the UI. - editPage [write] — ⚠️ DESTRUCTIVE — REPLACES THE ENTIRE PAGE BODY. - editSection [write] — Replace the body of one section of a page — the blocks under a heading — leaving the heading and the rest of the page untouched. - insertComponent [write] — Place a real typed component — a status chip — into a page body at a chosen anchor. - insertContent [write] — Insert markdown into a page at a chosen anchor — additively, without replacing anything. - insertDialogueCallout [write] — Write an attributed-dialogue transcript into a page as real callout blocks — one block per turn, each carrying who said it and a real avatar: Ora as the cloud mark, a person by photo/initials, a mode… - listComponentTypes [read] — List the typed block components insertComponent can author and the exact props each accepts — schema discovery, so you author against the real component contract instead of guessing. - listPageFiles [read] — List the files attached to a Page — PDFs, audio, and images embedded in the page body — each with a fileId, name, type, and whether its content can be read (textAvailable). - listPages [read] — List Pages in a Space, or audit exposure across ALL your Spaces. - listPageSpaces [read] — List the user's Spaces — the workspaces that contain Pages. - listSpaceContents [read] — List everything in a Space in one call — its pages, tables, and Studio apps — so a Space reads as a real project hub. - listSpaceMembers [read] — List the members of a Space and their roles (owner / admin / member). - movePage [write] — Move a Page under a new parent Page to build a hierarchy. - moveSection [write] — Relocate a section of a page — a heading and its body — to a new spot, without rewriting the page. - readPage [read] — Read a Page's content as markdown — the same syntax createPage / editPage / appendPageContent accept, so callouts, toggles, lists, and tables round-trip instead of flattening. - readPageFile [read] — Read the content of a file attached to a Page — a PDF's text layer, a DOCX/CSV/TXT/MD document, an audio transcript, or an IMAGE. - renamePage [write] — Rename a page's title only — the body stays unchanged. - searchPages [read] — Search Pages by title across the user's Spaces. - setPagesVisibility [write] [consent] — Bulk Page visibility sweep — up to 50 pages in one call. - setPageVisibility [write] [consent] — Change a Page's visibility. - shareSpace [write] [consent] — Request sharing a Space with a Cloud account at a role (owner | admin | member). - tagPage [write] — Add tags to or remove tags from an EXISTING page — the post-creation counterpart to `createPage`'s `tags` parameter. - unshareSpace [write] [consent] — Request removing a member's access to a Space. - updateComponent [write] — Re-style a status chip you placed earlier with insertComponent, addressed by its componentId. - updateSpaceMemberRole [write] [consent] — Request changing a Space member's role (owner | admin | member). ### Tasks & My Day (16) To-dos, task lists, and the daily page — the user's plan for today and what is outstanding. - addToMyDay [write] — Append content to the user's My Day page for a date — existing content is preserved. - addToMyDayLibrary [write] — Save an item to the user's files — defaults to today's My Day folder (the daily folder), or pass an explicit folderId to route to another folder. - completeMatchingTodo [write] — Find the incomplete Task matching a completion report and mark it complete in one step. - convertMyDayListToTaskBlocks [write] — Convert bullet lists in a My Day page to checkbox/task blocks. - createTodo [write] — Create a Task — a to-do item in a task list. - createTodoList [write] — Create a task list — the container a Task belongs to. - deleteTodo [write] [destructive] — Delete a Task — moves it to Trash (recoverable), matching the app's delete. - getListTaskCounts [read] — Count Tasks per list, ranked. - listTaskLists [read] — List the user's task lists — the containers a Task belongs to. - listTodos [read] — List every Task for the user, with the list each belongs to. - moveTaskToList [write] — Move a Task to a different list. - readMyDay [read] — Read the user's My Day page for a date — one daily page per calendar date. - readMyDayLibrary [read] — Read the user's My Day library collection (a folder) for a date — the daily collection of saved files and links that mirrors the My Day page. - toggleTodo [write] — Mark a Task complete or incomplete. - updateMyDayTask [write] — Edit, re-check, or delete a SINGLE task block in a My Day page — in place, leaving every sibling block untouched. - updateTodo [write] — Update a Task's text, priority, or due date. ### Calendar & Booking (15) Events, availability, free-time search, and public booking types. - archiveBookingType [write] [destructive] — Archive a booking type — takes its public link OFFLINE (disables it) so no one can book it. - createBookingType [write] — Create a booking type — a scheduling link people use to book time with you (name, duration, buffers, notice, approval, guests, price, video provider). - createEvent [write] [external] — Schedule a new Calendar event. - deleteEvent [write] [destructive] [external] — Delete a Calendar event. - findFreeTime [read] [external] — Find open slots for a Calendar event in a window that fit a duration. - getBookingType [read] — Get one booking type by id — its full settings, public URL, and whether the link is publicly reachable right now. - getEvent [read] [external] — Get full detail on a single Calendar event by id — description, location, recurrence rule, and the `attendees` roster (each with `email`, `status`, `role`) so you can confirm who was actually invited. - listBookings [read] — List bookings people made on your links — who booked, when, and the status — read-only. - listBookingTypes [read] — List your booking types (scheduling links), newest-edited first. - listCalendars [read] [external] — List the calendars the user can see. - listEvents [read] [external] — List Calendar events between `startTime` and `endTime` (unix ms). - presentEvents [read] [external] — Render multiple Calendar events as cards or an agenda in the chat — use instead of listing event titles in plain text. - respondToCalendarEvent [write] — RSVP to a Calendar event invitation on the user's behalf — set their attendee response to `accepted`, `declined`, or `tentative`. - updateBookingType [write] — Update a booking type you own — rename, adjust duration/buffers/notice/approval/price/guests, or enable/disable it. - updateEvent [write] [external] — Edit an existing Calendar event. ### Habits (10) Habit definitions, daily logging, streaks, and statistics. - archiveHabit [write] — Archive a Habit — hides it from the active view but keeps its logged history. - createHabit [write] — Create a Habit — a recurring behaviour the user tracks and logs over time, with a frequency and target count. - deleteHabit [write] — Archive a Habit — alias for archiveHabit. - getAllStats [read] — Get derived stats for ALL of the user's active Habits in one call — the single batched read, avoids N+1 when surveying overall progress. - getHabitHistory [read] — Get the day-by-day history for one Habit over a trailing window (default 8 weeks): an ordered series of { date, count, met, note? }, oldest first, one entry per day including unlogged days (count 0). - getHabitStats [read] — Get derived stats for one Habit: current streak (consecutive target-met days, daily habits only), longest streak, periodStreak (consecutive met weeks/months, for weekly/monthly habits), strength (0-1… - listHabits [read] — List the user's Habits. - logHabit [write] — Log progress on a Habit for a date. - purgeHabit [write] [destructive] — Permanently delete a Habit and every logged entry. - updateHabit [write] — Edit an existing Habit — change any of its name, description, icon, color, frequency, time of day, target count, type, unit, reminders, pause (pausedUntil, protects the streak), or stacking anchor (a… ### Files & Drive (11) Workspace files and folders, plus the searchable index of attached drives. - createFolder [write] — Create a folder to organize Files. - deleteFile [write] [destructive] — Delete a File permanently. - deleteFolder [write] [destructive] — Delete a folder and everything inside it. - gatherFiles [read] — Plan a gather across drives: given indexed files, group them by drive and report which drives are plugged in vs. - getFileContext [read] — Get the full lightweight context for one indexed drive file — metadata plus extracted text / transcript, and whether its drive is plugged in right now. - indexDrive [write] [external] — Index a connected drive on one of the user's machines: the MachineSync daemon scans it on-device in tiers (metadata → light → deep) and pushes a lightweight per-file index up, so the drive stays sear… - listFiles [read] — List folders and Files for the user. - moveFile [write] — Move a File into a different folder. - renameFile [write] — Rename a File. - renameFolder [write] — Rename a folder. - searchFiles [read] — Search the user's drive index by filename, metadata, and extracted text / transcripts across every connected drive — results come from the synced index, so it works even when a drive is UNPLUGGED. ### Tables (18) MCP-native spreadsheet/database grids — columns, rows, queries, summaries, and sharing. - addColumn [write] — Add a typed column to a table you own, appended to the right of a tab. - computeSummary [read] — Summarize one column of a table you own — count, filled, and for number/currency columns sum + average + min + max (min + max for dates). - createTab [write] — Add a tab (sheet) to a table you own — one table, one URL, several sheets, like a spreadsheet workbook. - createTable [write] — Create a table in the Tables app — a real spreadsheet/database grid. - deleteColumn [write] [destructive] — Delete a column and every value under it from a table you own. - insertRows [write] — Insert rows into a table you own. - listTableShares [read] — List teams a table is shared with — each team's id, name, and permission. - listTabs [read] — List the tabs (sheets) of a table you own — each tab's id, name, and order, left to right. - moveTable [write] — Move a table into a Space so it lives with its project, instead of the owner's global Tables list. - queryTable [read] — Query a table you own — filter and/or sort its rows without loading everything. - readTable [read] — Read a table you own — its meta, its tabs (sheets), and the active tab's columns (type + order) and rows. - renameColumn [write] — Rename a column in place — a name change only (type/config stays). - renameTab [write] — Rename a tab (sheet) of a table you own. - renameTable [write] — Rename a table you own — sets a new title in place. - setTableVisibility [write] [consent] — Request a table visibility change (public ↔ private). - shareTable [write] [consent] — Request sharing a table with a team. - unshareTable [write] [consent] — Request removing a team's access to a table. - updateCells [write] — Edit cells in a table you own. ### Forms (16) Form definitions, fields, capacity, notifications, SEO, and collected responses. - addFormNotificationRecipient [write] — Add an email address to a form's submission-notification recipients. - createForm [write] — Create a form in the Forms app. - deleteFormResponse [write] [destructive] — Permanently delete one form response by its id — a hard delete (no trash, no undo), for clearing spam or test entries. - duplicateForm [write] — Duplicate a form you own or can edit into a NEW form you own — a full copy of its configuration (every field with its settings, the confirmation messages, the notification recipients, and the capacit… - getForm [read] — Read a form you own — its full definition: title, description, status, its canonical public URL (the ready-to-share /f/ link — use it directly, never rebuild it from the slug), the fields (type… - getFormCapacity [read] — Read a form's SEAT capacity and its graceful full-state config: the seat total (or unlimited), seats confirmed, seats held (pending), seats remaining, live availability, the per-submission seat rule… - getFormNotificationSettings [read] — Read a form's submission-notification settings: whether notifications are on, the additional recipient addresses, the owner address (always notified), and the per-hour burst cap. - getFormResponse [read] — Read one form response by its id — the full answers (label + value), submitter email, and time. - listFormResponses [read] — List responses to a form you own, newest first. - listForms [read] — List the forms you own — each with its id, title, slug, status (draft / published / closed), and canonical public URL (the ready-to-share /f/ link — use it directly, never rebuild it from the s… - removeFormNotificationRecipient [write] — Remove an email address from a form's submission-notification recipients. - setFormCapacity [write] — Set a form's SEAT capacity, its per-submission seat rule, and what it shows once full. - setFormFields [write] — Replace a form's fields with a new set, in order. - setFormMessages [write] — Set the messages a form shows after a successful submission — the confirmation "thank you" title and message, and an optional redirect URL. - setFormNotifications [write] — Turn submission-email notifications on or off for a form you own. - setFormSeo [write] — Set how a form's shared link unfurls on social — the SEO (Open Graph) title and description shown when the /f/ link is pasted into a chat, post, or preview card. ### Contacts & CRM (17) People, contact folders, lead scouting, and drafted outreach to a contact. - addContactsToFolder [write] — Add hand-picked contacts to a manual folder (drag-in). - createContact [write] — Create a new personal contact for the caller. - createContactFolder [write] — Create a contact folder — the campaign audience primitive (Campaign Execution Studio). - deleteContact [write] [destructive] — Delete (archive) one of the caller's personal contacts by id. - getContact [read] — Get one of the caller's personal contacts in full by its id. - listContactFolders [read] — List the caller's contact folders — the audience primitive for campaigns — each with its live contact count. - listContacts [read] — List the caller's personal contacts — the people layer of their CRM. - listFolderContacts [read] — List the contacts a folder currently resolves to — its hand-picked members or its live rule matches. - logContactTouch [write] — Record a reply the human already posted onto a contact's touch timeline, stamped with its channel and a link to the artifact (the posted comment's URL). - queueOutreachDraft [write] [external] — Queue ONE tailored outreach draft for one of the caller's personal contacts, into their reviewed approve-each queue. - reachOutToContact [write] [destructive] [external] — Reach out to ONE of the caller's personal contacts by email — sends a single real email from the caller's connected Gmail (it appears in their Sent and reads as from them). - reachOutViaForm [write] [external] — Enqueue an outreach to a scouted lead through the contact form on THEIR website — a fleet browser-worker fills and submits the form later, and NOTHING sends until you approve the job in-app first. - removeContactsFromFolder [write] — Remove contacts from a manual folder (drag-out). - resolveContact [read] — Resolve a person against the caller's existing personal contacts — identity lookup and dedup, NOT messaging. - scoutLeads [write] [external] — Scout net-new business leads via the Google Places API and land them as DRAFT lead cards in the caller's CRM. - searchContacts [read] — Search the caller's personal contacts by a single query string, matched across name, email, phone, job title, and notes. - updateContact [write] — Update one of the caller's personal contacts by id. ### Email (18) Connected Gmail accounts — search, read, send, label, archive, and drafts. - addLabelToEmail [write] [external] — Add a label to a Gmail message. - archiveEmail [write] [external] — Archive a Gmail message — removes it from the inbox, keeps it in All Mail. - createDraft [write] [external] — Create a Gmail draft without sending it. - createLabel [write] [external] — Create a Gmail label. - deleteDraft [write] [destructive] [external] — Delete a Gmail draft. - deleteLabel [write] [destructive] [external] — Delete a Gmail label — removes the label, not the messages it was on. - getMailStats [read] — Outbound mail stats — how much went out per connected account in the last 24h / 7d / 30d, from the canonical send ledger (every send rail, counted once — no Gmail API call). - listDrafts [read] [external] — List the user's Gmail drafts. - listLabels [read] [external] — List the user's Gmail labels (folders/categories). - listMailAccounts [read] — List the Google mail accounts connected to The Cloud — returns { accountId, email, isPrimary } for each. - markAsRead [write] [external] — Mark a Gmail message as read. - markAsUnread [write] [external] — Mark a Gmail message as unread. - readEmail [read] [external] — Read the full content of a Gmail message by its ID. - removeLabelFromEmail [write] [external] — Remove a label from a Gmail message. - searchEmails [read] [external] — Search the user's Gmail messages with Gmail query syntax ('from:user@example.com', 'is:unread', 'subject:meeting', 'in:sent'). - sendEmail [write] [destructive] [external] — Send an email via Gmail — this sends a real email and cannot be unsent. - setPrimaryMailAccount [write] — Set the user's PRIMARY (default) mail account — the one every mail tool (sendEmail, createDraft, searchEmails, readEmail, listDrafts, …) uses when no accountId is given. - trashEmail [write] [destructive] [external] — Move a Gmail message to trash. ### Campaigns & Newsletters (20) Audience campaigns, deliverable packages, send readiness, newsletters, and CAN-SPAM compliance settings. - addAudienceToCampaign [write] — Add an audience to a Campaign, or grow it. - addCampaignPackageItem [write] — Attach a deliverable to a campaign's package — the bundle it delivers (a Cloud page, a Studio app/website, a file, or an external link). - createCampaign [write] — Create a Campaign — the organizing layer over the reviewed outreach queue. - createNewsletter [write] — Start a newsletter — a named publication bound to a subscriber contact folder (its audience). - createSavedView [write] — Create a named, reusable saved view over the caller's personal contacts — a LIVE lens (a filter), not a copy of people. - finalizeCampaign [write] — Finalize a campaign — LOCK its send shape (audience size + channel + package version) so it is ready for the human to send. - fireNewsletterSequence [write] [destructive] [external] — Fire one triggered lifecycle sequence to YOUR OWN account email — a safe preview/self-test of the transactional pipeline (welcome, payment_success, payment_failed, access_approval). - getCampaignPrep [read] — Read a campaign's prep dashboard — audience size, package (deliverable) count, staged drafts, whether the content is ready, and whether it is finalized (and if a finalized shape has drifted). - getCampaignSendReadiness [read] — Answer "can I start sending this campaign, and if not what's blocking?" — the send-readiness preflight. - getComplianceSettings [read] — Read the outreach compliance settings for the signed-in user — the CAN-SPAM physical mailing address and sender name that every campaign email must carry. - listCampaignPackage [read] — List a campaign's package — every deliverable it sends, each resolved to its live title and canonical URL. - listCampaigns [read] — List the caller's campaigns with their live status and counts (pending / sent / replied). - listNewsletterIssues [read] — List a newsletter's issues — the campaigns bound to its subscriber folder — newest first, each with its status (draft / active / paused / done). - listNewsletters [read] — List the caller's newsletters, each with its live subscriber count (from the bound folder). - listNewsletterSequences [read] — List the Newsletter tool's triggered/transactional sequences — the lifecycle emails that fire on an event (welcome, payment success, the graceful payment-failed, access approval), with each one's sub… - pauseCampaign [write] — Pause an active Campaign — its queued drafts hold and none advance until you resume it. - removeCampaignPackageItem [write] — Remove a deliverable from a campaign's package. - setComplianceSettings [write] — Set the outreach compliance settings for the signed-in user — the physical mailing address (a real postal address, legally required in every commercial campaign email) and the sender name shown in th… - simulateCampaign [read] — Simulate a campaign — a per-recipient DRY RUN showing exactly who would receive what (subject + body preview) and the resolved package links, with ZERO sends. - startCampaign [write] [external] — Start a draft Campaign — fan its audience into the reviewed approve-each queue as one personalized draft per contact. ### Telegram (11) Connected Telegram chats — search, sync control, quote mining, and contact mapping. - listTelegramChats [read] — List the user's synced Telegram chats — title, kind (dm/group/channel), whether sync is on, message count, and the mapped contact if any. - listTelegramQuotesForContact [read] — List the Telegram quotes filed to a contact — the verbatim lines mined from their synced chats, newest first. - mapTelegramChatToContact [write] — Map a synced Telegram chat to a Cloud contact (the person-object) — pass an existing contactId, or a name to resolve or create one. - mineTelegramQuotes [read] — Surface the most quotable lines from a synced Telegram chat — the counterparty's substantive, verbatim messages, ranked. - purgeTelegramChat [write] [destructive] — Purge a synced Telegram chat — permanently deletes the Cloud copy of its messages and quotes, then the chat itself. - replyInTelegramChat [write] [external] — Stage a REPLY to a specific message in one of the caller's synced Telegram chats. - saveTelegramQuoteToContact [write] — File a synced Telegram message as a quote on a person's page. - searchTelegramMessages [read] — Full-text search across the user's synced Telegram messages, optionally scoped to one chat. - sendTelegramMessage [write] [external] — Stage a NEW message to one of the caller's synced Telegram chats. - setTelegramChatSync [write] — Turn syncing on or off for one Telegram chat. - telegramConnectionStatus [read] — Check whether the user has connected their Telegram account, and read the connected account's handle + health status. ### Slack (4) Ora in the room — read a Space's bridged Slack channels, threads, and history, and post as Ora through the per-class autonomy dial and approval queue. - listSlackChannels [read] [external] — List the Slack channels the Space's bridge is authorized for. - postSlackMessage [write] [external] — Post a message to a bridged Slack channel as the workspace's Ora app identity, always attributed to Ora, never a human. - readSlackThread [read] [external] — Read a Slack thread from a bridged channel into context. - searchSlackHistory [read] [external] — Search Slack history within the Space bridge's authorized channels only. ### Instagram (3) Connection status, posting, and archiving. - archiveInstagram [write] [external] — Archive the user's connected Instagram account into their Private Files: pulls posts (images/videos), captions and comments via the Graph API into an "Instagram archive" folder, and attempts stories… - instagramConnectionStatus [read] — Check whether the user has connected their Instagram account, and read the connected account's username + health status. - postToInstagram [write] [destructive] [external] — Publish a post to the user's connected Instagram account from a hosted image or video URL, with an optional caption. ### Music (6) The workspace music library and connected Spotify playlists. - addTracksToMusicPlaylist [write] — Add tracks to a Cloud-native "My Music" playlist by their library ids (from searchMusicLibrary). - addTracksToPlaylist [write] [external] — Add tracks to a Spotify playlist by their Spotify track URIs (from searchTracks). - createMusicPlaylist [write] — Create a new Cloud-native "My Music" playlist — a playlist of the user's OWN Cloud audio (recordings, uploaded files, voice notes), stored in their Cloud, not on Spotify. - createPlaylist [write] [external] — Create a new playlist on the user's own Spotify account. - searchMusicLibrary [read] — Search the user's own Cloud music library (their recordings, uploaded audio, and voice notes — NOT Spotify) by title, artist, or album. - searchTracks [read] [external] — Search the Spotify catalog for tracks by title, artist, mood, or genre. ### Studio Apps (41) Real multi-file apps built inside the workspace — files, manifests, secrets, rendering, sharing, and verification. - appendStudioAppFile [write] — Append content to a file in a Studio app additively — no whole-file round-trip. - archiveStudioApp [write] [destructive] — Archive a Studio app — move it to the recoverable Archived section. - assignStudioAsset [write] — Assign an uploaded asset to a placeholder slot in a Studio app — the DETERMINISTIC placement: exact file path + exact slot name, no fuzzy matching. - attachSecretToApp [write] — Attach an account-level secret to a Studio app — declares it in the app's capability surface (requestedSecrets) so the runtime proxy can inject it. - checkSecretExists [read] — Check whether a Studio app secret is set — returns a BOOLEAN only, never the value. - checkStudioApp [read] — Check the runtime health of a Studio app's routes (GAP 3 — SPA route-health). - createDocSkill [write] — Create a docSkill — the document analog of a Studio template: the refined structure, formatting, tone, and method for a document CLASS (memo, SOP, retainer letter, proposal, brief, offer letter), plu… - createStudioApp [write] — Create a new Studio app — a first-class Cloud object that renders at `thecloud.so/a/_` and can be embedded in pages via the App Window block. - deleteStudioAppFile [write] [destructive] — Delete a file from a Studio app by path. - deleteStudioAppSecret [write] [destructive] — Delete a Studio app secret. - editStudioAppContent [write] — Replace a Studio app's contentHTML — the HTML the iframe renders at `/a/_`. - editStudioAppFile [write] — Surgically edit one file in a Studio app by find-and-replace — patch it in place instead of re-uploading the whole file. - editStudioAppFileBatch [write] — Apply an ORDERED list of find-and-replace edits to one file in a Studio app, ATOMICALLY (all-or-nothing) in a single call. - editStudioAppManifest [write] — Replace a Studio app's manifest — the capability declarations (requestedTools, requestedScopes), hosting mode, pricing, review status. - forkDocSkill [write] — Fork a docSkill you can read into your own library — a NEW customized copy with a forkOf pointer back to the parent. - importMediaToApp [write] [external] — Import real media into a Studio app from consented external pages — a server-side render-then-harvest that lands deduped image files in the app's assets/ tree with provenance (source URL + fetched-at… - lintStudioComposition [read] — Lint a Studio app for the Composition Layer gates: (1) the SCROLL-SHELL guarantee — a top-level header pinned (position: fixed/sticky) WITHOUT the shell that keeps it stable inside the render iframe… - listArchivedStudioApps [read] — List your archived Studio apps, most-recently-archived first. - listDocSkills [read] — List your docSkills — the document skills in your universal library, most-recent first. - listStudioAppAdmins [read] — List a Studio app's admin config: the owner, the explicit admin allowlist, and whether admins are resolved "manual" (allowlist only) or "space" (from the containing Space). - listStudioAppFiles [read] — List the files in a Studio app — returns each file's id, path, mimeType, byteSize, updatedAt (no content, that's readStudioAppFile). - listStudioApps [read] — List the caller's Studio apps, most-recent first. - listStudioAppSecrets [read] — List Studio app secrets — METADATA ONLY: key, scope, isSet (always true for a listed secret), used-by app count, and last-updated. - listStudioAppShares [read] — List teams the Studio app is shared with. - moveStudioAppToSpace [write] — Move a Studio app into a Space so it lives with its project, instead of the owner's global Studio library. - placeStudioMedia [write] — Place an already-uploaded media file into a spot in a Studio app, resolving a VAGUE mention to the right file + spot. - readStudioApp [read] — Read a Studio app — returns its name, contentHTML, manifestJSON, and canonical URL. - readStudioAppFile [read] — Read a single file from a Studio app — returns its content + mimeType. - rebuildStudioApp [write] — Rebuild a Studio app — reconcile it onto its canonical store so what the public /a/ route serves and what tools report agree. - renameStudioApp [write] — Rename a Studio app. - renderShareCard [write] — Rasterize self-contained HTML or SVG into a pixel-perfect share-card PNG and save it as a PRIVATE asset in a Studio app. - renderStudioApp [read] — Render a Studio app headlessly and return SCREENSHOTS Ora can inspect — the visual verify-back loop. - restoreStudioApp [write] — Restore an archived Studio app — bring it back whole (files, history, and settings all intact). - rotateStudioAppSecret [write] [destructive] — Rotate a Studio app secret — replace its value with a new one. - setStudioAppAdmins [write] [consent] — Set who administers a Studio app. - setStudioAppSecret [write] [destructive] — Set (create or overwrite) a Studio app secret's value — WRITE-ONLY. - setStudioAppShareCard [write] [consent] — Request setting a Studio app's link-preview share card — the title, description, and cover image a shared /a/_ link unfurls with on Telegram/Slack/iMessage/social. - setStudioAppVisibility [write] [consent] — Request a Studio app visibility change (public ↔ private). - shareStudioApp [write] [consent] — Request sharing a Studio app with a team. - unshareStudioApp [write] [consent] — Request removing a team's share on a Studio app. - writeStudioAppFile [write] — Create or overwrite a file in a Studio app. ### Media & Video (27) Image and video generation, transcription, conversion, compression, clip styling, blurring, and stream-safety review. - acceptStreamSafeClass [write] — Accept a whole class of StreamSafe findings at once — apply the default fix to every pending finding of that class (e.g. - addBlurRegion [write] — Add a blur region to a clip in a Studio video project. - addTextClip [write] — Add a typewriter text/title to a Studio video project — text that reveals per character with an optional caret and a subtle, toggleable typing sound. - applyStreamSafeFinding [write] — Resolve ONE StreamSafe finding by applying its fix to the timeline — a reversible blur region (for on-screen info), a cut, or an audio bleep (for spoken info). - assembleStudioVideo [write] [external] — Assemble a Studio video project's uploaded clips into ONE finished video via the ffmpeg media worker — clips ordered, stitched with clean cuts, and audio normalized — landing a PRIVATE video file in… - checkImageGeneration [read] — Check a background image generation/edit started by generateImage or editImage, by its jobId. - clearClipStyle [write] — Remove all Figma-easy styling (corner radius, padding, shadow, background) from a clip in a Studio video project. - compressMedia [write] [external] — Make a video or audio file smaller WITHOUT changing its format, on the media worker — the new, lighter file lands as a NEW PRIVATE file beside the original (the original is never touched, an existing… - convertMedia [write] [external] — Convert a video or audio file in The Cloud into another format (mp4, mov, webm, mkv, m4a, mp3, wav) on the media worker, landing the result as a NEW PRIVATE file beside the original — the source is n… - dismissStreamSafeFinding [write] — Dismiss a StreamSafe finding without changing the video — mark it reviewed and off the gate (on the record). - editImage [write] [external] — Edit or restyle an existing Studio image from a text prompt (inpaint / restyle). - generateImage [write] [external] — Generate an image from a text prompt and save it as a real asset inside a Studio app (Private by default). - generateVideo [write] [external] — Generate a video clip from a text prompt using AI (Higgsfield) and add it to a Studio video project as a PRIVATE asset in that project's media pool. - getTranscript [read] — Read a transcript artifact produced by transcribeMedia back by its id — the full text, timestamped segments, word-level timings, and speaker diarization. - listBlurRegions [read] — List every blur region on a Studio video project, with the clip each sits on and its shape, strength, feather, time window, and keyframes. - listClipStyles [read] — List every styled clip on a Studio video project, with its corner radius, padding, shadow, and background. - listStreamSafeFindings [read] — List the latest StreamSafe sweep's findings for a Studio video project — each finding's class, kind, confidence, time range, whether it has an on-screen box, and its resolution state (pending / appli… - listTextClips [read] — List every typewriter text/title on a Studio video project, with its text, position, timing, and typewriter settings. - prepStudioVideoForPosting [write] [external] — Run the StreamSafe privacy sweep over a Studio video project — the "Prep for posting" pass. - readTranscript [read] — Read the transcript of audio or video the user recorded in The Cloud — voice notes and audio/video tiles. - removeBlurRegion [write] — Remove a blur region from a Studio video project. - removeTextClip [write] — Remove a typewriter text/title from a Studio video project. - renderStudioVideo [write] [external] — Render a Studio video project — burning in everything on the timeline (blur, corner-radius/padding/shadow/background styling, and typewriter text with its typing sound) — via the ffmpeg media worker,… - setClipStyle [write] — Style a clip, image, or text box in a Studio video project like a design tool: round its corners (one slider), pad it, add a drop shadow, or fill a background — all normalized so they read at any res… - transcribeMedia [write] [external] — Transcribe spoken video or audio into a private, timestamped transcript (word timings + speaker diarization), reusing the shipped Deepgram/Whisper ASR. - updateBlurRegion [write] — Update a blur region on a Studio video project — retime it, re-track it with new keyframes, or change its shape, strength, or feather. - updateTextClip [write] — Update a typewriter text/title on a Studio video project — change its text, position, size, color, timing, or typewriter settings (speed, caret, sound). ### Fonts & Typography (7) Handwriting-to-font creation from a template photo, uploaded font families, applying a font to an appearance slot, and exporting the packaged files. - applyFont [write] [consent] — Apply an uploaded font to a workspace appearance slot (workspaceFont, pageBodyFont, or monoFont). - createFontFromImages [write] — Start a font from one or more uploaded images of the owner's handwriting or lettering, plus an optional style prompt. - deleteFont [write] [destructive] [consent] — Delete a font family and all its variants. - exportFontPackage [write] [consent] [external] — Export a font family package (.ttf + .otf + .woff2 + license/metadata ZIP). - getFont [read] — Read one font variant or handwriting job status. - listFonts [read] — List your uploaded and handwriting font families plus in-progress jobs. - resetFont [write] [consent] — Reset an appearance font slot back to the default bundled typeface. ### Agents & Machines (10) Dispatch agents to your own attached hardware, watch runs, and collect results. - getAgentResult [read] — Read the outcome of a dispatched agent session by its conversationId — the orchestrator readback that completes the dispatch→readback→synthesize loop. - gradeRun [write] — Grade one of your agent runs — record whether it was "useful", "partial", or "failed", plus an optional failure mode when it fell short ("grounding" | "instruction-following" | "format" | "tool-use"… - listAgentSessions [read] — List your live agent sessions — every non-terminal agent currently queued or running across your machines, with its title, lifecycle state, the machine it's bound to, last activity, its `provenance`… - listMachines [read] — List the machines attached to your account that can run agents — each with its name, lifecycle status, derived liveness, and last-seen heartbeat. - readAgentOutput [read] — Read back what a dispatched agent session actually PRODUCED — its full transcript, final output, and tool-call log — by conversationId. - reportPresence [write] — Report YOUR OWN presence as a local Ora session — the orchestrating session running in the user's editor/desktop (e.g. - runAgent [write] [external] — Start (spawn) an autonomous agent on one of your machines to carry out a task. - runOnMachine [write] [destructive] [external] — Run a single shell command on one of your machines (a MachineSync box) through The Cloud, and stream its output back into the Agents view — box ops without a physical terminal (update the daemon, tai… - stopAgent [write] — Stop one of your running agent sessions — a graceful halt of an agent you started, for a runaway, duplicate, or no-longer-needed run. - tagSession [write] — Add tags to or remove tags from one of YOUR agent sessions — the exact mirror of `tagPage`, applied to a dispatched run instead of a page. ### Loops (9) Scheduled recurring agent runs — create, customize, start, pause, and run now. - createLoop [write] — Create a Loop: a recurring AI recipe (prompt + style preset) that fires on a cadence (interval/cron/idle) against an optional target (a repo, Space, Studio app, or task), with a model, write policy,… - customizeLoop [write] — Edit a Loop's shared recipe: its prompt, style preset (archetype), or write-policy CEILING. - listLoopModels [read] — List the model ids a Loop can be pinned to (the same picker the Loops tab's create/edit flow uses). - listLoops [read] — List the caller's Loops with live status (active/paused/stopped), pausedReason, write policy, cadence, target, next/last run time, whether consent is stale, and the latest recap. - pauseLoop [write] — Pause a Loop — it stops firing on its cadence but keeps its config, recipe, and run history intact, and can be resumed with startLoop. - runLoopNow [write] [external] — Fire one Loop run immediately, off-cadence (never advances its schedule). - startLoop [write] — Resume a paused Loop (or confirm an active one stays active) so it fires on its cadence again. - stopLoop [write] — Stop a Loop for good — retires it from the scheduler (status: stopped). - updateLoop [write] — Edit an existing Loop's instance config: cadence (trigger), target, model, budgets, concurrency, or its own write policy (never above the recipe's ceiling — use customizeLoop to raise the ceiling its… ### GitHub & Code (13) Repos, issues, pull requests, code search, and the read/branch/commit path to opening a PR. - commitFiles [write] [external] — Commit one or more files to a feature branch on a connected GitHub repo (multi-file atomic commit). - createBranch [write] [external] — Create a branch on a connected GitHub repo from a named base. - createIssue [write] [external] — Create an issue in a GitHub repository. - getPullRequest [read] [external] — Get one GitHub pull request in detail, including diff stats. - listIssues [read] [external] — List issues for a GitHub repository. - listPullRequests [read] [external] — List pull requests for a GitHub repository. - listRepos [read] [external] — List the user's GitHub repositories across every connected account. - listRepoTree [read] [external] — Browse a connected GitHub repo's file tree at a ref, optionally scoped to a path and depth. - mergePullRequest [write] [destructive] [consent] [external] — Request a merge of a connected GitHub repo's pull request. - openPullRequest [write] [external] — Open a pull request on a connected GitHub repo. - readRepoFile [read] [external] — Read one file from a connected GitHub repo at any ref — the reliable read path for drafting a diff in chat. - reviewPullRequest [write] [destructive] [external] — Submit a review on a connected GitHub repo's pull request — APPROVE, REQUEST_CHANGES, or COMMENT — acting as the user's connected GitHub account. - searchCode [read] [external] — Search code across the user's GitHub repositories with GitHub code-search syntax. ### Commerce (29) Storefront catalog, products, variants, inventory, and Amazon product resolution. - archiveProduct [write] [consent] — Archive ONE catalog product — the SAFE way to retire an item. - bindSpacePaymentAccount [write] [consent] — Bind a personal Stripe Connect account to a Space so Offers charge through it (e.g. - bindStorefrontOwner [write] [consent] — Scope a Studio app's storefront to ONE brand (Space) so it serves only that brand's products — the fix for a multi-brand account whose storefront shows every brand at once. - commerceConfirmCart [read] — Render the inline Amazon order-confirmation card for one product the user chose. - commerceFindItem [read] — Find Amazon products for an 'order this' / 'add this to cart' intent. - createAddOn [write] — Attach ONE add-on (modifier) to a product — e.g. - createOffer [write] — Create a Space Offer as a PRIVATE draft (never auto-publishes). - createVariant [write] — Add ONE size/variation to a product — e.g. - deleteAddOn [write] [destructive] — Remove ONE add-on (modifier) from a product. - deleteProduct [write] [destructive] [consent] — Request PERMANENT deletion of ONE catalog product and its variants/add-ons. - deleteVariant [write] [destructive] — Remove ONE variation from a product. - getOffer [read] — Get one Offer by id — pricing, publish state, Stripe sync ids, and whether the Space payment account is ready. - getProductRelations [read] — Read ONE product's full structure — its variations (sizes, each with an absolute price) and its add-ons / modifier lists (each with a price delta, and its group name + single/multiple selection). - getStorefrontState [read] — Diagnose a Studio app's storefront: the owner the product embed resolves to, the catalog's product count broken down by publish state (draft / active / archived / storefront-published), and a plain-l… - importProductsFromTable [write] — Promote a Cloud Table into real commerce products for a Studio app in one step — the connector-independent path to a live catalog. - listOffers [read] — List Offers owned by a Space (including private drafts). - listProducts [read] — List a Studio app's catalog products with each item's publish state (draft / active / archived / published / hidden), effective storefront price, and currency. - listSpacePaymentAccounts [read] — List the caller's personal Stripe Connect accounts and whether each is bound to a Space — the picker for "use Teka Stripe on ENOK". - moveProductsToSpace [write] [consent] — File one or more catalog products under a brand (Space) so a Space-bound storefront serves only that brand and publish-all scoped to it never sweeps a sibling — the fix for a multi-brand account whos… - publishAllProducts [write] [consent] — Publish EVERY draft product in a Studio app's catalog to the storefront in one call — the "go live" verb for a freshly migrated catalog where every item landed as draft. - publishProduct [write] [consent] — Publish ONE catalog product to a Studio app's storefront — flips it from draft (or archived) to active so the product embed serves it. - setInventory [write] — Set the on-hand inventory count on a product (turns inventory tracking on) or on one variant. - setOfferVisibility [write] [consent] — Set an Offer public (listed + buyable) or private (hidden). - suggestAmazonProducts [read] — Suggest Amazon products in chat as affiliate-tagged shopping cards so the user can buy and commission flows to Teka on the resulting cart. - unpublishProduct [write] [consent] — Unpublish ONE catalog product from a Studio app's storefront — flips it from active back to draft, pulling it off the storefront while keeping the product row intact. - updateAddOn [write] — Edit ONE add-on (modifier) in place — name, price delta, required flag, availability, order, or its group (modifierListName / selectionType). - updateOffer [write] — Update an Offer's name, description, or pricing. - updateProduct [write] — Edit ONE catalog product in place — name, description, base price (in minor units, e.g. - updateVariant [write] — Edit ONE product variant (a price tier / SKU) in place — name, price (minor units), SKU, and availability. ### Profiles (7) Public profile pages, link and text blocks, and visibility. - createProfileLinkBlock [write] — Create a link block on a Profile page — one link rendered as a rich preview tile. - createProfilePage [write] — Create a Page on a Profile — a bento-grid layout of visual tiles. - createProfileTextBlock [write] — Create a rich-text block on a Profile page — bio text, headings, or descriptive content. - fetchProfileLinkMetadata [read] [external] — Fetch rich metadata for a URL — title, description, favicon, thumbnail, and platform data (YouTube stats, Instagram posts, Spotify, Pinterest, GitHub, LinkedIn, TikTok, any OpenGraph site). - listProfiles [read] — List the user's Profiles — public-facing profile surfaces, separate from private Spaces. - setProfileVisibility [write] [consent] — Request a Profile visibility change (public ↔ private). - updateProfile [write] — Update a Profile's display name, bio, and slug — identity and content only. ### Apps & Assets (4) The workspace app launcher plus brand-mark and character-asset lookup. - fetchBrandMark [read] [external] — Fetch a vendor's REAL brand mark from their own site — favicon / .well-known / brand assets — as an SVG with recorded provenance, never a drawn one. - fetchDigiAsset [write] — Materialize an exact Digi — one of The Cloud's character sprites — into a Studio app's assets as a transparent SVG at assets/digis/.svg, ready to reference from the app's markup (e.g. - listApps [read] — List the apps available in The Cloud. - listDigiLibrary [read] — List the addressable Digis — The Cloud's exact character sprites (Ora, the Alpaca, and the agent archetypes like Scout / Guide / Oracle). ### Import & Migration (3) Bring an existing Notion workspace into The Cloud. - getNotionImportStatus [read] — Check the progress of a background Notion import started by importFromNotion. - importFromNotion [write] [external] — Migrate the Notion pages/databases shared with The Cloud into Pages. - listNotionPages [read] [external] — Preview the Notion pages and databases your connected Notion workspace shared with The Cloud — before importing. ### Governance & Consent (7) The consent floor as tools: record and revoke consent, mint and revoke scoped access, and read the telemetry ledger. - listCuratedRooms [read] — List the curated outbound Waiting Rooms you have minted — the raise pipeline. - listStaleCuratedRooms [read] — List your STALE Waiting Room grants — the union of two labeled sets: reason "pre_relabel" (bare curated_room grants never claimed, curated, or labeled — the pre-relabel board noise) and reason "expir… - listTelemetryLedger [read] — List your Telemetry Ledger — the append-only, owner-visible record of everything that left your custody (when, source, destination, purpose, scope, trigger). - mintCuratedRoom [write] — Mint a curated outbound Waiting Room for one recipient — the room IS the artifact you send. - recordConsent [write] — Record consent to email a contact (or a whole filtered set) under a scope — the action that makes a contact sendable. - revokeConsent [write] — Revoke a previously recorded consent scope from a contact (or a whole filtered set) — the inverse of recordConsent. - revokeCuratedRoom [write] [destructive] — Revoke ONE Waiting Room grant you own — close a live door. ### Contribution Ledger (6) Append-only provenance + credits accounting: register signed contributions against artifacts, walk their lineage, and read the credits they earned. - getContribution [read] — Read one contribution record by id — contributor, signature, artifact, and license grant. - getCreditBalance [read] — Read your credit balance — the total plus a breakdown by event type (usage, bounty, learning). - getLineage [read] — Walk a contribution's lineage — its full ancestry (what it derived from) and descendants (what derived from it). - listContributions [read] — List contributions by member or by artifact. - listCreditEvents [read] — List the credit events a contribution earned (usage, bounty, or learning), with amounts and their source references. - registerContribution [write] — Record an append-only contribution: a signed provenance record attaching a member to an artifact (a page, memory, table, studio app, or a skill/agent/template asset), with a license grant and optiona… ### Workspace Admin (14) Account provisioning, invites, signup approval, and staged account content. - approveSignup [write] — Admit a pending applicant into The Cloud — the consent-gated owner action that grants full access (unlocks paid compute) for that account. - createAccountInviteLink [write] [consent] — Mint the ONE-TIME claim link for a staged account — the /waiting-room/ URL the prospect opens to adopt the account (which atomically severs the builder). - declineSignup [write] — Decline a pending applicant — they stay out of The Cloud (no access, no paid compute). - listGenomes [read] — List the starter genomes — the authorable blueprints a workspace mint instantiates. - listPendingSignups [read] — List the people waiting in the Gate — every applicant still pending admission (who they are, their email, when they applied, and their linked CRM lead). - listProvisionedAccounts [read] — List the provisioned accounts roster — every staged account with its lifecycle (staged-unclaimed → adopted, with builder access provably severed at adoption), active operator grants, and each invite'… - provisionAccount [write] [consent] — Stage a PROVISIONED ACCOUNT for a prospect — a real account built for them before they ever sign in. - readGenome [read] — Read one genome in full — its versioned slot grammar: which surfaces carry the recipient's brand (identity), which Spaces/pages get created (substance), which systems get armed (booking / form / stud… - revokeAccountInvite [write] [consent] — Revoke ONE pending claim-link invite for a staged account — the link immediately stops resolving and can never claim. - revokeProvisionedAccess [write] [consent] — Kill EVERY door into a staged account: revokes all active operator grants (each grant's minted operator key dies with it) and all pending claim-link invites, in one call. - sendAccountInvite [write] [destructive] [consent] [external] — Email a staged account's claim link to its prospect — a REAL external send that cannot be unsent, so confirm per action like sendEmail. - setClaimPreview [write] [consent] — Set the CLAIM-LANDING curated preview for a staged account — the headline and optional lead the prospect sees on the /waiting-room page before they take over. - stageAccountContent [write] [consent] — Register PREPPED CONTENT into a staged account's package manifest — how you prep a Space for someone. - waitlistSignup [write] — Waitlist a pending applicant — hold them off the active queue without a decision either way (still no access, no paid compute). ### Whop (3) The connected Whop account through the generalized credential vault — connection status, allowlisted reads (memberships, companies, plans), and confirm-gated writes under the hardened read-allowlist doctrine. - whopConnectionStatus [read] — Check whether the user has connected their Whop account and read the connection health (masked key prefix, method, last used). - whopReadResource [read] [external] — Read a Whop resource — memberships, companies, plans, access passes, and other read endpoints. - whopWriteResource [write] [external] — Write to a Whop resource — create/update/cancel memberships, plans, and any mutating endpoint. ## Pricing - Personal: free — 100 AI credits/month, 100MB storage, 5 teams, 5 task lists, 100 pages, Page publishing. - Pro: $15/month or $150/year — 2,500 AI credits/month, 10GB storage, Unlimited teams, 25 task lists, Unlimited pages, 3 custom domains, Page publishing. - Ultra: $40/month or $350/year — 10,000 AI credits/month, 50GB storage, Unlimited teams, Unlimited task lists, Unlimited pages, Unlimited custom domains, Page publishing, Priority support. - Enterprise: custom pricing — Custom AI credits, Custom storage, Unlimited everything, SSO & SAML, Audit logs, SLA guarantee, Dedicated support. ## Limits - AI Credits: Personal 100/mo · Pro 2,500/mo · Ultra 10,000/mo · Enterprise Custom - Storage: Personal 100MB · Pro 10GB · Ultra 50GB · Enterprise Custom - Teams: Personal 5 · Pro Unlimited · Ultra Unlimited · Enterprise Unlimited - Task Lists: Personal 5 · Pro 25 · Ultra Unlimited · Enterprise Unlimited - Pages: Personal 100 · Pro Unlimited · Ultra Unlimited · Enterprise Unlimited - Custom Domains: Personal — · Pro 3 · Ultra Unlimited · Enterprise Unlimited - Page Publishing: Personal Yes · Pro Yes · Ultra Yes · Enterprise Yes - SSO & SAML: Personal — · Pro — · Ultra — · Enterprise Yes - Audit Logs: Personal — · Pro — · Ultra — · Enterprise Yes - SLA Guarantee: Personal — · Pro — · Ultra — · Enterprise Yes - Support: Personal Community · Pro Email · Ultra Priority · Enterprise Dedicated MCP key-authentication attempts are throttled to 10 per minute per origin; over budget returns a clean 401. Current pricing page: https://www.thecloud.so/pricing ## What we claim - The default computer for AI developers: The Cloud (thecloud.so) is an always-on environment where your AI keeps working when your laptop closes. (https://www.thecloud.so/machinesync) - First-class MCP infrastructure: The Cloud (thecloud.so) is both an MCP server — any AI reads your memory and acts in your workspace, with consent — and an MCP client — your workspace consumes Linear, GitHub, Vercel, and more. (https://www.thecloud.so/connect) - The best stack for vibe coding: The Cloud (thecloud.so) is the best stack for vibe coding. Describe what you want; Studio apps, pages, and agents ship it, no local toolchain. (https://www.thecloud.so/what-is-the-cloud) ## Support Questions an agent cannot answer from this file: team@thecloud.so