Skip to main content
Glama

Wekan MCP Server

made by namar0x0309 with ❤️ at GoAIX

Demo

This project includes scripts to automatically generate Wekan API tokens and configure your environment.

Supported Agent Functionality

The Wekan MCP Server provides the following tools for AI agents to interact with Wekan:

Board Management

  • listBoards - List all accessible Wekan boards available to the authenticated user

List Management

  • listLists - List all lists within a specific board

Swimlane Management

  • listSwimlanes - List all swimlanes in a board (used for organizing cards vertically)

Card Management

  • listCards - List all cards in a specific board and list

  • createCard - Create a new card with support for:

    • Title (required)

    • Description (optional)

    • Swimlane assignment (optional)

    • Due date (optional, ISO 8601 datetime format)

    • Team members (optional, array of user IDs)

    • Labels (optional, array of label IDs)

  • moveCard - Move a card to another list or swimlane within the same board

Card Interaction

  • commentCard - Add a comment to an existing card

Related MCP server: Trello MCP Server

Getting Started

Generate Wekan API Token

Run the appropriate script for your platform to generate your API token:

Windows (PowerShell):

./get-wekan-token.ps1

Linux/macOS (Bash):

./get-wekan-token.sh

The script will prompt you for:

After successful authentication, it will:

  1. Generate an API token

  2. Create or update the .env file with your token and configuration

Manual Configuration

If you prefer to configure manually, copy .env.example to .env and fill in your details:

cp .env.example .env

Then edit the .env file with your Wekan instance details and API token.

Environment Variables

The .env file contains:

  • WEKAN_BASE_URL: Your Wekan instance URL

  • WEKAN_API_TOKEN: Generated API token for authentication

  • WEKAN_USERNAME: Your Wekan username (alternative to API token)

  • WEKAN_PASSWORD: Your Wekan password (alternative to API token)

  • WEKAN_USER_ID: Your Wekan user ID

  • WEKAN_TOKEN_EXPIRES: Token expiration date

Note: You can authenticate using either:

  1. WEKAN_API_TOKEN - Pre-generated token, or

  2. WEKAN_USERNAME and WEKAN_PASSWORD - For automatic token generation on each request

Testing

You can test your configuration by running:

node test-auth.js

This will verify that your API token is working correctly.

You can also test all available methods:

node test-all-methods.js

Development

MCP Inspector

For development and debugging the MCP server, you can use the MCP Inspector:

npm run inspect

This will launch the MCP Inspector with the configuration from mcp-inspector-config.json.

For development with automatic rebuilding:

npm run inspect:watch

This will build the project and launch the inspector, automatically rebuilding when changes are detected.

Available Tools

7 tools
commentCardC

Add a comment to a card

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes
cardIdYes
textYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present; description does not disclose behavioral traits such as idempotency, permissions, side effects, or return value. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. However, could be more structured with additional context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description does not cover return behavior, error conditions, or success indicators. For a mutation tool with three required parameters, more completeness is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage; description adds no meaning to parameters. Parameter names (boardId, cardId, text) are somewhat self-explanatory but lack context like format or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'add', resource 'comment', and target 'card'. Distinguishes from sibling tools like createCard (creates a card) and moveCard (moves).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions provided. Agent must infer usage context from name only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

createCardD

Create a card

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes
listIdYes
titleYes
descriptionNo
swimlaneIdNo
dueNo
membersNo
labelsNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose any behavioral traits such as idempotency, side effects, or permissions. This is a critical gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While very short, the description is under-specifying rather than concise. It fails to provide necessary information, making it inefficient for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, 3 required, no output schema, and no annotations, the description is completely inadequate. It does not help the agent understand tool usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 8 parameters with 0% description coverage, and the description adds no meaning to any parameter. The agent is left guessing about fields like 'swimlaneId' or 'members'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a card' clearly states the action and resource, but does not differentiate from sibling tools like moveCard or commentCard. It is adequate but not distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives or when not to use it. The description lacks usage context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listBoardsA

List accessible Wekan boards

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states 'list accessible Wekan boards' and omits details like mutation side effects, authentication requirements, pagination, or ordering. The minimal description leaves the agent uninformed about important behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise phrase with no wasted words. It effectively conveys the core functionality without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should provide more context about return format or behavior. It only states the resource type but does not mention fields, structure, or any side effects, leaving the agent with incomplete information for a tool that returns data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no parameters and 100% coverage, so baseline is 4. The description adds the nuance 'accessible', which clarifies that boards are filtered by user access rights, providing additional meaning beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'accessible Wekan boards', making the tool's purpose unambiguous. It also distinguishes from sibling tools like listCards and listLists, which list different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing boards, but does not provide explicit guidance on when to use this tool versus alternatives or specify any preconditions. Context makes it clear, but lacks explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listCardsC

List cards in a board+list

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes
listIdYes

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'List cards' without any information about read-only nature, pagination, ordering, effects, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, which is efficient but lacks structure and depth. It is a minimally acceptable length, but there is room for formatting with more details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, two parameters, and no annotations, the description is severely incomplete. It fails to explain the output format, any constraints, or necessary context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description offers no explanation of the two parameters (boardId, listId). It mentions 'board+list' but does not clarify what values are expected or how to obtain them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List cards in a board+list' clearly states the action and the required context, distinguishing it from sibling tools that list other entities (boards, lists, swimlanes). However, it could be more specific by indicating it lists 'all' cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided; the description does not indicate when to use this tool versus alternatives like listBoards or listLists, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listListsC

List lists in a board

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but fails to disclose any behavioral traits. It does not state that the tool is read-only, what happens on invalid input, or any auth requirements. It only implies a read operation without explicit confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at 5 words, with no wasted text. However, it lacks structure: no sentences about usage, parameters, or returns. It sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (1 param, no output schema), the description should hint at the return value or behavior. It does not mention what the tool outputs (e.g., list of list objects) or any error conditions, leaving the agent uninformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the description does not explain the 'boardId' parameter beyond the vague phrase 'in a board'. No guidance is given on how to find or format the boardId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List lists in a board' clearly specifies the action (list) and resource (lists) with context (in a board). It distinguishes from sibling tools like listBoards and listCards, though it could be more specific about scope (e.g., 'all lists').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives like listCards or listSwimlanes, nor any prerequisites (e.g., valid boardId).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listSwimlanesC

List swimlanes in a board

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not explicitly disclose behavioral traits such as safety (read-only), authentication needs, or side effects. The verb 'list' implies a read operation, but this is implicit and insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence with no unnecessary words. However, it could be restructured to include parameter semantics without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's simplicity, the description is incomplete: it lacks parameter documentation and does not clarify the return format. Given the absence of output schema and annotations, more detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the required parameter 'boardId'. The description does not explain what 'boardId' means or how to obtain it, failing to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List swimlanes in a board' uses a specific verb ('list') and resource ('swimlanes'), clearly distinguishing it from sibling tools like listCards and listLists. It precisely conveys the tool's scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not specify when to use this tool versus alternatives, nor does it mention prerequisites or context. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moveCardC

Move a card to another list or swimlane

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYes
cardIdYes
listIdNo
swimlaneIdNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states the basic action. Does not disclose potential errors, side effects (e.g., what happens if card already in target list), or required permissions for mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. However, it is under-specified for the number of parameters and lack of other documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is too brief given the lack of annotations and output schema. Missing details on required parameters, typical usage patterns, and error handling. Incomplete for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and description only mentions list and swimlane implicitly. Does not clarify the role of boardId and cardId, nor which parameters are optional. Adds minimal value beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (move) and resource (card), and implies the target (list or swimlane), distinguishing it from sibling tools like createCard or listCards. However, it could be more explicit about the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, such as when a card needs to be reorganized within a board. No prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • First observedcommentCard
    • First observedcreateCard
    • First observedlistBoards
    • First observedlistCards
    • First observedlistLists
    • First observedlistSwimlanes
    • First observedmoveCard

TDQS

C2.9/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action: commenting, creating, listing different entities, and moving cards. No two tools have overlapping responsibilities.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (commentCard, createCard, listBoards, etc.) with clear, predictable naming.

Tool Count5/5

7 tools cover the core functionalities without being excessive or insufficient for a board management server.

Completeness2/5

Missing essential CRUD operations such as update or delete for cards and boards, and no tools for creating/editing lists or swimlanes, leaving significant gaps.

Maintenance

ActivityStale
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers