CapacitiesMCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CapacitiesMCP search for objects titled 'Q4 Goals'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
╔═╗┌─┐┌─┐┌─┐┌─┐┬┌┬┐┬┌─┐┌─┐
║ ├─┤├─┘├─┤│ │ │ │├┤ └─┐
╚═╝┴ ┴┴ ┴ ┴└─┘┴ ┴ ┴└─┘└─┘
╔╦╗╔═╗╔═╗
║║║║ ╠═╝
╩ ╩╚═╝╩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 buildConfiguration
1. Get Your API Key
Note: API access requires a Capacities Pro subscription.
Open Capacities desktop app
Go to Settings → Capacities API
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 |
| Yes | Your Capacities API key |
| No | Default space for operations |
| No | Port for x-callback responses (0 = auto) |
Available Tools
Search & Discovery
capacities_list_spaces
List all spaces you have access to.
capacities_search
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"]
}capacities_save_weblink
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 |
| 5 req/60s |
| 120 req/60s |
| 10 req/60s |
| 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 # BuildLicense
MIT
Available Tools
9 toolscapacities_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).
capacities_save_weblinkB
Save a URL/weblink to Capacities with optional metadata, tags, and notes.
Inputs: url (required), spaceId (required), tags, title, +2 more.
capacities_searchA
Search for objects by title in a Capacities space. Returns matching objects with their IDs, structure types, and titles.
Inputs: spaceId (required), searchTerm (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Connect an AI assistant to a Capacities space (objects, daily notes, search).
Securely search, create, and organize your Mem notes and collections from AI assistants.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Long-term memory for Claude, ChatGPT, Cursor: search, save and organize notes, links, docs, videos.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Obsidian vaults, providing tools for reading, creating, editing and managing notes and tags.3,713 npm751MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Anytype data through the local API, allowing search, creation, modification, and export of objects, spaces, and lists.1824MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables 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-
- AlicenseCqualityDmaintenanceEnables interaction with the Capacities.io note-taking API via MCP, supporting operations like searching content, saving weblinks, and appending to daily notes.513MIT