Last updated: March 7, 2026

MCP Server

Connect OmniCanvas to AI assistants like Claude Desktop, Cursor, Windsurf, and any MCP-compatible client. Available on the Power plan.

What is MCP?

The Model Context Protocol is an open standard that lets AI assistants securely access your tools and data. With OmniCanvas's MCP server, your AI assistant can read, create, search, and organize your notes — all with your explicit permission on every action.

Setup

  1. Open OmniCanvas and go to Settings → API Access
  2. Click Create to generate an API key
  3. Copy the MCP configuration that appears (it includes your key)
  4. Paste it into your AI client's MCP settings file

Or configure it manually — add this to your client's MCP config:

MCP Configuration
{
  "mcpServers": {
    "omnicanvas": {
      "url": "https://app.omnicanvasnotes.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer pk_live_your_key_here"
      }
    }
  }
}

Client-Specific Setup

Claude Desktop

Open Settings → Developer → Edit Config and paste the configuration above into your claude_desktop_config.json. Restart Claude Desktop.

Claude Code (CLI)

Add to your project's .mcp.json or global ~/.claude/settings.json under the mcpServers key.

Cursor

Go to Settings → MCP and add a new server. Use the URL and Authorization header from the config above.

Other Clients

Any client that supports the MCP 2025-03-26 spec with Streamable HTTP transport will work. Point it at https://app.omnicanvasnotes.com/api/v1/mcp with your API key as a Bearer token.

Available Tools

Your AI assistant can use 14 tools to interact with your notes. Here's what each one does:

list_notes

List your notes with optional filtering by tag, folder, or search query.

ParameterTypeDescription
tagstringFilter by tag
folderIdstringFilter by folder
searchstringSearch titles and OCR text
limitintegerMax results (1–100, default 50)
offsetintegerSkip N results
get_note

Get a note by ID with full content including canvas data, tags, and folders.

ParameterTypeDescription
id*stringNote ID
includeCanvasbooleanInclude canvas data (default true)
create_note

Create a new note with optional title, tags, folders, and canvas data.

ParameterTypeDescription
titlestringNote title
tagsstring[]Tags to apply
folderIdsstring[]Folders to add the note to
canvasDataobjectExcalidraw canvas JSON
update_note

Update a note. Only provided fields are changed. Tags and folders replace existing values.

ParameterTypeDescription
id*stringNote ID
titlestringNew title
tagsstring[]New tags (replaces all)
folderIdsstring[]New folders (replaces all)
isPinnedbooleanPin or unpin
delete_note

Soft delete a note (moves to trash). Pass permanent=true to permanently delete.

ParameterTypeDescription
id*stringNote ID
permanentbooleanPermanently delete (default false)
list_folders

List all your folders with note counts.

create_folder

Create a new folder, optionally nested inside another.

ParameterTypeDescription
name*stringFolder name
parentIdstringParent folder for nesting
search_notes

Full-text search across note titles and OCR text. Returns excerpts with matching context.

ParameterTypeDescription
q*stringSearch query (min 2 chars)
limitintegerMax results (default 20)
list_tags

List all tags across your notes, sorted by usage frequency.

export_note

Export a note as full Excalidraw JSON without size limits.

ParameterTypeDescription
id*stringNote ID
list_versions

List version history for a note (12-month retention on Power plan).

ParameterTypeDescription
noteId*stringNote ID
restore_version

Restore a note to a previous version. Current state is auto-saved first.

ParameterTypeDescription
noteId*stringNote ID
versionId*stringVersion ID to restore
clip_url

Clip a web page or YouTube video. Extracts title, content, and optional transcript. YouTube URLs are auto-detected.

ParameterTypeDescription
url*stringURL to clip
modestring"visual" (screenshot + text) or "text" (default)
includeTranscriptbooleanFetch YouTube transcript (quota-limited)
youtube_transcript

Fetch the transcript for a YouTube video. Quota-limited per month.

ParameterTypeDescription
videoId*stringYouTube video ID (11 characters)

Resources

MCP resources let your AI assistant read structured data from your account:

  • note://{id} — full note content with metadata
  • folder://{id} — folder details with its note list
  • tags://all — all your tags with usage counts

Example Use Cases

Once connected, you can ask your AI assistant things like:

  • "Search my notes for anything about project Alpha"
  • "Create a new note with today's meeting summary and tag it #meetings"
  • "Clip this article and save the key points to my Research folder"
  • "What did I write about database migrations last week?"
  • "Get the transcript from this YouTube video and add it to my notes"
  • "Show me all my notes tagged #ideas and summarize the common themes"
  • "Restore my project plan to yesterday's version"

Limits

  • Rate limit: 100 requests per minute
  • Canvas read size: Notes larger than 50KB return truncated canvas data — use export_note for the full file
  • Encrypted notes: Canvas data is returned as null (encryption/decryption happens client-side)
  • YouTube transcripts: 200 per month on Power plan

Security

Your API key is hashed (SHA-256) before storage — we never store the raw key. Each request is authenticated and scoped to your account only. You can revoke keys instantly in Settings. The MCP server uses Streamable HTTP transport over HTTPS.