ThinkReview MCP
AI code reviews for GitHub, GitLab, Azure DevOps & Bitbucket PR/MR URLs from Cursor, Claude, or Copilot.
Tài liệu
MCP Integration
ThinkReview MCP lets AI coding assistants run live code reviews on pull request or merge request URLs — without pasting a diff into chat. ThinkReview fetches changed files through your stored git credentials and returns a structured review (summary, suggestions, security notes, best practices, and suggested questions).
Hosted endpoint: https://mcp.thinkreview.dev/v1
Authentication — choose one:
- OAuth (recommended) — URL-only MCP config, then Authenticate in the browser on the ThinkReview portal. No token in config files.
- Bearer token — copy a long-lived token from the MCP setup page and put
Authorization: Bearer <token>in client headers (also used by the browser extension).
Interactive configs for both methods: portal.thinkreview.dev/mcp.
Prerequisites
Before connecting an MCP client, make sure you have:
- A ThinkReview account with an active plan or available review credits.
- An MCP client that supports OAuth for remote HTTP servers (Cursor, Claude Code, Claude Desktop Connectors, and VS Code Copilot all do).
- Git credentials configured in the portal under Settings → Integrations. This is required for MCP URL reviews to work. ThinkReview uses your Personal Access Token (PAT) to call GitHub, GitLab, Bitbucket, or Azure DevOps APIs and fetch the PR/MR diff. Without integrations, reviews will fail with a git credentials or access error.
Supported git hosts match the extension: GitHub, GitLab, Bitbucket, and Azure DevOps (cloud and many self-hosted patterns). See GitHub Integration, GitLab Integration, and related setup docs for PAT scopes.
What the MCP server provides
ThinkReview MCP exposes one tool:
| Tool | Purpose |
|---|---|
| review_url_code | Run a live URL-based code review on a PR or MR URL |
Optional parameters:
| Parameter | Description |
|---|---|
| prUrl | Required. Full or domain-style PR/MR URL (e.g. https://github.com/org/repo/pull/42) |
| language | Response language (default: English) |
| mrId | Optional tracking ID for your workflow |
| forceRegenerate | Set to true to bypass cache and force a new review |
URL reviews use the same review credits as reviews in the browser extension. Cached results are reused when the PR file list has not changed (see Cached Reviews).
Agent reviews (custom review agents configured in the portal) are not triggered by default through MCP. MCP returns the main code review only.
Cursor setup
- Open Cursor → Settings → MCP (or edit your MCP config file).
- Add the ThinkReview server (URL only):
{
"mcpServers": {
"thinkreview": {
"url": "https://mcp.thinkreview.dev/v1"
}
}
}
- Enable the thinkreview server, then click Authenticate. Complete sign-in and consent on the ThinkReview portal.
- Restart Cursor or reload MCP servers if tools do not appear.
Example prompt: “Call review_url_code for https://github.com/org/repo/pull/123”
Claude Code setup
Option A — CLI
claude mcp add --transport http thinkreview https://mcp.thinkreview.dev/v1
Option B — Config file (~/.claude.json or project .mcp.json):
{
"type": "http",
}
}
}
Then run /mcp in Claude Code and Authenticate. Complete portal consent in the browser. Restart Claude Code if tools do not appear after auth.
Note: Claude Code’s type / url JSON is not valid in Claude Desktop’s claude_desktop_config.json. Use the Desktop section below instead.
Claude Desktop setup
Claude Desktop has two different MCP mechanisms:
| Mechanism | Where | Supports remote HTTP + OAuth? |
|---|---|---|
| Connectors (recommended) | Settings → Connectors | Yes — native remote MCP |
| claude_desktop_config.json | Settings → Developer → Edit Config | stdio only — use mcp-remote to bridge |
Option A — Custom connector (recommended)
- Open Claude Desktop → Settings → Connectors (or Customize → Connectors).
- Add custom connector and enter:
https://mcp.thinkreview.dev/v1 - Click Connect / complete the browser OAuth consent on the ThinkReview portal.
- Enable the connector for the conversation via + → Connectors.
Remote connectors are brokered through your Claude account (Anthropic’s cloud reaches mcp.thinkreview.dev). Free plans are limited to one custom connector.
Option B — Local bridge via mcp-remote
If you prefer the config file (same pattern as other remote servers), merge this into claude_desktop_config.json (requires Node.js so npx works), then fully quit and reopen Claude Desktop:
{
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.thinkreview.dev/v1"]
}
}
}
mcp-remote opens the OAuth browser flow. Do not use Claude Code’s "type": "http" block here — Desktop will not load it.
GitHub Copilot (VS Code) setup
- Run MCP: Open User Configuration or create
.vscode/mcp.jsonin your project. - Add (URL only — Copilot uses the
serverskey):
{
"servers": {
}
}
}
- Use Auth / Authenticate on the thinkreview server (CodeLens or MCP servers UI) and complete portal consent in the browser.
- Enable the thinkreview server in Copilot Chat and invoke
review_url_codefrom your assistant.
Advanced: Bearer token (optional)
Prefer OAuth for MCP. A portal Bearer token is still available on portal.thinkreview.dev/mcp for the ThinkReview browser extension and for clients that cannot complete OAuth. If you must use it, add:
Authorization: Bearer <your-token>
Regenerating that token invalidates extension / Bearer-based clients. OAuth MCP sessions are separate and are not revoked by token regeneration.
Security best practices
- Prefer OAuth so long-lived tokens are not stored in MCP config files.
- If you use a Bearer token, treat it like a password. Do not commit it to git or share it in public channels.
- Regenerate the Bearer token from the portal if it is ever exposed.
- Use git PATs with the minimum scopes needed to read pull requests and file diffs for repositories you review.
Troubleshooting
“Unauthorized” or MCP asks to authenticate
- For OAuth clients: run Authenticate again and finish consent on portal.thinkreview.dev/mcp/oauth while signed into your ThinkReview account.
- Confirm your config is URL-only (no stale or empty
Authorizationheader that can confuse some clients). - If you intentionally use Bearer auth, confirm
Authorization: Bearer <token>is set correctly and copy a fresh token from the portal after regeneration or sign-out. - Restart your MCP client after updating the config.
Git credentials unavailable / cannot access repository
- Add or update your PAT under portal.thinkreview.dev → Settings → Integrations. MCP cannot review a PR without this step.
- For private organization repos (e.g. GitHub), ensure the PAT has access to the org and SSO is authorized for the token if your organization requires it.
- Verify the PR URL matches the host and repo your credential is configured for.
Review returns cached results
- URL reviews are cached per user when the changed-file fingerprint is unchanged. Pass
forceRegenerate: trueinreview_url_codeto request a fresh review.
Still stuck?
Contact support or report a bug with your git host, PR URL (redact secrets), and the error message from your MCP client.
TL;DR: Add ThinkReview MCP at https://mcp.thinkreview.dev/v1 (URL only), Authenticate in the browser, configure git credentials under Integrations, then ask your assistant to call review_url_code with a PR URL.