# Use Comma with Kiro — publish specs and reviews as HTML reports

Canonical: https://commareports.com/mcp/kiro
Published: 2026-09-16

> Add Comma to Kiro's mcp.json with a url and Authorization header, user-level or per workspace. Kiro's agent can publish spec reviews and design docs people comment on.

# Use Comma with Kiro

Kiro is spec-driven: requirements, design, tasks. Those documents are the part a teammate or stakeholder should sign off on — and a page with anchored comments is a better venue than a diff of a markdown file. Kiro reads remote MCP servers with headers from a plain JSON file.

## Add Comma to Kiro

User-level: `~/.kiro/settings/mcp.json`. Workspace: `.kiro/settings/mcp.json`. Kiro merges both, and the workspace entry wins on a name clash.

```json
{
  "mcpServers": {
    "comma": {
      "url": "https://commareports.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${COMMA_API_TOKEN}"
      },
      "disabled": false
    }
  }
}
```

Replace `comma_sk_…` with a token from **Settings → API tokens → New token** on Comma (or export it as `COMMA_API_TOKEN` where the snippet reads an env var). The default scopes — `reports:write`, `comments:read`, `comments:write` — cover publishing and review.

## Kiro gotchas

- **No `type` field** — a `url` entry is enough for Kiro to treat it as remote.
- **`${COMMA_API_TOKEN}` only expands if approved.** Add the variable under Kiro's *Mcp Approved Env Vars* setting, or paste the literal `Bearer comma_sk_…` into the user-level file instead.
- Put a steering file in `.kiro/steering/` telling the agent to publish finished specs to Comma and record the report id, so revisions land on the same URL.

## What the agent can do

| Capability                | Tools                                                                    |
| ------------------------- | ------------------------------------------------------------------------ |
| Publish a report          | `create_report`, `update_report`, `create_report_from_url`               |
| Find existing reports     | `list_reports`, `search_reports`, `get_report`, `read_report`            |
| Leave / reply to comments | `add_comment`, `reply_to_comment`, `set_comment_status`, `list_comments` |
| Ask for review, share     | `request_review`, `set_report_sharing`, `get_report_signoffs`            |
| Manage assets             | `upload_report_asset`, `list_report_assets`, `delete_report_asset`       |

Kiro picks the tool from the request — there are no Kiro-specific commands to learn.

## A workflow that sticks

1. Ask Kiro to write up the work as a self-contained HTML report and publish it to Comma. It calls `create_report` and returns a link.
2. Send the link. Reviewers open a rendered page and leave comments anchored to the exact line, cell or chart they mean — no account needed to read a public link.
3. Next session, ask Kiro to address the comments. It reads the threads with `list_comments`, ships a revision with `update_report` (same URL), replies, and resolves them.

Reports belong to your workspace, not to the agent. A report published from Kiro can be revised tomorrow from Claude Code or Cursor, and the link people bookmarked keeps working.

## Token shape

- Referenced as an approved env var, or pasted into the user-level `~/.kiro/settings/mcp.json` — keep it out of the workspace file.
- Scoped — you choose which actions it can take when you create it.
- Revocable in one click from **Settings → API tokens**; revocation applies immediately to the REST API, the MCP server and any routines the token created.
- Rate-limited per token.

Details in [API tokens →](/docs/api-tokens) and [Scoped tokens for AI agents →](/agents/scoped-tokens-for-ai-agents).

## Try it

Add the entry, generate a token, restart Kiro, and ask for a report on something you worked on today. Then leave a comment on it and ask the agent what it sees.

**[Generate a token →](https://commareports.com/settings/tokens)**

### Related

- [Comma MCP server overview](/mcp)
- [Share what Kiro produced](/agents/share-kiro-output)
- [Use Comma with Claude Code](/mcp/claude-code)
- [Use Comma with Cursor](/mcp/cursor)
- [Where should my AI agent post its work?](/agents/where-should-my-agent-post)
