Integration

Capacities integration

Capacities is a note-taking and knowledge management app built on typed objects (pages, tags, tasks, weblinks, media and custom types). Read the space's object types and their properties, search objects by title, list objects by type, tag or collection, read an object's properties and blocks or export it as Markdown, create objects from properties, Markdown or a URL, upload a file as a media object, update properties, append or edit content blocks, add to the daily note, and move objects to the trash. Authentication is a personal API token (starts with cap-api-) generated in the Capacities desktop app under Settings, Capacities API: each token is bound to ONE space and is either read-only or read and write. The API needs a Capacities Pro subscription. OAuth sign-in is not offered here (Capacities issues OAuth client ids to curated integrations only).

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Capacities.Built from the 22 Capacities tools below, on the connection you add once.

What you can do with Capacities

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Object, 11 operations

  • create_objectCreate objectPOSTAgents: ask firstCreates an object of a given type (structureId from list_structures) with typed properties, optional collections and optional block content, and returns it. Counts toward the per-user creation quota.
  • create_object_from_markdownCreate object from markdownPOSTAgents: ask firstCreates an object of a given type from a Markdown string (converted to blocks as in the app) and returns it. The simplest way to write a page from generated text.
  • create_object_from_urlCreate object from urlPOSTAgents: ask firstSaves a URL as a weblink or media object (the type is inferred from the URL), with an optional title and description and optional notes as Markdown or blocks (not both). Returns the created object.
  • delete_objectDelete objectDELETEAgents: ask firstDeletes an object: moves it to the trash, or PERMANENTLY deletes it when hardDelete is true (cannot be undone).
  • get_objectGet objectGETAgents: ask firstReturns one object by id: its type (structureId), collections, typed properties keyed by property id, block content keyed by property id, signed download URLs for media files, and OCR text for analysed images.
  • list_objects_by_structureList objects by structureGETAgents: ask firstLists the objects of one type (structure), up to 100 per page, as id, structureId and title. Pass nextCursor back as cursor while hasMore is true.
  • list_objects_by_tagList objects by tagGETAgents: ask firstLists the objects that carry one tag, up to 100 per page, as id, structureId and title. Pass nextCursor back as cursor while hasMore is true.
  • list_objects_in_collectionList objects in collectionGETAgents: ask firstLists the objects assigned to one collection (database), up to 100 per page, as id, structureId and title. Pass nextCursor back as cursor while hasMore is true.
  • search_objectsSearch objectsPOSTAgents: ask firstSearches the space's objects by title (plus meaning-based matches when AI embeddings are available) and returns up to limit results ordered by relevance, each with id, structureId and title. One page only.
  • update_objectUpdate objectPATCHAgents: ask firstUpdates an object: changes the given properties (only the keys you send), its collections or its blocks, or moves it to or restores it from the trash with deleteRequested. Send at least one of properties, collections or blocks.
  • update_object_from_markdownUpdate object from markdownPATCHAgents: ask firstUpdates an object's writable properties from YAML frontmatter at the top of a Markdown string (lines between two --- lines, such as description: New text). Body text after the frontmatter is ignored; on a whiteboard only title and tags change.

Media upload, 4 operations

  • abort_media_uploadAbort media uploadPOSTAgents: ask firstCancels a pending file upload started with start_media_upload and deletes the upload session; no object is created.
  • complete_media_uploadComplete media uploadPOSTAgents: ask firstStep 3 of a file upload: after every part is sent, creates the media object with the reserved id, attaches the file and returns the object (with a signed download URL in files).
  • start_media_uploadStart media uploadPOSTAgents: ask firstStep 1 of a file upload: reserves a media object id and returns partSize and partCount. Then call upload_media_part once per part, then complete_media_upload (or abort_media_upload).
  • upload_media_partUpload media partPUTAgents: ask firstStep 2 of a file upload: sends one part of the file. Part N is bytes (N-1)*partSize to min(N*partSize, fileSize)-1, partSize from start_media_upload. Call once per part, then complete_media_upload.

Block, 3 operations

  • append_blocksAppend blocksPOSTAgents: ask firstAppends content to an object, as Markdown or as blocks (send exactly one), at the end by default, and returns the updated object. On a whiteboard the content becomes one new card.
  • delete_blockDelete blockDELETEAgents: ask firstDeletes one block and all the blocks nested under it from an object, and returns the object.
  • update_blockUpdate blockPATCHAgents: ask firstReplaces the content of one block, keeping its id; block.type must match the existing block. For a TextBlock, GroupBlock or GridBlock, leave nested blocks or columns out to keep the existing children. Returns the object.

Daily note, 1 operation

  • append_to_daily_noteAppend to daily notePOSTAgents: ask firstAppends Markdown or blocks (send exactly one) to the daily note of a day, today (UTC) by default, under a timestamp heading unless noTimeStamp is true. Processed asynchronously: returns once queued.

Object markdown, 1 operation

  • get_object_markdownGet object markdownGETAgents: ask firstExports one object's content as Markdown, with its id and structureId. Markdown is a reduced form of the block content; read get_object for exact blocks and typed properties.

Space, 1 operation

  • get_spaceGet spaceGETAgents: ask firstReturns the one space the API token is bound to: its id, title and icon. Each token reaches a single space, so this tells which space the connection writes to.

Structure, 1 operation

  • list_structuresList structuresGETAgents: ask firstLists the space's object types (structures) with their property definitions (id, type, writable, label options) and collections. Call it first: create_object and update_object need these structure and property ids.

Use Capacities from Claude Code, Cursor or Codex

Connect Capacities in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Capacities operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Capacities

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Capacities once

    Add your Capacities connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Capacities integration FAQ

What can you do with the Capacities integration?

LiveContext exposes 22 operations on Capacities, covering object, media upload, block and daily note.

Popular integrations

Browse the whole catalog