Skip to main content
Glama
trung-persefoni

Obsidian Kanban MCP Server

README.md
# Obsidian Kanban MCP Server

An MCP server to manage Obsidian Kanban boards.

## Features

- List all Kanban boards in your vault.
- Read board content (columns and tasks).
- Add tasks to specific columns.
- Move tasks between columns.
- Create new Kanban boards.

## Usage

### Prerequisites

- Node.js installed.
- Obsidian vault with the [Kanban plugin](https://github.com/mgmeyers/obsidian-kanban) installed.

### Configuration
    
The server points to the Obsidian vault specified by the `VAULT_PATH` environment variable. 
If not set, it defaults to `~/workspace/cursor-vault`.

You can also optionally set:
- `OBSIDIAN_BOARD_NAME` to a default board filename (e.g., `MyBoard.md`). If set, you don't need to provide the `board_name` argument.

### Building

```bash
npm install
npm run build
```

### Running

```bash
node dist/index.js
```

### MCP Tools

- `list_boards`: List all boards.
- `get_board_content(board_name)`: Get columns and tasks.
- `add_task(board_name, column_name, task_text, description?, labels?, acceptance_criteria?, create_note?)`: Add a task with optional details.
  - `description`: Multiline string for task details.
  - `labels`: Array of strings (e.g., `["urgent", "bug"]`). Appended as tags to the title.
  - `acceptance_criteria`: Array of strings. Added as a checklist in the description.
  - `create_note`: Boolean. Defaults to `true`. If true, creates a new Markdown note with the details and links it on the board. Set to `false` to keep all details on the card itself.
- `move_task(board_name, task_text, from_column, to_column)`: Move a task.
- `create_board(board_name, columns)`: Create a new board.

## Deployment & Integration

### Integrating with Claude Desktop

Add the following to your `claude_desktop_config.json` (MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "obsidian-kanban": {
      "command": "node",
      "args": ["/path/to/mcp-obsidian-kanban/dist/index.js"],
      "env": {
        "VAULT_PATH": "/path/to/your/obsidian/vault",
        "OBSIDIAN_BOARD_NAME": "MyBoard.md"
      }
    }
  }
}
```

### Integrating with Cursor

1. Go to **Cursor Settings** > **Features** > **MCP**.
2. Click **+ Add New MCP Server**.
3. Fill in the details:
   - **Name**: Obsidian Kanban
   - **Type**: Stdio
   - **Command**: `node /path/to/mcp-obsidian-kanban/dist/index.js`
   - **Environment Variables**: `VAULT_PATH=/path/to/your/obsidian/vault;OBSIDIAN_BOARD_NAME=MyBoard.md`



TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: add_task creates tasks, create_board creates boards, get_board_content retrieves board details, list_boards lists boards, and move_task moves tasks between columns. An agent can easily distinguish between these operations without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., add_task, create_board, get_board_content). The naming is uniform and predictable, using snake_case throughout without any deviations or mixed conventions.

Tool Count5/5

With 5 tools, this server is well-scoped for managing Kanban boards in Obsidian. Each tool serves a clear and necessary function (creating/listing boards, adding/moving tasks, retrieving content), making the count appropriate and efficient for the domain.

Completeness4/5

The tool set covers core Kanban operations well, including board creation, listing, content retrieval, and task management (add/move). A minor gap exists in task deletion or board deletion/update, but agents can likely work around this for basic workflows without significant failures.

Maintenance

ActivityInactive
ResponsivenessNo issues