Skip to main content
Glama
xiangxiaobo

Copilot Leecher

by xiangxiaobo
README.md
# ๐Ÿง› 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

```bash
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`:

```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:

```markdown
After completing all tasks, you MUST call the `request_review` tool.

- taskId: a unique identifier for the task
- summary: 2-3 sentences describing what you did

Then wait for expert feedback:
- "ok" / "approved" / "lgtm" โ†’ task complete, stop working
- anything else โ†’ improve your work based on the feedback, then call request_review again

NEVER finish without an approved review.
```

<details>
<summary><strong>Full Agent Contract Example (click to expand)</strong></summary>

```markdown
# Agent Contract

## Review Requirements

### When to Request Review
After completing all task steps, you MUST call `request_review`.

### How to Call
- **taskId**: Use format `[type]-[date]-[seq]` (e.g. `feature-20260217-001`)
- **summary**: 2-3 sentences summarizing your work

### Handling Feedback
1. **Approved** ("ok" / "approved" / "lgtm"): Stop working, confirm completion
2. **Needs revision**: Read feedback, improve, call request_review again
3. **Timeout**: Inform user, offer to retry

### Rules
- โŒ NEVER finish without approved review
- โŒ NEVER skip the review step
- โœ… Always request review after completing work
- โœ… Keep improving until approved
```

</details>

## Project Structure

```
src/
โ”œโ”€โ”€ index.ts            # MCP server entry (auto-starts HTTP server)
โ”œโ”€โ”€ reviewer-server.ts  # Express HTTP server + Web UI
โ”œโ”€โ”€ types.ts            # TypeScript type definitions
โ””โ”€โ”€ shared-state.ts     # File-system-based session persistence
```

## Development

```bash
npm run watch     # watch mode
npm run dev       # build + run MCP server
```

## Troubleshooting

**MCP Server won't connect?**  
Ensure an absolute path in `settings.json` and that `dist/index.js` exists. Check VS Code Output panel โ†’ "MCP Server" logs.

**Port 3456 in use?**  
A second MCP instance auto-skips HTTP startup. Sessions are shared via `/tmp/copilot-reviewer-sessions/` โ€” one dashboard shows all.

**Agent doesn't call request_review?**  
Make sure your Agent Contract / prompt explicitly requires it.

## License

MIT

---

# ไธญๆ–‡่ฏดๆ˜Ž

> ่–… GitHub Copilot Premium Request ็พŠๆฏ›็š„ๅ‹คไฟญ็Žฉๆณ• โ€”โ€” ๆŠŠ่ฟฝ้—ฎๅ˜ๆˆๅ…่ดน็š„ MCP tool callใ€‚

## ไธบไป€ไนˆๅš่ฟ™ไธช

GitHub Copilot ๆŒ‰ **premium request ๆฌกๆ•ฐ**่ฎก่ดน๏ผˆPro ๅฅ—้คๆฏๆœˆ 300 ๆฌก๏ผŒไธ€ๆฌก Claude Opus 4.6 ่ฐƒ็”จ็ฎ— 3 ๆฌก๏ผ‰๏ผŒ่€Œ**ไธๆ˜ฏ**ๆŒ‰ token ่ฎก่ดนใ€‚็ป่ฟ‡ๅฎž้ชŒ๏ผŒๆˆ‘ไปฌๅ‘็Žฐ๏ผš

| ๆ“ไฝœ | ๆถˆ่€— Premium Request๏ผŸ |
|---|---|
| ๆ–ฐ็š„ user prompt | โœ… ๆ˜ฏ |
| ๅŒ session ไธญ็š„่ฟฝ้—ฎ/ๅŽ็ปญๆ้—ฎ | โœ… ๆ˜ฏ |
| Tool call / MCP ่ฐƒ็”จ | โŒ **ๅฆ** |

ๆ‰€ไปฅๆœ€ๅˆ’็ฎ—็š„็”จๆณ•ๆ˜ฏ๏ผš**่ฎฉไธ€ๆฌก premium request ๅšๅฐฝๅฏ่ƒฝๅคš็š„ไบ‹ๆƒ…**ใ€‚

้—ฎ้ข˜ๆ˜ฏ๏ผŒไบบๅพˆ้šพไธ€ๆฌกๆ€งๆŠŠ้œ€ๆฑ‚่กจ่พพๆธ…ๆฅš๏ผŒ่ฟฝ้—ฎๅœจๆ‰€้šพๅ…โ€”โ€”ไฝ†ๆฏๆฌก่ฟฝ้—ฎ้ƒฝไผš้ขๅค–ๆถˆ่€—ไธ€ไธช requestใ€‚

**Copilot Leecher** ๆไพ›ไบ†ไธ€ไธช `request_review` MCP toolใ€‚Agent ๅฎŒๆˆไปปๅŠกๅŽ่ฐƒ็”จๆญคๅทฅๅ…ท๏ผŒ่ฟ›ๅ…ฅ*้˜ปๅกž็ญ‰ๅพ…*็Šถๆ€๏ผŒไฝ ๅœจๆœฌๅœฐ Web UI ไธŠ็ป™ๅ‡บๅ้ฆˆใ€‚ๅ้ฆˆไปฅ **tool call result**๏ผˆๅ…่ดน๏ผ๏ผ‰็š„ๅฝขๅผ่ฟ”ๅ›ž็ป™ Agent๏ผŒ่€Œไธๆ˜ฏๆ–ฐ็š„ user promptใ€‚Agent ๅœจ*ๅŒไธ€ไธช request* ๅ†…็ปง็ปญๅทฅไฝœใ€‚

ไธ€ๆฌก prompt โ†’ ๅฎกๆŸฅ โ†’ ๆ”น่ฟ› โ†’ ๅฎกๆŸฅ โ†’ ้€š่ฟ‡ใ€‚**ๅ…จ็จ‹ๅชๆถˆ่€—ไธ€ไธช premium requestใ€‚**

็ฎ€ๅ•ๆฅ่ฏด๏ผš่ฟ™ไธช MCP ๆœๅŠก"้ช—"ๅคงๆจกๅž‹ๆŠŠไฝ ไบ‹ๅฎžไธŠ็š„่ฟฝ้—ฎๅฝ“ๆˆ tool call result ๆฅๅค„็†ใ€‚

## ๅทฅไฝœๅŽŸ็†

```
ไฝ  (1 ๆก prompt)                  Copilot Agent
    โ”‚                                  โ”‚
    โ”œโ”€โ”€โ”€ "ๅฎž็ŽฐๅŠŸ่ƒฝ X" โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ  ๏ผˆๅผ€ๅง‹ๅนฒๆดปโ€ฆ๏ผ‰
    โ”‚                                  โ”‚
    โ”‚                  request_review() โ”‚  โ† MCP tool call๏ผˆๅ…่ดน๏ผ‰
    โ”‚                                  โ”‚
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚   โ”‚ Web UI (localhost:3456)      โ”‚
    โ”‚   โ”‚ "่พน็•Œๆƒ…ๅ†ต Y ไนŸๅค„็†ไธ€ไธ‹"       โ”‚  โ† ไฝ ็š„ๅ้ฆˆ
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                  โ”‚
    โ”‚                  ๏ผˆ็ปง็ปญๆ”น่ฟ›โ€ฆ๏ผ‰     โ”‚
    โ”‚                                  โ”‚
    โ”‚                  request_review() โ”‚  โ† ไป็„ถๅ…่ดน
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚   โ”‚ "ok"                         โ”‚  โ† ้€š่ฟ‡
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                  โ”‚
    โ”‚            โœ… ๅฎŒๆˆ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                  โ”‚
    ๆถˆ่€—็š„ premium request ๆ€ปๆ•ฐ: 1
```

## ๅฟซ้€Ÿๅผ€ๅง‹

### 1. ๅฎ‰่ฃ… & ๆž„ๅปบ

```bash
git clone https://github.com/user/copilot-leecher.git
cd copilot-leecher
npm install
npm run build
```

### 2. ้…็ฝฎ VS Code

ๅœจ `settings.json` ไธญๆทปๅŠ ๏ผš

```json
{
  "github.copilot.chat.mcp.servers": {
    "copilot-leecher": {
      "command": "node",
      "args": ["/ไฝ ็š„็ปๅฏน่ทฏๅพ„/copilot-leecher/dist/index.js"]
    }
  }
}
```

### 3. ้‡ๅฏ VS Code & ๆ‰“ๅผ€ Dashboard

้‡ๅฏ VS Code ๅŽ๏ผŒMCP Server ไผš่‡ชๅŠจๅœจ **http://127.0.0.1:3456** ๅฏๅŠจ Web ๅฎกๆŸฅ็•Œ้ขใ€‚

### 4. ไฝฟ็”จ

ๅœจ Copilot Chat ๆ็คบ่ฏๆˆ– Agent Contract ไธญ๏ผŒๆŒ‡็คบ Agent๏ผš

```
ๅฎŒๆˆๆ‰€ๆœ‰ๅทฅไฝœๅŽ๏ผŒ่ฐƒ็”จ request_review ๅทฅๅ…ท๏ผŒ้™„ไธŠ taskId ๅ’Œๅทฅไฝœๆ‘˜่ฆใ€‚
็ญ‰ๅพ…ๅฎกๆŸฅๅ้ฆˆ๏ผš่‹ฅๅ้ฆˆไธบ "ok" / "approved"๏ผŒ็ป“ๆŸไปปๅŠก๏ผ›ๅฆๅˆ™ๆ นๆฎๅ้ฆˆๆ”น่ฟ›ๅŽ้‡ๆ–ฐ่ฏทๆฑ‚ๅฎกๆŸฅใ€‚
ๆœช้€š่ฟ‡ๅฎกๆŸฅไธๅพ—็ป“ๆŸๅทฅไฝœใ€‚
```

็„ถๅŽๆ‰“ๅผ€ http://127.0.0.1:3456 ่ฟ›่กŒๅฎกๆŸฅๅนถๆไบคๅ้ฆˆใ€‚

## Agent Contract ๆจกๆฟ

```markdown
ๅฎŒๆˆๆ‰€ๆœ‰ไปปๅŠกๅŽ๏ผŒไฝ **ๅฟ…้กป**่ฐƒ็”จ `request_review` tool๏ผš

- taskId: ไปปๅŠกๅ”ฏไธ€ๆ ‡่ฏ†๏ผˆๅฆ‚ feature-20260217-001๏ผ‰
- summary: 2-3 ๅฅ็ฎ€่ฆๆ่ฟฐๅฎŒๆˆไบ†ไป€ไนˆ

็„ถๅŽ็ญ‰ๅพ…ไธ“ๅฎถๅ้ฆˆ๏ผš
- "ok" / "approved" / "lgtm" / "้€š่ฟ‡" โ†’ ็ป“ๆŸๅทฅไฝœ
- ๅ…ถไป–ๅ†…ๅฎน โ†’ ๆ นๆฎๅ้ฆˆๆ”น่ฟ›๏ผŒ็„ถๅŽๅ†ๆฌก่ฐƒ็”จ request_review

**้‡่ฆ๏ผšๆœช้€š่ฟ‡ๅฎกๆŸฅไธๅพ—็ป“ๆŸๅทฅไฝœ๏ผ**
```

<details>
<summary><strong>ๅฎŒๆ•ด Agent Contract ็คบไพ‹๏ผˆ็‚นๅ‡ปๅฑ•ๅผ€๏ผ‰</strong></summary>

```markdown
# Agent Contract

## ๅฎกๆŸฅ่ฆๆฑ‚

### ไฝ•ๆ—ถ่ฏทๆฑ‚ๅฎกๆŸฅ
ๅฎŒๆˆๆ‰€ๆœ‰ไปปๅŠกๆญฅ้ชคๅŽ๏ผŒ**ๅฟ…้กป**่ฐƒ็”จ `request_review`ใ€‚

### ่ฐƒ็”จๆ–นๅผ
- **taskId**: ๆ ผๅผ `[็ฑปๅž‹]-[ๆ—ฅๆœŸ]-[ๅบๅท]`๏ผˆๅฆ‚ `feature-20260217-001`๏ผ‰
- **summary**: 2-3 ๅฅๆ่ฟฐไฝ ๅฎŒๆˆ็š„ๅทฅไฝœ

### ๅ้ฆˆๅค„็†
1. **้€š่ฟ‡**๏ผˆ"ok" / "approved" / "lgtm" / "้€š่ฟ‡"๏ผ‰๏ผšๅœๆญขๅทฅไฝœ๏ผŒ็กฎ่ฎคๅฎŒๆˆ
2. **้œ€่ฆๆ”น่ฟ›**๏ผš้˜…่ฏปๅ้ฆˆ๏ผŒๆ”น่ฟ›ๅทฅไฝœ๏ผŒๅ†ๆฌก่ฐƒ็”จ request_review
3. **่ถ…ๆ—ถ**๏ผšๅ‘Š็Ÿฅ็”จๆˆท๏ผŒ่ฏข้—ฎๆ˜ฏๅฆ้‡ๆ–ฐ่ฏทๆฑ‚

### ่ง„ๅˆ™
- โŒ ๆœช็ปๅฎกๆŸฅ้€š่ฟ‡ไธๅพ—็ป“ๆŸไปปๅŠก
- โŒ ไธๅพ—่ทณ่ฟ‡ๅฎกๆŸฅๆญฅ้ชค
- โœ… ๅฎŒๆˆๅทฅไฝœๅŽ็ซ‹ๅณ่ฏทๆฑ‚ๅฎกๆŸฅ
- โœ… ๆŒ็ปญๆ”น่ฟ›็›ดๅˆฐ่Žทๆ‰น
```

</details>

## ๅธธ่ง้—ฎ้ข˜

**Q: MCP Server ๆ— ๆณ•่ฟžๆŽฅ๏ผŸ**  
็กฎไฟ `settings.json` ไธญไฝฟ็”จ็ปๅฏน่ทฏๅพ„๏ผŒไธ” `dist/index.js` ๅญ˜ๅœจใ€‚ๆŸฅ็œ‹ VS Code ่พ“ๅ‡บ้ขๆฟ โ†’ "MCP Server" ๆ—ฅๅฟ—ใ€‚

**Q: ็ซฏๅฃ 3456 ่ขซๅ ็”จ๏ผŸ**  
็ฌฌไบŒไธช MCP ๅฎžไพ‹ไผš่‡ชๅŠจ่ทณ่ฟ‡ HTTP ๅฏๅŠจใ€‚Session ้€š่ฟ‡ `/tmp/copilot-reviewer-sessions/` ๆ–‡ไปถๅ…ฑไบซ๏ผŒๅŒไธ€ไธช Dashboard ๅฏ่งๆ‰€ๆœ‰ๅฎžไพ‹็š„ไผš่ฏใ€‚

**Q: Agent ไธ่ฐƒ็”จ request_review๏ผŸ**  
ๆฃ€ๆŸฅ Agent Contract ๆ็คบ่ฏไธญๆ˜ฏๅฆๆ˜Ž็กฎ่ฆๆฑ‚ไบ†ใ€‚

## ่ฎธๅฏ่ฏ

MIT

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'request_review' has a clear, distinct purpose that cannot be mistaken for any other functionality.

Naming Consistency5/5

A single tool inherently exhibits perfect naming consistency as there are no other tools to compare against. The name 'request_review' follows a clear verb_noun pattern that would be consistent if more tools existed.

Tool Count2/5

One tool is generally too few for most server purposes, as it severely limits functionality and scope. While the tool's purpose is clear, a single tool feels thin and incomplete for handling complex workflows, suggesting an extreme mismatch with typical server design.

Completeness1/5

The server appears to focus on review workflows, but with only one tool for requesting reviews, there are severe gaps. Missing are tools for submitting work, checking review status, handling feedback, or managing the review process, making the surface incomplete and likely to cause agent failures.