Skip to content

Add hackbot-mcp, a remote MCP server for Hackbot with Google sign-in - #7473

Draft
marco-c wants to merge 1 commit into
mozilla:masterfrom
marco-c:hackbot-mcp
Draft

marco-c wants to merge 1 commit into
mozilla:masterfrom
marco-c:hackbot-mcp

Conversation

@marco-c

@marco-c marco-c commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Lets Mozilla developers start and follow Hackbot runs from MCP clients (Claude Code, Codex), signed in with their own Google account. Like hackbot-ui it is a proxy: it calls hackbot-api with its own credential (the metadata ID token by default) and sends the verified user's email as X-On-Behalf-Of, never one taken from a tool argument.

  • Auth: FastMCP's Google OAuth proxy, with a verifier that only accepts verified accounts whose hd is mozilla.com. OAuth state lives in Postgres on Cloud SQL, encrypted, so every Cloud Run instance shares it.
  • Tools: list_agents, start_run (actions held for review unless auto_apply, needinfo input rejected, inputs validated against the agent's schema), get_run, list_my_runs, get_result (summary actions reported as pending until recorded), get_artifact_url, apply_actions (only the run's requester, only for succeeded runs).
  • hackbot-client gains list_agents, get_run, list_runs, list_actions and get_artifact_url, and its errors carry the status and the API's detail.
  • Released like hackbot-api: VERSION, cloudbuild.yaml, prod workflow.

Lets Mozilla developers start and follow Hackbot runs from MCP clients
(Claude Code, Codex), signed in with their own Google account. Like
hackbot-ui it is a proxy: it calls hackbot-api with its own credential
(the metadata ID token by default) and sends the verified user's email
as X-On-Behalf-Of, never one taken from a tool argument.

- Auth: FastMCP's Google OAuth proxy, with a verifier that only accepts
  verified accounts whose hd is mozilla.com. OAuth state lives in Postgres
  on Cloud SQL, encrypted, so every Cloud Run instance shares it.
- Tools: list_agents, start_run (actions held for review unless
  auto_apply, needinfo input rejected, inputs validated against the
  agent's schema), get_run, list_my_runs, get_result (summary actions
  reported as pending until recorded), get_artifact_url, apply_actions
  (only the run's requester, only for succeeded runs).
- hackbot-client gains list_agents, get_run, list_runs, list_actions and
  get_artifact_url, and its errors carry the status and the API's detail.
- Released like hackbot-api: VERSION, cloudbuild.yaml, prod workflow.

This branch has not been deployed

No deployments
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