Obsidian Kanban MCP Server
# 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
Scored across 5 tools
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.
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.
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.
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.