- Home
- MCP servers
- Kanboard
Kanboard
- go
15
GitHub Stars
go
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"bivex-kanboard-mcp": {
"command": "/path/to/your/kanboard-mcp",
"args": [],
"env": {
"KANBOARD_API_KEY": "your-kanboard-api-key",
"KANBOARD_PASSWORD": "your-kanboard-password",
"KANBOARD_USERNAME": "your-kanboard-username",
"KANBOARD_API_ENDPOINT": "https://your-kanboard-url/jsonrpc.php"
}
}
}
}You can connect natural language AI assistants to Kanboard through a Go-based MCP server. This server translates plain-English commands into Kanboard actions, letting you manage projects, tasks, users, and workflows without wrestling with Kanboard’s API directly.
How to use
You run the Kanboard MCP server as a local process or connect to it via an MCP client. In your MCP client, add the server configuration that points to your local server or a remote MCP endpoint. Once connected, you can ask your assistant to create projects, add tasks, assign users, move tasks between columns, set due dates, comment on tasks, and more. The tools are designed to cover project management, task handling, column and swimlane organization, user permissions, and metadata—so you can control Kanboard entirely through natural language.
How to install
Prerequisites: Go 1.21 or higher, a Kanboard instance with API access, and an MCP-compatible client such as Cursor or Claude Desktop.
Step 1: Clone the MCP server repository.
git clone https://github.com/bivex/kanboard-mcp.git
cd kanboard-mcp
Step 2: Build the executable.
# On Windows
build-release.bat
# On Linux/macOS
./build-release.sh
# Manual build
go build -ldflags="-s -w" -o kanboard-mcp .
Step 3: Set up Kanboard credentials as environment variables.
export KANBOARD_API_ENDPOINT="https://your-kanboard-url/jsonrpc.php"
export KANBOARD_API_KEY="your-kanboard-api-key"
export KANBOARD_USERNAME="your-kanboard-username"
export KANBOARD_PASSWORD="your-kanboard-password"
Step 4: Create an MCP client configuration that points to the server.
{
"mcpServers": {
"kanboard-mcp-server": {
"command": "/path/to/your/kanboard-mcp",
"args": [],
"env": {
"KANBOARD_API_ENDPOINT": "https://your-kanboard-url/jsonrpc.php",
"KANBOARD_API_KEY": "your-kanboard-api-key",
"KANBOARD_USERNAME": "your-kanboard-username",
"KANBOARD_PASSWORD": "your-kanboard-password"
}
}
}
}
Configuration
Configure your MCP client to connect to the Kanboard MCP server. The client can run locally and load the above JSON configuration to initialize the connection.
Environment variables used by the server are shown here for reference:
KANBOARD_API_ENDPOINT=https://your-kanboard-url/jsonrpc.php
KANBOARD_API_KEY=your-kanboard-api-key
KANBOARD_USERNAME=your-kanboard-username
KANBOARD_PASSWORD=your-kanboard-password
Usage examples and notes
You can ask the MCP client to create projects, manage tasks, and adjust Kanboard settings. Examples include creating a project, adding tasks, updating task details, assigning users, and retrieving activity for a project or user.
Security and tips
Use a proxy like mcpproxy if needed to improve connectivity and security between the MCP clients and the Kanboard MCP server. Always protect your API credentials and consider using API keys with restricted permissions.
Development and testing
If you are developing custom features, you can build locally, run tests, and iterate with the same configuration structure used for deployment.
Available tools
get_projects
List all Kanboard projects you have access to.
create_project
Create a new Kanboard project with specified name, description, and owner.
get_project_by_id
Fetch project information by its numeric ID.
get_project_by_name
Fetch project information by its name.
get_project_by_identifier
Fetch project information by its identifier.
get_project_by_email
Fetch project information by the project email.
get_all_projects
List all available projects.
update_project
Update a project’s details such as name or description.
remove_project
Delete a project by ID.
enable_project
Enable a project so it becomes active.
disable_project
Disable a project to prevent activity.
enable_project_public_access
Enable public access for a project.
disable_project_public_access
Disable public access for a project.
get_project_activity
Get activity stream for a single project.
get_project_activities
Get activity feed for multiple projects.
get_tasks
List tasks for a project.
create_task
Create a new task within a project.
update_task
Update details for an existing task.
delete_task
Delete a task by ID.
get_task
Get details for a specific task.
get_task_by_reference
Get a task by its external reference.
get_all_tasks
List all tasks in a project.
get_overdue_tasks
Show all overdue tasks.
get_overdue_tasks_by_project
Show overdue tasks for a specific project.
open_task
Set a task status to open.
close_task
Set a task status to closed.
move_task_position
Move a task to a different column/position/swimlane within the same project.
move_task_to_project
Move a task to another project.
duplicate_task_to_project
Duplicate a task into another project.
search_tasks
Search tasks within a project using a query.
assign_task
Assign a task to a user.
set_task_due_date
Set or update a task due date.
create_comment
Create a new comment on a task.
get_task_comments
Get all comments for a task.
get_comment
Get details for a specific comment.
update_comment
Update a comment’s content.
remove_comment
Remove a comment by ID.
get_columns
List all columns in a project.
get_column
Get details for a column.
create_column
Add a new column to a project.
update_column
Update a column’s properties.
change_column_position
Change a column’s position in a project.
delete_column
Remove a column from a project.
get_categories
List all task categories for a project.
get_category
Get details for a category.
create_category
Create a new task category in a project.
update_category
Update a category’s name or color.
delete_category
Remove a category.
get_swimlanes
List all swimlanes of a project.
get_active_swimlanes
List enabled swimlanes for a project.
get_swimlane
Get swimlane details by ID.
get_swimlane_by_id
Get swimlane details by ID.
get_swimlane_by_name
Get swimlane details by name.
change_swimlane_position
Move a swimlane to a new position.
create_swimlane
Add a new swimlane to a project.
update_swimlane
Update properties of a swimlane.
remove_swimlane
Remove a swimlane from a project.
disable_swimlane
Disable a swimlane for a project.
enable_swimlane
Enable a swimlane for a project.
get_board
Get information to render a project board.
get_me
Get information about the currently authenticated user.
get_my_dashboard
Retrieve the dashboard for the connected user.
get_my_activity_stream
Get recent activity for the connected user.
create_my_private_project
Create a private project for the connected user.
get_my_projects_list
List projects the connected user is involved in.
get_my_overdue_tasks
Show overdue tasks for the connected user.
get_my_projects
Get detailed information about all projects for the connected user.
get_external_task_link_types
List all registered external link providers.
get_ext_link_provider_deps
Get dependencies for a given external link provider.
create_external_task_link
Create an external link for a task.
update_external_task_link
Update an external task link.
get_external_task_link_by_id
Get an external task link by ID.
get_all_external_task_links
List all external links attached to a task.
remove_external_task_link
Remove an external link from a task.
create_task_link
Create a link between two tasks.
update_task_link
Update a task link between two tasks.
get_task_link_by_id
Get a task link by ID.
get_all_task_links
List all links related to a task.
remove_task_link
Remove a link between two tasks.
get_all_links
List all possible task relation types.
get_opposite_link_id
Get opposite link ID for a given link.
get_link_by_label
Get a link relation by label.
get_link_by_id
Get details for a link by ID.
create_link
Create a new task relation/link.
update_link
Update a task relation/link.
remove_link
Remove a task relation/link by ID.
create_project_file
Create and upload a new project attachment.
get_all_project_files
List all files attached to a project.
get_project_file
Get file information for a project file.
download_project_file
Download project file contents (base64 encoded).
remove_project_file
Remove a file from a project.
remove_all_project_files
Remove all files from a project.
get_project_metadata
Get all metadata for a project.
get_project_metadata_by_name
Fetch a specific metadata value for a project.
save_project_metadata
Add or update metadata for a project.
remove_project_metadata
Remove a metadata key from a project.
get_project_users
List all users in a project.
get_assignable_users
Get users who can be assigned to a task in a project.
add_project_user
Grant a user access to a project with a role.
add_project_group
Grant a group access to a project with a role.
remove_project_user
Remove a user’s access from a project.
remove_project_group
Remove a group’s access from a project.
change_project_user_role
Change a user’s role within a project.
change_project_group_role
Change a group’s role within a project.
get_project_user_role
Get a user’s role in a project.
create_subtask
Create a new subtask for a task.
get_subtask
Get information for a subtask.
get_all_subtasks
List all subtasks for a task.
update_subtask
Update a subtask’s details.
remove_subtask
Remove a subtask by ID.
has_subtask_timer
Check if a timer is running for a subtask by a user.
set_subtask_start_time
Start a subtask timer for a user.
set_subtask_end_time
Stop a subtask timer for a user.
get_subtask_time_spent
Get time spent on a subtask by a user.
get_all_tags
List all tags.
get_tags_by_project
List all tags for a project.
create_tag
Create a new tag for a project.
update_tag
Rename a tag and update its color.
remove_tag
Remove a tag by ID.
set_task_tags
Assign or update tags for a task.
get_task_tags
Get tags assigned to a task.
create_task_file
Create and upload a file for a project or task.
get_all_task_files
List all files attached to a task.
get_task_file
Get information for a specific task file.
download_task_file
Download a task file’s contents (base64).
remove_task_file
Remove a file from a task or project.
remove_all_task_files
Remove all files from a task or project.
get_task_metadata
Get all metadata related to a task.
get_task_metadata_by_name
Fetch a specific metadata value for a task.
save_task_metadata
Save or update metadata for a task.
remove_task_metadata
Remove task metadata by name.
get_version
Get the current application version.
get_timezone
Get the connected user’s timezone.
get_default_task_colors
List all default task colors.
get_default_task_color
Get the default task color.
get_color_list
List all available task colors.
get_application_roles
List all application roles.
get_project_roles
List all project roles.
get_available_actions
List available automatic actions.
get_available_action_events
List events available for actions.
get_compatible_action_events
List events compatible with a given action.
get_actions
List actions for a project.
create_action
Create a new action for a project.
remove_action
Remove an action by ID.
create_group
Create a new user group.
update_group
Update a user group.
remove_group
Remove a user group.
get_group
Get details for a group.
get_all_groups
List all groups.
get_member_groups
List all groups for a given user.
get_group_members
List all members of a group.
add_group_member
Add a user to a group.
remove_group_member
Remove a user from a group.
is_group_member
Check if a user is a member of a group.
get_users
List all system users.
create_user
Create a new user with credentials.
create_ldap_user
Create a new LDAP-authenticated user.
get_user
Get user information by ID.
get_user_by_name
Get user information by username.
update_user
Update a user’s details including role.
remove_user
Remove a user by ID.
disable_user
Disable a user account.
enable_user
Enable a previously disabled user.
is_active_user
Check if a user is currently active.
assign_user_to_project
Assign a user to a project with a specific role.
create_sprint
Create a new sprint in a project.
get_sprint_by_id
Retrieve a sprint by its ID.
update_sprint
Update an existing sprint.
remove_sprint
Remove a sprint by ID.
get_all_sprints_by_project
Get all sprints for a given project.