New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@njligames/kanban-importer-mcp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@njligames/kanban-importer-mcp

Let Claude or Codex move Trello cards by the task ids it invented itself, not by Trello card ids

latest
Source
npmnpm
Version
1.0.4
Version published
Maintainers
1
Created
Source

Kanban Importer MCP

Lets Claude, Codex or any MCP client read and move the tasks on a Trello board that Kanban Importer created.

The loop it closes:

  • You ask your assistant for the tasks only a person can do.
  • Kanban Importer puts them on the board, in Backlog, each tagged with the task id the assistant invented.
  • You work the board.
  • You ask the assistant how things stand. It reads the board itself.
  • You tell the assistant a task is done. It moves the card.

Steps 4 and 5 are this package. Steps 1 to 3 need nothing but the Power-Up.

Why not a general purpose Trello MCP

Use one. Atlassian publishes an official Trello MCP server, free on every plan, and it covers far more of Trello than this does: boards, lists, cards, checklists, create, move, comments. If what you want is an assistant that can work your Trello account, that is the one to install, and this is not trying to replace it.

This package does one thing those cannot, including the official one.

They speak in Trello card ids. This speaks in task ids. When an assistant writes out your leftover work it invents its own name for each task, something like rotate-stripe-webhook-secret. That is the only name it ever had. A general server has to list the whole board and guess which card is which by matching titles, which breaks the first time you rename a card, and renaming a card is a normal thing to do to a card. move_task here takes rotate-stripe-webhook-secret, never 68f3c1a0b4d2e9f77c0a1b23.

It reads the Power-Up's own card stamp as well as the description line, and no general reader returns that stamp, so the match survives a rename, a reword and an archive.

Two other differences worth knowing before you choose:

  • One credential. This ships the Power-Up's own Trello app key, so setup is a token and nothing else. Most community servers want an API key as well.
  • It cannot create or delete. Three tools, list_boards, list_tasks and move_task. Importing is what the Power-Up is for, with a preview first, and nothing an assistant does here can take work off your board.

Plenty of people will want both installed. They do not conflict.

Setup

Get a token. This link asks Trello for read and write access for Kanban Importer, and gives you a token to paste:

https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=d942028fe402246748954673a8420ed1&name=Kanban%20Importer

Then add the server to your client's MCP config:

{
  "mcpServers": {
    "kanban-importer": {
      "command": "npx",
      "args": ["-y", "@njligames/kanban-importer-mcp"],
      "env": {
        "TRELLO_TOKEN": "the token you just got"
      }
    }
  }
}

That is the whole configuration. The API key defaults to the Power-Up's own, which is public by design: a Trello app key grants nothing on its own.

Variable
TRELLO_TOKENRequired. From the link above.
TRELLO_BOARDOptional. A board name or id, so you do not have to name one each time. With one board on the account it is worked out anyway.
TRELLO_API_KEYOptional. Only if you would rather authorize your own Trello app than ours.

Tools

Tool
list_boardsThe open boards on the account, by name.
list_tasksEvery tagged task with the column it is in, plus the board's columns in order.
move_taskMove one task to a named column. Brings an archived task back.

list_tasks returns the columns in board order rather than a status word, because a status vocabulary would be a guess on any board that does not use the default columns, and a confident guess is worse than none.

What it does not do

It does not create cards. Importing is what the Power-Up is for, and it handles lists, labels, members, dates, checklists and attachments in one pass with a preview you can check first.

It does not delete anything, and move_task is the only write.

Where your token goes

Into your MCP client's config file, on your machine. The server sends it to api.trello.com and nowhere else. Kanban Importer has no server of its own, so there is nowhere else for it to go.

Development

npm install
npm test
npm run sync

npm run sync refreshes lib/ai-tasks.cjs from ../public/js/ai-tasks.js, which is the file the Power-Up ships. It is a copy because npm cannot package a file outside the package root; test/shared.test.js fails when it goes stale.

Listing it in the MCP registry

server.json carries the registry metadata and its name must match the mcpName in package.json, or the publish is refused. Both move together when the version does.

npm version patch
npm login
npm publish --access public
mcp-publisher login github
mcp-publisher publish

npm login before publishing, rather than npm publish --otp=<code>. The OTP flag is refused on this account: npm answers 403 asking for 2FA or a bypass token. The browser login flow satisfies the same requirement and npm is restricting bypass tokens anyway, so do not go and make one.

The npm publish has to come first: the registry hosts metadata, not artifacts, and it verifies the package exists and claims the same name.

The registry name is com.njligames/kanban-importer, authenticated against the domain rather than against a GitHub organization. The GitHub route was tried first and refused, because the account's public membership is in onegroupcentral and the repo lives under NJLIGamesLtd. Beyond that accident, a name tied to a GitHub org is tied to something that has already moved once: this repo changed orgs on 2026-10-16.

Domain authentication needs a proof file, which is deployed and live at https://njligames.com/.well-known/mcp-registry-auth. Its source is website/.well-known/mcp-registry-auth in the njligames-site repo, and the matching PRIVATE KEY is mcp/.tools/registry-key.pem, gitignored and never published. Losing that key means generating a new pair and replacing the deployed file; leaking it would let somebody else publish under com.njligames/*, so treat it like an SSH key.

Logging in with it is not interactive:

PRIVATE_KEY="$(openssl pkey -in .tools/registry-key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n')"
./.tools/mcp-publisher login dns --domain njligames.com --private-key "${PRIVATE_KEY}"
./.tools/mcp-publisher publish

mcp-publisher itself lives in mcp/.tools/, which is gitignored; brew was locked when it was needed, so it was installed from the official release tarball instead of with brew install mcp-publisher.

Keywords

mcp

FAQs

Package last updated on 23 Oct 2026

Related posts