# Use Comma with Junie — remote MCP with headers in .junie/mcp

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

> Add Comma to JetBrains Junie with a url and Authorization header in ~/.junie/mcp/mcp.json. Junie can publish task reports as HTML pages your team comments on.

# Use Comma with Junie

Junie finishes a task with a summary of what it changed and why. For anything bigger than a small fix, that summary deserves a reviewer. Junie reads remote MCP servers with headers, so Comma is one small JSON file.

## Add Comma to Junie

User: `~/.junie/mcp/mcp.json`. Project: `.junie/mcp/mcp.json`. In the Junie CLI, `/mcp` opens the configuration screen.

```json
{
  "mcpServers": {
    "comma": {
      "url": "https://commareports.com/api/mcp",
      "headers": {
        "Authorization": "Bearer comma_sk_…"
      }
    }
  }
}
```

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.

## Junie gotchas

- **Keep the token in the user-level file.** `.junie/` in a project is often committed along with `.junie/guidelines.md`.
- Add the publish rule to `.junie/guidelines.md` — Junie reads it every task.
- Using AI Assistant chat rather than Junie? That needs the `mcp-remote` bridge — see the JetBrains AI Assistant guide.

## 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`       |

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

## A workflow that sticks

1. Ask Junie 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 Junie 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 Junie can be revised tomorrow from Claude Code or Cursor, and the link people bookmarked keeps working.

## Token shape

- Lives in `~/.junie/mcp/mcp.json`, outside any repository.
- 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 Junie, 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 Junie produced](/agents/share-junie-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)
