Overview
Cleve exposes an MCP (Model Context Protocol) server at:Connect to Cleve
Follow the Cleve MCP connection guide for Claude, ChatGPT, and other agents. You can also find it in Settings → Integrations → Connect your AI (MCP) inside Cleve.Available Tools
Every notes, folder, and skill tool also accepts an optionalorganization parameter: the id or exact name of the workspace to act in. See Workspaces for how the workspace is chosen when you omit it.
Notes
Folders
Skills Marketplace
Web Content
This tool requires an authenticated MCP connection but does not accept
organization or read workspace notes.
Memory
Workspaces
Each call runs in exactly one workspace, chosen in this order:
- The
organizationparameter on the call, matched exactly by id or by name (case-insensitive). - The workspace saved for this MCP client with
cleve_switch_org. Selections are stored per client, so Claude Code and Cursor can target different workspaces on the same account, and they persist until you switch again. - Your only workspace, if you belong to just one.
cleve_list_orgs first.
Sharing and Publishing
Cleve separates three actions:- Share access: invite specific people by email, or let anyone with the link view or edit the note. This does not list it on your profile or create a marketplace item.
- Publish to the web profile:
cleve_publish_notemakes the note a publicly readable post on the owner’s Cleve profile, like a blog post. Only the owner can publish, and a profile username must be set up first. If it is missing, the tool returns an error with a clickable username-setup link and a structuredsetupUrlpointing to General settings. Ask the user to set a username there, then retry publishing. - Publish to the marketplace:
cleve_publish_note_templatecreates and publishes a separate template copy that anyone can discover and install. It preserves the source editor snapshot and rich formatting when available. Later edits to the source note do not update the template, and the source note’s access and web-profile publication stay unchanged. The returneditemIdidentifies the marketplace copy, not the source note.
cleve_get_note_sharing. It returns the owner’s ownerUserId, canManageSharing, profile-publication status, collaborators (with userId, direct or folder-inherited access), invitations (with _id and expiry), pending requests (with _id) and sharing activity. Invite, request and activity details are available only to people who can manage sharing. Link access includes direct and effective roles (viewer, editor, or null), plus publishedViaFolder, so an inherited grant is not mistaken for a restricted note.
Use cleve_set_note_link_access with access: "restricted", "viewer", or "editor" to match General access in the dialog. Editing requires sign-in. The existing cleve_share_note remains compatible: isPublic: true sets the note’s own link to viewer, including downgrading an editable link; false restricts only its own link. Both tools leave collaborators, workspace access, inherited folder grants and profile publication unchanged. Removing a direct collaborator does not remove folder or workspace access; inherited grants must be managed at their source.
cleve_get_note_link is the equivalent of Copy link. It returns the canonical /notes/<noteId> URL without making anything public. A restricted recipient must already have access or request it. Do not enable sharing just to return a URL.
Email sharing returns invited: true when the recipient has not joined Cleve yet; this is a pending invitation, not immediate access. Use the invitation _id to resend or withdraw it. Ownership transfer is a separate handover, not an editor permission: the recipient must already have access, and the previous owner retains editor access. Approving or denying a request uses its _id and may notify the requester by email.
Unpublishing removes the note’s own web-profile publication. It does not disable link sharing, remove collaborators, unpublish a folder, or remove marketplace copies. Restricting a link or unpublishing alone must not be described as making a note private.
Comments
These tools operate on Cleve comment threads, not arbitrary API requests. Each accepts the optionalorganization parameter described in Workspaces. They change comments or thread status, not the note’s document content.
Add a Comment
cleve_add_comment creates an AI comment anchored to a passage in a note. It requires:
noteId: the ID of an accessible note.quote: text copied verbatim from the note. It must match exactly once; a missing or ambiguous passage returns an error. A longer quote can disambiguate repeated text.body: the comment text, in plain prose.
cleve_view_note or cleve_read_note before choosing the quote. The passage is highlighted in the editor, and the thread appears in the comments sidebar. A successful response includes success: true, the created threadId, and quotedText.
Reply to a Comment
cleve_reply_to_comment adds a reply to a comment thread and leaves it open. It requires threadId and body. Obtain the thread ID from cleve_list_note_comments or cleve_view_note.
A successful response contains success: true and the threadId. Replying does not edit the note or mark the thread resolved.
Resolve a Comment
cleve_resolve_comment marks a thread resolved. It requires threadId and optionally accepts body for a closing reply. A successful response contains success: true and the threadId.
Resolving does not perform the edit requested in a comment. If an edit is needed, make it with a note-editing tool before resolving the thread.
Installing Skills
cleve_install_skill supports two sources:
- Cleve marketplace: pass
skillIdfromcleve_search_marketplaceto install that skill. - SKILL.md import: pass
urlcontaining a GitHubowner/repo, a GitHub repository or skill-folder URL, a skills.sh page, or a direct HTTPS link to a SKILL.md file. Cleve downloads and imports the skill into your account.
slugs selects the skill names to import; omit it to import all valid discovered skills. slugs only filters repository-based imports. Provide either skillId or url. If both are supplied, url takes precedence. A call with neither returns an error.
The marketplace path returns a success message; the URL-import path returns details of the imported skills. Installation changes saved skill data; URL imports also fetch content from the supplied external source. Installing a skill does not execute its instructions. Treat third-party skill content as untrusted and review it before use.
Like other skill tools, this tool accepts the optional organization parameter.
Fetching URLs
cleve_fetch_url reads a public HTTP or HTTPS URL. It extracts the main content of HTML pages as Markdown and returns text-based files as text. Binary files return a description rather than extracted document content. It does not save a note or send a write request to Cleve.
Parameters:
url(required): an absolute HTTP or HTTPS URL.maxLength: maximum returned content characters, default5000, capped at50000.startIndex: character offset, default0. Use the returnednextStartIndexto request another page of a long result.raw: defaultfalse; set totrueto return response text without HTML-to-Markdown extraction. Binary files still return a description.
Authentication Details
The MCP server uses OAuth 2.0 via Clerk. On first connect:- Your client opens the Cleve authorization URL
- You sign in with your Cleve account
- Your client stores the access token and sends it as a Bearer header on every request
cleve_list_orgs to see them and either pass organization on each call or use cleve_switch_org to save a default for the client you are connecting from.