# Kaiku Engineering MCP Server

This is the setup guide for the Kaiku Engineering MCP Server. The server provides instructions and rules to guide your AI coding agent. Copy this content into your AI agent chat for assisted setup.

Server URL: `https://engineering.kaikucrew.com/mcp`

## Access

This server requires a Kaiku account with an active account. Sign up and manage your account at https://app.kaikucrew.com

## Kaiku Plugin

Kaiku has a plugin that provides the skills, commands and integrations to the Kaiku Engineering System. The Kaiku Engineering System allows development teams to share, manage and synchronise knowledge.

For details, view the README.md at https://github.com/kaikucrew/kaiku-engineering-system-plugin

## Example MCP Configuration

Copy the following content to your `mcp.json` file in your agent configuration:

```json
{
  "mcpServers": {
    "kaiku-engineering": {
      "type": "http",
      "url": "https://engineering.kaikucrew.com/mcp"
    }
  }
}
```

## Authentication

This server requires authentication. When connecting for the first time:

1. Run `/mcp` or your agent's MCP connection command
2. Select `kaiku-engineering` and start authentication
3. Complete the sign-in flow.

**Tip:** If you authenticated before setting up your account, you may need to re-authenticate to get a new token.

You are now connected to the Kaiku Engineering MCP!

## Available Tools

- **`search-kaiku-skills`**: Discover Kaiku engineering skills (templates, instructions, or prompts) that relate to the place you are working. The tool returns a manifest of skill IDs and short descriptions.
- **`get-kaiku-skill`**: Retrieve the full content for a specific Kaiku skill after discovering it with `search-kaiku-skills`.
- **`search-kaiku-agents`**: Find Kaiku agents that already encode roles, behavior patterns, and mission statements so you can see what agent is best suited for a task.
- **`get-kaiku-agent`**: Fetch the detailed definition and instructions for one of the agents you found with `search-kaiku-agents`.
## Agent Rules Setup

Add the following to your agent's rules file so it's always included in context. Check which is the main AGENT file used, for example:

- **Claude Code:** `AGENTS.md` or `CLAUDE.md` in project root
- **Codex:** `AGENTS.md` in project root
- **Cursor:** `.cursor/rules/kaiku.mdc` (set `alwaysApply: true`)
- **GitHub Copilot:** `.github/copilot-instructions.md`
- **Other agents:** Check your agent's documentation for the rules file and ensure it's always applied

After identifying the agent rules file, add the following content:

```
## Shared Knowledge

This project uses Kaiku's shared knowledge base via the `kaiku-engineering` MCP server.

Before starting work:
- Use `search-kaiku-skills` to see what's available
- Fetch relevant skills for the task using `get-kaiku-skill`
- When you already know the agent you need, use `search-kaiku-agents` followed by `get-kaiku-agent` so your setup always references the latest instructions

The Kaiku skill tools from the Kaiku MCP server provide up-to-date information, architectural patterns, contexts and experience for coding agents.

This will greatly improve the quality of the output, make well-informed technical choices and assist in delivering well-formed output.
```

Your agent should automatically identify when to use these assets based on the task. You can also explicitly instruct your agent to use a specific skill by name.

## Asset Packages Configuration

The server loads engineering assets from one or more GitHub release packages. The list of packages is defined in `servers/mcp-engineering/asset-packages.json`:

```json
[
  {
    "name": "kaiku-engineering-knowledge",
    "repo": "kaikucrew/kaiku-engineering-knowledge",
    "releaseTag": "latest"
  }
]
```

Each entry has three fields:
- **`name`** — used as the subdirectory under `assets/` (e.g. `assets/kaiku-engineering-knowledge/`)
- **`repo`** — the GitHub repository (`owner/repo`) to download the release from
- **`releaseTag`** — the release tag to download, or `"latest"` for the most recent release

### Adding a second package

To add another asset package, append an entry to `asset-packages.json`:

```json
[
  {
    "name": "kaiku-engineering-knowledge",
    "repo": "kaikucrew/kaiku-engineering-knowledge",
    "releaseTag": "latest"
  },
  {
    "name": "my-custom-knowledge",
    "repo": "my-org/my-knowledge-repo",
    "releaseTag": "latest"
  }
]
```

Then run `bun run fetch-assets` to download the new package into `assets/my-custom-knowledge/`.

### Per-package release tag overrides

Each package's release tag can be pinned via an environment variable named after the package. Hyphens in the package name are converted to underscores and uppercased, with `_RELEASE_TAG` appended:

| Package name | Env var |
|---|---|
| `kaiku-engineering-knowledge` | `KAIKU_ENGINEERING_KNOWLEDGE_RELEASE_TAG` |
| `my-custom-knowledge` | `MY_CUSTOM_KNOWLEDGE_RELEASE_TAG` |

Example:

```bash
KAIKU_ENGINEERING_KNOWLEDGE_RELEASE_TAG=v1.5.0 bun run fetch-assets
```

> **Deprecated:** The old `ASSETS_RELEASE_TAG` env var is no longer supported. Use the per-package env var pattern above instead. A deprecation warning is logged if `ASSETS_RELEASE_TAG` is still set.
