Prepare the server locally
Run this once before adding it to Claude Code.
git clone https://github.com/xiangxiaobo/Copilot-Leecher.git
cd Copilot-Leecher
npm install
npm run buildAdd it to Claude Code
Paste the maintainer's config below, then edit any placeholder values.
{
"github.copilot.chat.mcp.servers": {
"copilot-leecher": {
"command": "node",
"args": [
"/absolute/path/to/copilot-leecher/dist/index.js"
]
}
}
}See the Copilot-Leecher README for full setup instructions.
Make your agent remember this setup
copilot-leecher's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Enables iterative refinement of AI outputs within a single premium request session
- Provides a local web dashboard at localhost:3456 for reviewing AI work
- Returns user feedback as free tool call results instead of new user prompts
- Supports session persistence via the filesystem for multiple VS Code instances
Tools 1
request_reviewBlocks the agent to wait for user feedback via a local web UI, returning feedback as a tool call result.Try it
Original README from xiangxiaobo/Copilot-Leecher
🧛 Copilot Leecher
English | 中文
Squeeze every drop out of your GitHub Copilot premium requests — turn follow-up prompts into free MCP tool calls.
Why This Exists
GitHub Copilot charges by premium requests (300/month on Pro; each Claude Opus 4.6 call costs 3 requests), not by tokens. Through experimentation, we discovered:
| Action | Costs a Premium Request? |
|---|---|
| New user prompt | ✅ Yes |
| Follow-up in the same session | ✅ Yes |
| Tool call / MCP call | ❌ No |
So the most cost-effective way to use Copilot is: pack as much work as possible into a single premium request.
The problem? Humans rarely express everything perfectly in one shot. Follow-up questions ("wait, also do X…") are inevitable — and each one burns another request.
Copilot Leecher solves this by providing a request_review MCP tool. When the agent finishes a task, it calls this tool and blocks — waiting for your feedback via a local web UI. Your feedback is returned as a tool call result (free!), not a new user prompt. The agent then acts on your feedback within the same request.
One prompt → review → refine → review → approve. All for the price of a single premium request.
How It Works
You (1 prompt) Copilot Agent
│ │
├─── "Implement feature X" ────────► (works on it…)
│ │
│ request_review() │ ← MCP tool call (FREE)
│ │
│ ┌──────────────────────────────┤
│ │ Web UI (localhost:3456) │
│ │ "Also handle edge case Y" │ ← your feedback
│ └──────────────────────────────┤
│ │
│ (improves work…) │
│ │
│ request_review() │ ← still FREE
│ ┌──────────────────────────────┤
│ │ "ok" │ ← approved
│ └──────────────────────────────┤
│ │
│ ✅ Done ◄──────────────┤
│ │
Total premium requests used: 1
Quick Start
1. Install & Build
git clone https://github.com/user/copilot-leecher.git
cd copilot-leecher
npm install
npm run build
2. Configure VS Code
Add to your VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"copilot-leecher": {
"command": "node",
"args": ["/absolute/path/to/copilot-leecher/dist/index.js"]
}
}
}
Replace the path with your actual absolute path.
3. Restart VS Code & Open Dashboard
Restart VS Code. The MCP server auto-starts an HTTP dashboard at http://127.0.0.1:3456.
4. Use It
In your Copilot Chat prompt or Agent Contract, instruct the agent:
After completing your work, call the request_review tool with a taskId and summary.
Wait for feedback. If approved, finish. Otherwise, improve and request review again.
Then open http://127.0.0.1:3456 to review and provide feedback.
Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ VS Code #1 │ │ VS Code #2 │ │ Browser │
│ Copilot Agent │ │ Copilot Agent │ │ 127.0.0.1:3456 │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ MCP │ MCP │ HTTP
┌────▼────┐ ┌────▼────┐ │
│MCP+HTTP │ │MCP only │ │
│Server #1│ │Server #2│ │
│(:3456) │ │(skipped)│ │
└────┬────┘ └────┬────┘ │
└────────┬────────────┘ │
▼ │
┌──────────────────────────────────┐ │
│ /tmp/copilot-reviewer-sessions/ │◄─────────────┘
│ (file-system persistence) │
└──────────────────────────────────┘
- The first MCP process binds port 3456 for the web dashboard.
- Subsequent instances skip the HTTP server but share session data via the filesystem.
MCP Tool: `request_review`
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId |
string | ✅ | Unique task identifier (e.g. task-20260217-001) |
summary |
string | ✅ | Brief summary of work done (2-3 sentences) |
Returns: { status, feedback, sessionId, reviewerUrl }
status:"approved"or"needs_revision"feedback: The reviewer's text
HTTP API
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/sessions |
List all sessions |
| GET | /api/sessions/pending |
List pending sessions |
| GET | /api/sessions/:id |
Get session details |
| POST | /api/sessions/:id/feedback |
Submit feedback { "feedback": "..." } |
| GET | /api/health |
Health check |
Agent Contract Template
Add this to your prompt / system instructions: