ai-explore-review-loop
Enables Claude Code sessions to wait for a durable, exact-head GitHub pull-request review and continue the same review/fix/push loop without polling, using Supabase durable state and Realtime wake-ups via ordinary stdio MCP.
README
AI Explore Review Loop Plugin
An open-source Claude Code plugin that lets a coding-agent session wait for a durable, exact-head pull-request review and continue the same review/fix/push loop without polling GitHub.
The plugin combines:
- PostToolUse, Stop, and SessionStart Hooks;
- an ordinary stdio MCP server;
- Supabase durable reads plus Realtime wake-ups;
- exact PR head-SHA validation;
- idempotent local and server-side review receipts;
- skills for status, pause, resume, stop, and review handling.
It does not require Anthropic MCP Channels and can run in Claude Code setups that use compatible third-party model providers.
What is included
This public repository contains only the installable plugin, its buildable source, tests, and public documentation. It intentionally excludes the private server-side control plane, Pod addresses, GitHub App configuration, Supabase migrations, Hermes deployment scripts, and operational baselines.
The full system requires a compatible backend exposing these authenticated Supabase RPCs:
get_ai_explore_review_state(repo, pr_number, head_sha);ack_ai_explore_review_result(result_id, client_id, session_hash, status, new_head).
The authenticated user must also have RLS SELECT access to the corresponding
github_pr_state row for Realtime wake-ups. Realtime is never treated as final
delivery; the MCP tool always re-reads durable state.
Rush marketplace status
Rush marketplace distribution is not enabled yet. The current Rush Git importer
and installer preserve recognized Skills and .mcp.json, but omit the Hook,
bin/, and dist/ files required by this plugin. A trial entry was removed
after this was verified with a real install.
Do not publish a reduced Skills+MCP package under the same name: it would appear installed while lacking the automatic review-loop and its MCP executable. Rush distribution can be enabled after the platform preserves arbitrary Claude plugin assets and Hooks end to end.
Install from GitHub without a checkout
claude plugin marketplace add kanyun-inc/ai-explore-review-loop-plugin
claude plugin install ai-explore-review-loop@ai-explore --scope user
Configure
The plugin needs a Supabase project URL, public anon/publishable key, and a developer Auth session. Run the login command through the public GitHub package in a real terminal, so no repository checkout is needed and the password does not enter the model transcript:
npm exec --yes \
--package=github:kanyun-inc/ai-explore-review-loop-plugin \
-- ai-explore-review-loop login \
--url 'https://your-project.example.com' \
--anon-key 'YOUR_PUBLIC_ANON_OR_PUBLISHABLE_KEY' \
--email 'developer@example.com'
Passwords are read without echo and are not stored. Runtime state and refresh
tokens live outside the repository in a mode-0600 user configuration file.
Develop
Requires Node.js 22 or newer:
npm ci
npm run build
npm run check
npm run validate:plugin
npm run security:scan
Generated plugin bundles are committed so marketplace installation does not run
npm install on developer machines.
Security properties
- no database URL or Supabase service-role credential;
- no GitHub App private key or worker password;
- developer RLS instead of shared admin credentials;
- exact-head binding before returning or handling a review;
- duplicate Realtime events are harmless;
- Stop Hook fails open on infrastructure/authentication errors rather than trapping the developer;
- GitHub review text is treated as untrusted input and verified against the current diff.
See SECURITY.md for vulnerability reporting.
License
Apache License 2.0. See LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.