# Connect Claude Code to iKanban

Claude Code can read and update your iKanban board directly: list the tasks in a team, create an issue from the bug you are fixing, move it to done when the pull request merges, or write the design note into Documents. It talks to iKanban through the **iKanban MCP server**, a remote [Model Context Protocol](https://modelcontextprotocol.io) server at `https://mcp.i-kanban.com/sse`.

The MCP server is included in every paid plan, from Starter up, with no daily call limit (fair use). See [Pricing](/pricing) for the plans.

## What you need

- An iKanban workspace on a paid plan.
- A personal API key. Open **Settings → API Keys**, create a key, and copy it. Keys start with `vk_` and are shown once.
- Claude Code installed and signed in.

## 1. Register the server

Run this once. `--scope user` makes the server available in every project on your machine; leave it out to register it for the current project only.

```bash
claude mcp add --transport http --scope user ikanban-remote \
  https://mcp.i-kanban.com/sse \
  --header "Authorization: Bearer vk_your_key_here"
```

The transport must be `http`. The address ends in `/sse` for historical reasons, but the server speaks MCP Streamable HTTP. Registering it with `--transport sse` fails to connect and no tools appear.

## 2. Check the connection

```bash
claude mcp get ikanban-remote
```

The server should show as connected. Inside a Claude Code session, `/mcp` lists every server and its status.

## 3. Try it

Ask Claude Code, using your own team's identifier:

```text
List the open tasks in the ENG team.
```

Claude Code calls `list_issues` and replies with the tasks. From there you can ask it to create a task, assign it, add a comment, move it between columns, or put it in the current sprint.

## What it can and cannot do

- **Read, create and update.** Teams, issues, projects, sprints, releases, documents, folders, comments and tags. The full, current tool list is in the app under **Settings → MCP Servers**.
- **No delete.** Nothing can be deleted over MCP, by design. Remove things in the web app.
- **Human identifiers.** Teams are addressed by their key (`ENG`) and issues by their key (`ENG-42`); projects, sprints and documents use the ids returned by the matching `list_*` tool.

The [MCP field guide](/docs/mcp/mcp-usage-from-field) covers each tool group, the parameters that trip people up, and a troubleshooting table.

## Troubleshooting

| Symptom | Likely cause | Fix |
| --- | --- | --- |
| Server fails to connect, no tools | Registered with `--transport sse` | Remove it (`claude mcp remove ikanban-remote`) and add it again with `--transport http` |
| `401` or "unauthorized" | Missing, mistyped or deleted key | Create a new key in **Settings → API Keys** and register again |
| Refused although the key is valid | MCP is switched off for your keys, or the client is not on the allowed-client list | Check the MCP access switch and allowed clients on **Settings → API Keys**; changes can take up to five minutes |
| A delete request is refused | Deletes are not exposed over MCP | Delete in the web app |

Using Cursor instead? See [Connect Cursor](/docs/mcp/cursor). Other agents: [Other MCP clients](/docs/mcp/other-clients).
