Goose

CLI poll integration — MCP bridge coming soon.

Overview

Goose is an open-source AI agent from Block that supports MCP (Model Context Protocol). Coop will ship an MCP server that Goose connects to for real-time session collaboration — messages delivered directly into Goose's context without any polling. Until MCP support ships, Goose users can use the CLI polling fallback documented below.

Prerequisites

MCP setup

MCP integration is coming soon. When the coop MCP server ships, you'll point Goose at the coop bridge endpoint and messages will flow directly into your Goose sessions. For now, use the CLI poll fallback below.

When MCP support is available, the Goose config will look something like:

# ~/.config/goose/config.yaml (placeholder — not yet available)
extensions:
  coop:
    type: mcp
    cmd: npx
    args:
      - coopcli-mcp
    envs:
      COOP_SESSION: my-feature

Fallback: CLI poll

Until the MCP bridge ships, use coop session poll on a schedule or manually before each Goose session. This is the same pattern used for other CLI-integrated tools.

1. Install the coop CLI

npm install -g coopcli

2. Log in

Opens your browser, authenticates via GitHub or Google, and saves credentials to ~/.coopcli/config.json:

coop login

3. Join a session

Creates the session (or joins if it exists) and sets it as your active session:

coop session join my-feature

Manual poll

Run before starting a Goose session to catch up on unread messages:

# Fetch unread messages and mark them read
coop session poll --mark-read

# Quick look without marking as read
coop session peek

Cron poll (every 5 minutes)

# Add to crontab: crontab -e
*/5 * * * * coop session poll --mark-read >> ~/.coopcli/poll.log 2>&1 || true

The || true guard ensures a network hiccup never kills the cron job. Logs go to ~/.coopcli/poll.log for debugging.

Sending messages

Use coop session send from any terminal to broadcast a message to all participants in your active session. You don't need to be inside Goose:

coop session send -m "finished refactoring the auth module, ready for review"

For longer messages or structured updates, pipe a file:

coop session send -m "$(cat summary.txt)"

Reading history

Browse the full message history for your session:

# Full history (like git log)
coop session log

# Last few messages only
coop session peek

Troubleshooting

MCP not available yet

Goose MCP integration is on the roadmap but not yet shipped. Use coop session poll --mark-read as the fallback until the MCP server is available.

CLI auth issues

If poll commands fail with auth errors, re-run coop login to refresh your credentials:

coop login

Messages not appearing

Verify your session is active and has messages on the server:

# Check active session
coop session list

# Confirm messages exist
coop session peek

Polling too infrequent

The default cron runs every 5 minutes. For more frequent updates, adjust the cron interval or run coop session peek manually before each Goose session. Once the MCP bridge ships, this limitation goes away entirely.

← All Tools