Skip to content

feat(kiro): add Kiro MCP auto-discovery and skill install docs - #67

Open
ludwigehlert-gif wants to merge 1 commit into
agent/agent-plugins-standardfrom
feat/kiro-support
Open

ludwigehlert-gif wants to merge 1 commit into
agent/agent-plugins-standardfrom
feat/kiro-support

Conversation

@ludwigehlert-gif

@ludwigehlert-gif ludwigehlert-gif commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

What

Adds the Kiro-specific layer on top of the portable Agent Plugins package. Kiro's IDE installs that package as a power, so this PR is documentation plus two manifest fields — no MCP or skill content changes.

  • README — new ### Kiro install section: how to install the power, where Kiro puts it, how credentials have to be supplied, and that Kiro CLI is not covered.
  • plugin.json — add displayName so the Powers panel shows a real name; narrow keywords to dataiku and cobuild.
  • tests/test_agent_plugins.py — allow displayName in the manifest contract.

Stacked on #91 (agent/agent-plugins-standard), which ships the portable package itself. Review/merge that first.

How Kiro installs it

PowersAdd Custom PowerImport power from GitHub (or from a local clone). Kiro copies the package to ~/.kiro/powers/dataiku-headless/, registers the MCP server internally, and loads the skills. There is no .kiro/settings/mcp.json in this PR — the power carries the server registration, so a separate workspace MCP config would be a second, competing install path.

Kiro CLI cannot install a power, so it is explicitly out of scope here rather than half-documented.

Credentials: shell exports do not work

Kiro forwards only HOME, PATH, SHELL, TERM, USER, and LOGNAME to an MCP subprocess and drops everything else not named in the config's env block. Exporting DKU_DSS_URL / DKU_API_KEY in your shell therefore never reaches the server.

The path that works is the normal setup flow, which writes ~/.dataiku/config.json; the server resolves that on its own. The README says so directly, because the failure mode otherwise is a silent "no instance configured" with a correct-looking environment.

Why keywords shrank

Kiro activates a power on keyword match. mcp and agent are broad enough to trigger this power on unrelated work, so the list is now just dataiku and cobuild.

Verify

  • MCP Servers panel lists dataiku as connected.
  • get_current_instance returns the instance you configured.

Verified in Kiro IDE

Power imported from GitHub; the Powers panel lists it under INSTALLED:

Kiro Powers panel showing Dataiku Headless installed

Kiro notification: Power "dataiku-headless" installed successfully

This is what displayName buys: the panel renders Dataiku Headless, while the
install notification still uses the manifest name (dataiku-headless). Without
the field, the panel shows the slug.

Testing note: Kiro parses an import URL as /tree/<branch>/<subdir>, so a
branch name containing a slash is mis-split (feat/kiro-support → branch feat,
subdir kiro-support). The import then reports success, adds a registry entry
named after the URL tail, and installs nothing. Test from a slash-free branch.
Importing from main is unaffected.

Test plan

  • uv run pytest tests/test_agent_plugins.py — manifest contract accepts displayName
  • Power imported in Kiro IDE; appears in the Powers panel as Dataiku Headless
  • Confirmed the MCP subprocess environment is limited to the six variables above

🤖 Generated with Claude Code

@ludwigehlert-gif
ludwigehlert-gif marked this pull request as ready for review July 27, 2026 19:58
@ludwigehlert-gif
ludwigehlert-gif force-pushed the feat/kiro-support branch 2 times, most recently from cebc274 to d11d0e6 Compare September 15, 2026 06:42
Stacked on #91, which ships the portable Agent Plugins package. Kiro's IDE
installs that package as a power, so this adds only what is Kiro-specific.

- README: how to install the power, where Kiro puts it, and that Kiro CLI
  cannot install one. Record that Kiro passes only HOME, PATH, SHELL, TERM,
  USER and LOGNAME to an MCP subprocess, so shell exports of DKU_DSS_URL /
  DKU_API_KEY never reach the server and ~/.dataiku/config.json is the path
  that works.
- plugin.json: add displayName so the Powers panel shows a real name, and
  narrow keywords to dataiku and cobuild — Kiro activates a power on keyword
  match, and mcp/agent are broad enough to trigger it on unrelated work.
- Allow displayName in the manifest contract test; Kiro's loader accepts it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant