← Registry

General Tools

kaiku.tech

Provides general-purpose tools through the Model Context Protocol.

2 endpoints74 known toolsFirst detected September 23, 2026Last detected September 23, 2026

ENDPOINT 1

https://mcp.kaiku.tech/mcp

No auth detected

MCP server metadata

Name
kaiku
Version
1.1.0
Capabilities
tools
Server instructions

A task tracker with a wiki attached. Everything you can see and change is what the authenticating token may reach — a project-scoped token sees exactly one project, and every write re-checks the caller's role there. Text is stored as written and rendered later, so it carries more than prose. In any description, comment or page body: - **Markdown** — headings, lists, tables, links, fenced code. Issue text also accepts Jira wiki markup (`h1.`, `*bold*`, `{code}`), since the tracker speaks the Jira API; either is fine, but don't mix the two in one field. - **Formulas** — `$…$` in a sentence, `$$…$$` on lines of its own for a displayed one, TeX inside, rendered with KaTeX. The rules are Pandoc's, so money survives: the opening `$` isn't followed by a space, the closing one isn't preceded by a space or followed by a digit, and `\$` is always a dollar sign. Mentions notify the person named, and how you write one differs by surface: - In an issue description or comment: `[~username]`. - In a wiki page or wiki comment: `[@Display Name](user:username)`. Either way the **username** is the handle — never the display name, never the email. Take it from `list_users` rather than assembling it out of somebody's name. (`assignee` is more forgiving: username or email.) A write that could mention anybody answers with **who it reached**: - `notified` — the people this write actually notifies, right now. - `unresolvedMentions` — what looked like a mention and reached nobody, each with a `reason`: `unknown` (no such handle), `inactive` (the account is blocked), `no_access` (a real person who cannot see this project), `self` (you named yourself, which notifies no one) — and sometimes a `didYouMean`. Read them. Nothing is refused over a mention and nothing is rewritten, so a wrong handle is stored exactly as written and the response is the **only** sign that the person you addressed was never called. `[~foo]` inside a code block or `{{monospace}}` is text, not a summons, and appears in neither list. A project may keep **columns of its own** beyond the Jira fields — `Segment`, `Country`, `Provider` — and an issue there is half-read without them. Ask `list_project_fields` before writing in an unfamiliar project; fill them in with `set_issue_fields`, by their names. This is not guessable from an issue: a column nobody has answered yet simply isn't in the payload. A project may have **rules**: when an issue enters a state, a checklist is appended to its description, whichever client made the move. So a checklist appearing after your `update_issue` is the project's doing — `list_project_rules` says which, and `get_project_rule_runs` says why one did not. Leave the `[//]: # (pm-rule:N)` line in a description alone: it is what keeps the checklist from being added twice. A project may also be cut into **tracks** — a play, a campaign, a rollout. A track is a declared LABEL, so work joins one by carrying that label and leaves by dropping it; it has no key of its own, and its issues keep the project's key. That is what separates it from a subproject, which is a separate project with its own key, board and wiki. Read them with `list_tracks`, declare one with `set_track`. Two things follow that an assistant gets wrong otherwise: putting an issue in a track is `update_issue` with the label, not a field; and `remove_track` undeclares the track without touching a single issue, so it can never lose work. A track that is merely finished — a play that has been staged — is archived instead (`set_track` with `archived=true`): it leaves the row above the board, keeps its name, icon and place, and its issues stay in it rather than becoming «outside every track». Wiki pages are Markdown, plus two things of their own: - **Real references**, not URLs that happen to work here: `![alt](attachment:diagram.png)`, `[text](page:Release Notes)`, `[text](page:OTHER/Title)`, `[text](attachment:spec.pdf)`. A `page:` link is by title and follows the page through a rename. - **A dark version of an image**: attach it under the same name with `-dark` before the extension (`diagram.svg` + `diagram-dark.svg`) and the page shows whichever suits the reader's theme. The body still references the plain name — there is no second syntax. So draw a diagram both ways: one drawn on white is a glare on a dark page, and neither a CSS filter nor a `prefers-color-scheme` rule inside the SVG fixes it (the filter turns a green "works" box purple, and the rule follows the OS rather than the reader's own theme switch). - **Text on a diagram is searchable**, but only if it is really text: the words inside an attached SVG are read on upload, so `search_wiki` finds the page by a label on its picture and a reader's find-in-page reaches those labels too. Write them as `<text>` elements. A generator that converts labels to outlines, or a diagram exported to PNG, produces a picture nobody can search — the same drawing, minus the words. - **Macros**, on a line of their own, `{name}` or `{name:key=value, …}`: `{toc}`, `{children}`, `{pagetree}`, `{recently-updated}`, `{contentbylabel}`, `{excerpt-include}`, and `{progress:PM-123}` — how much of that epic is done, counted when the page is read. Some wrap content, closed by the same token that opened them — `{info}` … `{info}` (also `{note}`, `{warning}`, `{tip}`, `{panel}`), `{expand:title=Details}` … `{expand}`, `{excerpt}` … `{excerpt}`. Two are inline as well: `{status:colour=green, title=Shipped}` and `{jira:key=PM-1}`. Separate parameters with commas, or with `|` when a value contains commas of its own (`{jira:jql=…|columns=key,summary}`). To change a page, work on its **Markdown source**, never on the plain text `get_wiki_page` gives by default: writing that back would flatten every formula, macro and reference on the page. And change only what you mean to change: - **Read a part.** `get_wiki_page(outline: true)` lists the headings with each section's anchor, lines and size; `section: "<anchor or heading>"` returns that section's Markdown, and `offset`/`limit` a run of lines on a page without headings. `withMarkdown: true` is the whole source — fine for a short page, too much for a long one. - **Edit in place.** `update_wiki_page(edits: [{oldText, newText}])` replaces exact text in the source — copy `oldText` from what you read, enough of it to occur exactly once — and `replaceSection` swaps one section whole. Pass the `version` you read as `expectedVersion`. Every edit is matched against the page as you read it; if one does not fit, nothing is written and the answer says which and why. The answer shows where each edit landed, not the page. - Replace the whole body (`markdown`) only when you mean to rewrite it. **Files on the person's own computer** cannot reach this server except as base64 typed through the conversation — fine for a line of CSV, wasteful for a screenshot, refused past a ceiling. A small local companion server, **pm-files**, attaches files by path and saves attachments to disk. If you need one and pm-files is not among your tools, call `local_files_setup` and give the person its command, rather than writing a one-off upload script. Never ask for their token: the command takes it from their clipboard.

Known tools 74

add_attachment

Attach a file to an issue: pass its bytes as 'contentBase64', or its content as 'text' when the file is text.

Inferred read-only
add_comment

Add a comment to an issue, or reply to one of its comments ('replyTo' is a comment id from get_comments).

Inferred read-only
add_wiki_attachment

Attach a file to a wiki page, identified by 'pageId' or by 'spaceKey' + 'title': pass its bytes as 'contentBase64', or its content as 'text' when the file is text.

Inferred read-only
add_wiki_comment

Comment on a wiki page, or reply to one of its comments ('replyTo' is a comment id from get_wiki_page).

Inferred read-only
admin_bank_transfer

Administrators only: where a bank transfer is to be sent (PM-625) — beneficiary, account and its own currency, bank and SWIFT, the intermediary bank if there is one, the purpose line, how many days a wire is given, and who last changed all of it.

Potential side effects
admin_errors_week

Administrators only: the error collector's week — events and distinct errors per project against the week before, errors first seen that week with their release, the loudest by events and by people, and errors that came back after being resolved.

Inferred read-only
admin_funnel

Administrators only: the installation as a business over a period — registrations, how many of them became working companies, purchases and conversion by cohort, churn, and money.

Inferred read-only
admin_invoices

Administrators only: what companies were asked to pay and what answered it — each invoice with its amount, its coin, whether it is paid and what is short, and the payments against it.

Potential side effects
admin_landing_week

Administrators only: the landing site's week — visits, where they came from, clicks on sign-up, and the registrations that followed.

Inferred read-only
admin_load

Administrators only: how loaded this machine is and what the language models cost.

Inferred read-only
admin_overview

Administrators only: the whole installation by the numbers — accounts, workspaces, projects, issues, comments and sprints, plus issues broken down by status and by project.

Inferred read-only
admin_set_bank_transfer

Administrators only, and this one CHANGES things: state where bank transfers are to be sent.

Inferred read-only
admin_workspace_journal

Administrators only: what was done to one company and by whom — created, plan changed, period extended by hand, credited, suspended, resumed, erased — newest first, up to a hundred entries, each with the reason that was written down at the time.

Inferred read-only
admin_workspaces

Administrators only: every company on the installation — its plan, what state it is in (trial, active, over-limit, suspended…), when what it paid for runs out, how many days are left, what it is using against what it may use, and its balance.

Inferred read-only
answer_issue_question

Answer a question that was put to you on an issue, by choosing one of its options.

Inferred read-only
ask_issue_question

Ask one person a question with pre-written answer options, in an issue's thread — the way to get a decision that does not get lost in the comment stream.

Inferred read-only
create_issue

Create an issue in a project visible to this token.

Potential side effects
create_project

Administrators only: create a project — a new key, a starter board, and its own wiki space, led by you unless you name someone else.

Potential side effects
create_project_rule

Add a rule to a project: when an issue enters 'status', append 'template' to its description.

Inferred read-only
create_wiki_page

Create a wiki page from Markdown in a space you can write to.

Potential side effects
decide_support_letter

Decide what a held or failed letter to the support address is.

Inferred read-only
delete_agent_usage

Remove one agent-usage record from an issue, by the id that get_agent_usage returns.

Potential side effects
delete_attachment

Remove a file from an issue, by 'filename' or by attachment 'id' — both come back from get_issue.

Potential side effects
delete_project_field

Remove a column from a project.

Potential side effects
delete_project_rule

Remove a project rule, by its id from list_project_rules.

Potential side effects
delete_wiki_attachment

Remove a file from a wiki page, by its 'filename' as listed by get_wiki_page.

Potential side effects
delete_wiki_page

Delete a wiki page.

Potential side effects
get_agent_usage

What background-agent runs have cost an issue (local or mirrored/upstream): one record per run (tokens by kind, machine time, agent/model/host) plus the totals.

Inferred read-only
get_attachment

Read one file attached to an issue — its bytes, base64-encoded — by the issue key and the 'filename' as get_issue lists it.

Inferred read-only
get_change

The files one merge request, pull request or commit touches, with their diffs.

Inferred read-only
get_comments

Read the discussion on an issue, oldest first.

Inferred read-only
get_issue

Get one issue by key (e.

Inferred read-only
get_project_rule_runs

A project rule's journal, newest first: each time an issue entered the rule's state and matched its conditions — which issue, who moved it, and the outcome: 'applied' (checklist added), 'alreadyThere' (its marker line was already in the description, nothing added) or 'tooLong' (the description would have been too long, nothing added); for a duty, 'handed' (the issue went to its agent), 'busy' (an agent already had it), 'tooMany' (the duty's fifty a day were used up) or 'refused' with a 'reason' (agent_off, agent_budget, …), and 'ownerLost' when the duty was switched off because its owner lost the project.

Inferred read-only
get_support_letter

Read one letter to the support address whole — the quoted thread and the signature that the request's comment leaves out, the HTML part as text, and the headers.

Inferred read-only
get_support_request

Read who is behind a support request: the requester's name and email, whether they asked signed in (and from which workspace), their client version, what the product knew when they asked from inside it ('context': the screen, the client, the last refusal the server gave them with its request id), and which comments of the issue the requester can see ('messages', by comment id and direction; 'autoRule' names the rule when the desk's automatic answer wrote it rather than a person, 'autoWording' says whether the model worded it or the template went).

Potential side effects
get_wiki_attachment

Read one file attached to a wiki page — its bytes, base64-encoded — identifying the page by 'pageId' or by 'spaceKey' + 'title' and the file by 'filename' as get_wiki_page lists it.

Inferred read-only
get_wiki_page

Get one wiki page by id, or by space key + title, if it is visible to this token.

Inferred read-only
link_issues

Link two issues: link_issues('PM-419', 'PM-417', 'is blocked by') records that PM-419 is blocked by PM-417.

Inferred read-only
link_wiki_page

Link a wiki page to an issue.

Inferred read-only
list_code

List a directory of a repository connected to a project.

Inferred read-only
list_credentials

List the credentials attached to an issue or a wiki page that this token may read — names and who attached them, never the values.

Inferred read-only
list_issue_questions

Questions with answer options, in either direction: what is waiting on YOU to answer (role='to_me'), what YOU asked and are waiting on somebody for (role='asked'), or everything on one issue.

Inferred read-only
list_mcp_connections

List the external MCP connections configured for a project.

Inferred read-only
list_project_fields

The columns a project keeps about its issues: name, kind, and a list's options with their colours.

Inferred read-only
list_project_rules

A project's rules: when an issue enters a state, a checklist from a template is appended to its description.

Inferred read-only
list_projects

List the projects visible to this token (a project-scoped token sees only its project).

Inferred read-only
list_support_letters

List letters to the support address that did not become part of a request: 'held' (looked like spam, or too many at once from one address or on one request), 'failed' (we could not file them), 'ignored' (an autoresponder, a bounce, a mailing list, our own letter), 'dismissed'.

Inferred read-only
list_support_queue

The support desk's queue: open requests, the most urgent first — overdue, then due soonest, then those waiting on their requester.

Inferred read-only
list_tracks

The tracks a project is cut into: a track is a LABEL the project declared meaningful — a play, a campaign, a rollout — and work joins one by carrying that label.

Inferred read-only
list_users

List the people you can assign work to or mention: the members of the projects this token can see.

Inferred read-only
list_wiki_spaces

List the wiki spaces visible to this token.

Inferred read-only
local_files_setup

How the person connects pm-files — a small local MCP server that attaches files from their own computer to issues and wiki pages by path, and saves attachments back to files, so no bytes pass through the conversation.

Inferred read-only
move_issue

Move an issue into another project, taking its comments, history, attachments, links and sub-tasks with it.

Inferred read-only
read_code

Read one file from a repository connected to a project.

Inferred read-only
remove_track

Undeclare a track.

Inferred read-only
reply_to_requester

Write to the person who opened a support request.

Potential side effects
report_agent_usage

Record what one agent run cost an issue (local or mirrored/upstream): tokens by kind and machine time.

Inferred read-only
reveal_credential

Read one credential's value, by the id from list_credentials.

Inferred read-only
search_code

Find where a string appears in the code of the repositories connected to a project, with the file, the line number and the lines around it.

Inferred read-only
search_issues

Search the issues visible to this token, with a JQL query — the same JQL the Jira REST surface takes, read by the same parser.

Inferred read-only
search_wiki

Search wiki pages visible to this token by free text (matched in the title, the body, and the labels written on an attached SVG diagram).

Inferred read-only
set_issue_fields

Fill in a project's own columns on one issue, by their NAMES: 'Segment=AI; Country=Poland; Started=2026-08-01', or a JSON object.

Inferred read-only
set_project_field

Add a column to a project, or edit the one that already has this name.

Potential side effects
set_project_parent

Make an existing project a subproject of another, or take it back out with an empty parentKey.

Inferred read-only
set_track

Declare a track on a project, or edit the one that already has this tag.

Potential side effects
unlink_issues

Remove a link between two issues: name both ends (and, when more than one link joins them, the phrase — 'blocks', 'relates to'), or give the 'linkId' get_issue returned.

Potential side effects
unlink_wiki_page

Remove the link between an issue and a wiki page.

Potential side effects
update_comment

Edit a comment on an issue: pass 'body' to replace the whole of it, or 'edits' to change part of it — exact find-and-replace against the comment as get_comments hands it back, each 'oldText' occurring exactly once.

Potential side effects
update_issue

Update an issue: any of summary, description, type, assignee, priority, labels, dueDate, parentKey, or status (which performs the transition, and fires the project's rules — a rule may append a checklist to the description, in which case 'description' is listed in 'changed').

Potential side effects
update_project_rule

Change a project rule, by its id from list_project_rules.

Inferred read-only
update_wiki_comment

Edit a comment on a wiki page — your own, or anyone's with full write access in that project.

Potential side effects
update_wiki_page

Edit a wiki page: retitle it, change its body, move it under another parent (or to the top of its space), or set its labels.

Potential side effects
upsert_mcp_connection

Admin only: create or update a project's external MCP connection.

Potential side effects
withdraw_issue_question

Take back a question you asked, when it no longer needs answering — you worked it out, or the task moved on.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.kaiku]
url = "https://mcp.kaiku.tech/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "kaiku": {
      "type": "http",
      "url": "https://mcp.kaiku.tech/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: kaiku
Remote MCP URL: https://mcp.kaiku.tech/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "kaiku": {
      "url": "https://mcp.kaiku.tech/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "kaiku": {
      "type": "http",
      "url": "https://mcp.kaiku.tech/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "kaiku",
  "transport": "streamable-http",
  "url": "https://mcp.kaiku.tech/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

ENDPOINT 2

https://app.kaiku.tech/mcp

Auth required

Known tools 0

No tool metadata was available in the registry cache.

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.kaiku-tech]
url = "https://app.kaiku.tech/mcp"
enabled = true
bearer_token_env_var = "MCP_BEARER_TOKEN"

Authentication is required. Replace the placeholder locally and never commit a secret.

Claude Code

.mcp.json

{
  "mcpServers": {
    "kaiku-tech": {
      "type": "http",
      "url": "https://app.kaiku.tech/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_BEARER_TOKEN"
      }
    }
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Claude Desktop

Settings → Connectors → Add custom connector

Name: kaiku-tech
Remote MCP URL: https://app.kaiku.tech/mcp

Add the URL as a custom connector, then complete its supported authorization flow. Claude Desktop remote connectors are configured in the UI.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "kaiku-tech": {
      "url": "https://app.kaiku.tech/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_BEARER_TOKEN"
      }
    }
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Visual Studio Code

.vscode/mcp.json

{
  "servers": {
    "kaiku-tech": {
      "type": "http",
      "url": "https://app.kaiku.tech/mcp",
      "headers": {
        "Authorization": "Bearer ${input:mcp-token}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "mcp-token",
      "description": "kaiku-tech bearer token",
      "password": true
    }
  ]
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Generic MCP

Client-specific MCP configuration

{
  "name": "kaiku-tech",
  "transport": "streamable-http",
  "url": "https://app.kaiku.tech/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_BEARER_TOKEN"
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.