Squeeze every drop out of your GitHub Copilot premium requests.
π§ 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:
Tools (1)
request_reviewBlocks the agent to wait for user feedback via a local web UI, returning feedback as a tool call result.Configuration
{"github.copilot.chat.mcp.servers": {"copilot-leecher": {"command": "node", "args": ["/absolute/path/to/copilot-leecher/dist/index.js"]}}}