Use Comma with Goose
Goose calls MCP servers "extensions". Comma is a remote one: a URL, an Authorization header, and every goose run — scheduled or not — can publish its summary as a page and return the link.
Add Comma to Goose
Run goose configure for the guided flow, use Extensions → Add custom extension in Goose Desktop, or edit ~/.config/goose/config.yaml directly.
extensions:
comma:
name: comma
type: streamable_http
uri: https://commareports.com/api/mcp
headers:
Authorization: "Bearer comma_sk_…"
enabled: true
timeout: 300
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.
Guided: goose configure → Add Extension → Remote Extension (Streamable HTTP) → name comma, URI https://commareports.com/api/mcp → answer Yes to custom headers → header Authorization, value Bearer comma_sk_….
Goose gotchas
- It's
uri, noturl. Goose's extension schema usesurifor remote endpoints. streamable_httpwith an underscore — the type names differ from every JSON-config client.- If a hand-edited
headers:block doesn't take, re-add the extension throughgoose configure, which writes the header in the form your Goose version expects.
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 |
Goose picks the tool from the request — there are no Goose-specific commands to learn.
A workflow that sticks
- Ask goose to write up the work as a self-contained HTML report and publish it to Comma. It calls
create_reportand returns a link. - 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.
- Next session, ask goose to address the comments. It reads the threads with
list_comments, ships a revision withupdate_report(same URL), replies, and resolves them.
Reports belong to your workspace, not to the agent. A report published from Goose can be revised tomorrow from Claude Code or Cursor, and the link people bookmarked keeps working.
Token shape
- Lives in
~/.config/goose/config.yaml, a user-level 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 → and Scoped tokens for AI agents →.
Try it
Add the entry, generate a token, restart Goose, and ask for a report on something you worked on today. Then leave a comment on it and ask the agent what it sees.