Skip to main content
Glama
CapacitiesMCP

CapacitiesMCP

by ajokunu
╔═╗┌─┐┌─┐┌─┐┌─┐┬┌┬┐┬┌─┐┌─┐
║  ├─┤├─┘├─┤│  │ │ │├┤ └─┐
╚═╝┴ ┴┴  ┴ ┴└─┘┴ ┴ ┴└─┘└─┘
         ╔╦╗╔═╗╔═╗
         ║║║║  ╠═╝
         ╩ ╩╚═╝╩

MCP Server for Capacities.io


Important Limitations

The Capacities API does not support reading object content.

This MCP server can:

  • Search for objects by title (returns IDs and titles only)

  • Create new objects of any type

  • Write to daily notes and save weblinks

This MCP server cannot:

  • Read the actual content/body of any object

  • Retrieve notes, documents, or page contents

  • Export or analyze existing data

This is a limitation of the Capacities API, not this server. The API is in beta and Capacities may add read endpoints in the future.


Related MCP server: Anytype MCP Server

What is this?

CapacitiesMCP is a Model Context Protocol server that connects AI assistants to Capacities.io for searching and creating content.

┌─────────────────────────────────────────────────────────────────┐
│                      Your AI Assistant                          │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    CapacitiesMCP Server                         │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  REST API               │    X-Callback URLs            │   │
│  │  • Search by title      │    • Create objects           │   │
│  │  • List spaces          │    • Open in app              │   │
│  │  • Save weblinks        │    • Get current object info  │   │
│  │  • Add to daily note    │                               │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  [!] NO READ ACCESS TO OBJECT CONTENT (API limitation)          │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                       Capacities.io                             │
└─────────────────────────────────────────────────────────────────┘

What You Can Actually Do

Feature

Works?

Requires Desktop App

Details

List your spaces

Yes

No

Get space IDs and titles

Search by title

Yes

No

Find objects, get IDs (not content)

Get object types

Yes

No

See available structures in a space

Create objects

Yes

Yes

Create Books, People, Meetings, custom types

Save weblinks

Yes

No

Clip URLs with tags and notes

Add to daily note

Yes

No

Append markdown to today's note

Open objects

Yes

Yes

Deep-link into the desktop app

Get current object

Yes

Yes

Get info about open object

Read object content

NO

-

Not possible - API limitation

Export data

NO

-

Not possible - API limitation

Get page/note body

NO

-

Not possible - API limitation

Installation

Prerequisites

  • Node.js 18+

  • Capacities.io Pro subscription (required for API access)

  • Capacities desktop app must be running (required for creating objects, opening objects, and getting current object info)

Quick Start

# Clone the repository
git clone https://github.com/ajokunu/capacities-mcp.git
cd capacities-mcp

# Install dependencies
npm install

# Build
npm run build

Configuration

1. Get Your API Key

Note: API access requires a Capacities Pro subscription.

  1. Open Capacities desktop app

  2. Go to Settings → Capacities API

  3. Generate and copy your API key

2. Configure Your MCP Client

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "capacities": {
      "command": "node",
      "args": ["/path/to/capacities-mcp/dist/index.js"],
      "env": {
        "CAPACITIES_API_KEY": "your_api_key_here"
      }
    }
  }
}

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "capacities": {
      "command": "node",
      "args": ["/path/to/capacities-mcp/dist/index.js"],
      "env": {
        "CAPACITIES_API_KEY": "your_api_key_here"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

CAPACITIES_API_KEY

Yes

Your Capacities API key

CAPACITIES_DEFAULT_SPACE_ID

No

Default space for operations

CAPACITIES_CALLBACK_PORT

No

Port for x-callback responses (0 = auto)

Available Tools

Search & Discovery

capacities_list_spaces

List all spaces you have access to.

Search for objects by title. Returns IDs and titles only, not content.

{
  "spaceId": "uuid-of-your-space",
  "searchTerm": "meeting notes"
}

capacities_get_space_info

Get info about a space including available structures.

capacities_get_object_types

List all object types (structures) available in a space.

Create & Write

capacities_create_object

Create any object type. Requires Capacities desktop app running.

{
  "type": "Book",
  "title": "Atomic Habits",
  "content": "Key insights from the book...",
  "tags": ["productivity", "habits"]
}

Save a URL with metadata.

{
  "spaceId": "uuid",
  "url": "https://example.com/article",
  "title": "Great Article",
  "tags": ["research"]
}

capacities_add_to_daily_note

Append content to today's daily note.

{
  "spaceId": "uuid",
  "content": "## Meeting Summary\n- Discussed roadmap"
}

Utility

capacities_get_current_object

Get info (URL, title) about the currently open object. Does not return content.

capacities_open_object

Open a specific object by its URL in the desktop app.

Usage Examples

Things you can ask your AI assistant:

"List all my Capacities spaces"

"Search for 'project planning' in my work space"

"Create a new Book called 'Deep Work' with notes about focus"

"Save this URL to my research space"

"Add a summary to today's daily note"

Things you cannot do:

"Read my meeting notes from last week"

"Summarize my research documents"

"Export all my notes about X topic"

Rate Limits

Endpoint

Limit

/spaces, /space-info

5 req/60s

/lookup

120 req/60s

/save-weblink

10 req/60s

/save-to-daily-note

5 req/60s

Why No Read Access?

The Capacities API is in early beta. From their docs:

"The Capacities API is in a very early stage. Many endpoints you'd expect for a REST API are not yet available."

There is no /get-object or similar endpoint. The x-callback URL scheme also only returns metadata (URL, title), not content.

If you want this feature, request it from Capacities directly.

Development

npm run dev        # Watch mode
npm run typecheck  # Type checking
npm run build      # Build

License

MIT


Available Tools

9 tools
capacities_add_to_daily_noteB

Add markdown content to today's daily note in Capacities.

Inputs: content (required), spaceId, noTimestamp.

capacities_create_objectA

Create a new object of any type in Capacities. Requires the Capacities desktop app to be running. Can create Books, People, Meetings, or any custom object type defined in the space.

Inputs: type (required), title (required), tags, content, +1 more.

capacities_get_current_objectA

Get information about the currently open object in Capacities desktop app. Returns the object's URL, title, and name. Requires desktop app to be running.

Inputs: no named parameters.

capacities_get_object_typesA

Get all available object types (structures) for a space. Useful for knowing what types of objects can be created.

Inputs: spaceId (required).

capacities_get_space_infoA

Get detailed information about a Capacities space including available object types (structures), collections, and property definitions.

Inputs: spaceId (required).

capacities_list_spacesA

List all Capacities spaces the user has access to. Returns space IDs, titles, and icons.

Inputs: no named parameters.

capacities_open_objectA

Open a specific object in Capacities by its URL/deeplink.

Inputs: url (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 9 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes (listing spaces, searching, creating objects, saving weblinks, etc.), but capacities_get_space_info and capacities_get_object_types both return object type information, creating potential confusion. Otherwise, the boundaries are clear.

    Naming Consistency5/5

    All tools follow a consistent 'capacities_<verb>_<noun>' snake_case pattern with verbs like list, get, create, save, add, and open. The naming is uniform and predictable.

    Tool Count5/5

    Nine tools is well within the ideal range for a domain-specific server, covering core operations without unnecessary bloat. Each tool serves a recognizable function.

    Completeness3/5

    The server provides creation, search, and navigation features, but lacks update/delete operations and a direct get-object-by-ID method (get_current_object only returns limited info). These are notable gaps for full lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to interact with Obsidian vaults, providing tools for reading, creating, editing and managing notes and tags.
      3,713 npm
      751
      MIT
    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to read, write, search, and navigate Obsidian vault notes with support for CRUD operations, full-text search, graph navigation, daily notes, and frontmatter management.
      3,713 npm
      -
    • A
      license
      C
      quality
      D
      maintenance
      Enables interaction with the Capacities.io note-taking API via MCP, supporting operations like searching content, saving weblinks, and appending to daily notes.
      5
      13
      MIT