Capacities MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (default: info) | info |
| CAPACITIES_API_TOKEN | Yes | Your Capacities API token | |
| CAPACITIES_API_BASE_URL | No | Base URL for the Capacities API (default: https://api.capacities.io) | https://api.capacities.io |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_contentA | Search Capacities objects in your space by title. When Capacities has semantic search enabled for the account, it also returns objects related by meaning; those are listed after the title matches under a "Related by meaning" label. |
| list_spacesB | Get a list of all your Capacities spaces |
| get_space_infoB | Get the structures (object types), their writable properties, and collections for your Capacities space. |
| add_to_daily_noteA | Add content to today's daily note in Capacities. Supports markdown. Each call appends to the existing daily note. |
| save_weblinkA | Save a URL as a weblink object. Optional title/description override the auto-fetched page metadata (these are the ONLY fields settable on a weblink, and only at save time — weblinks are create-only in the API). To tag or annotate a weblink, put #tag, () tasks, or [[links]] in notes; Category/Topic and other properties cannot be set via the API yet. |
| create_objectA | Create a new object of any structure in your Capacities space. Call |
| update_objectA | Replace typed properties of an existing object (PATCH /object). Only the properties you name are changed; unnamed properties are left intact. WARNING: for a named property this REPLACES its value — it does NOT append. Naming a multi-value relation/label drops the prior list and sets exactly what you pass. To ADD to a relation, first read the current values (this tool reports them) and pass the full desired list. The optional |
| append_to_objectA | Append markdown to the END of an existing object's body (POST /blocks/append) — additive, never removes, and never touches typed properties. This is the body counterpart to update_object, which replaces typed properties (scalars/labels/relations) via PATCH /object. Use update_object to change properties; use this to add notes/body. |
| get_objectA | Read an object rendered as Markdown (YAML frontmatter of its properties + body). A |
| delete_objectA | Delete an object. By default (hard_delete=false) it moves to trash and is recoverable in Capacities. Pass hard_delete=true to permanently delete — this cannot be undone. |
| find_objectsA | Locate objects of one |
| link_to_contextA | Add a task to another object's Context. A task's Context in Capacities is derived, not a property: it is the set of objects (people, projects, meetings, ...) whose body embeds the task as an EntityBlock. This appends an EntityBlock embedding the task to the END of the target object's body (POST /blocks/append). Idempotent: if the target already embeds the task anywhere in its body, nothing is written and the existing block id(s) are reported. task_id must be a Task (RootTask). |
| unlink_from_contextA | Remove a task from another object's Context. A task's Context in Capacities is derived, not a property: it is the set of objects (people, projects, meetings, ...) whose body embeds the task as an EntityBlock. This deletes EVERY EntityBlock on the target object that embeds the task (at any depth, in any block field), one DELETE /block each; nested content inside a removed block goes with it. If the target does not embed the task, nothing is removed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Capacities Spaces | List of all your Capacities spaces |
TDQS
Scored across 13 tools
Most tools are clearly distinct: create/update/append/delete act on different object aspects, and link/unlink are paired opposites. The main overlap is search_content versus find_objects, both used to locate objects; the descriptions distinguish global title/semantic search from structure-scoped filtering, but an agent may still hesitate between them.
Names are consistently snake_case and verb-led (list_, get_, create_, update_, append_, delete_, search_, find_, link_/unlink_). A few use prepositions such as add_to_daily_note and link_to_context rather than strict verb_noun, but the overall pattern remains predictable.
13 tools is well within the ideal range and each maps to a distinct capability: space discovery, object CRUD/append, search/listing, daily notes, weblinks, and task context linking. The set does not feel padded or thin.
Core lifecycle coverage is strong: spaces/info, object read/create/update/delete/append, search/find, daily note appends, weblinks, and context link/unlink. Gaps are minor and partly API-imposed: weblinks are create-only, and there is no full-text body search or bulk operation, but agents can work around these with existing tools.