natethor/vikunja-mcp
If you are the rightful owner of vikunja-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Vikunja MCP Server is a Model Context Protocol server that integrates with Vikunja, an open-source to-do and project management tool.
Vikunja MCP Server
A Model Context Protocol (MCP) server that provides integration with Vikunja, an open-source to-do application and project management tool.
Features
- Get tasks from Vikunja projects
- Create new tasks in projects
- Update existing tasks (title, description, completion status)
- Get all projects
- Create new projects
Setup
Prerequisites
- Go 1.24.2 or later
- A running Vikunja instance
- A Vikunja API token
Installation
-
Clone this repository
-
Set up environment variables either by:
Option A: Using a .env file (recommended)
cp .env-example .env # Edit .env with your Vikunja instance detailsOption B: Using environment variables
export VIKUNJA_URL="https://your-vikunja-instance.com" export VIKUNJA_TOKEN="your-api-token" -
Install dependencies:
go mod tidy -
Build the server:
go build -o vikunja-mcp
Getting a Vikunja API Token
- Log into your Vikunja instance
- Go to Settings > API Tokens
- Create a new token with appropriate permissions
- Copy the token for use in the
VIKUNJA_TOKENenvironment variable
Usage
Run the MCP server:
./vikunja-mcp
The server will start and listen for MCP protocol messages on stdin/stdout.
Available Tools
get_tasks
Get all tasks from a specific project.
project_id(integer, required): ID of the project
create_task
Create a new task in a project.
project_id(integer, required): ID of the projecttitle(string, required): Task titledescription(string, optional): Task description
update_task
Update an existing task.
task_id(integer, required): ID of the task to updatetitle(string, optional): New task titledescription(string, optional): New task descriptiondone(boolean, optional): Mark task as completed/incomplete
get_projects
Get all projects from Vikunja. No parameters required.
create_project
Create a new project.
title(string, required): Project titledescription(string, optional): Project description
Integration with MCP Clients
This server can be used with any MCP-compatible client. Configure your client to use this server as an MCP server.
Project Structure
main.go- Entry point for the MCP servertools.go- MCP tool definitions and handlersclient.go- Vikunja API client implementation