<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ThinkReview</title>
    <description>The latest articles on DEV Community by ThinkReview (thinkreview).</description>
    <link>https://dev.to/thinkreview</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12509%2Fa21e914f-e91c-492c-bf48-332a342c3c11.png</url>
      <title>DEV Community: ThinkReview</title>
      <link>https://dev.to/thinkreview</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thinkreview"/>
    <language>en</language>
    <item>
      <title>ThinkReview MCP: run live PR code reviews from Cursor, Claude Code, and Copilot</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Fri, 07 Aug 2026 10:52:48 +0000</pubDate>
      <link>https://dev.to/thinkreview/thinkreview-mcp-run-live-pr-code-reviews-from-cursor-claude-code-and-copilot-2h7m</link>
      <guid>https://dev.to/thinkreview/thinkreview-mcp-run-live-pr-code-reviews-from-cursor-claude-code-and-copilot-2h7m</guid>
      <description>&lt;p&gt;You already use &lt;strong&gt;Cursor&lt;/strong&gt;, &lt;strong&gt;Claude Code&lt;/strong&gt;, or &lt;strong&gt;GitHub Copilot&lt;/strong&gt; to write and refactor code. What if the same assistant could &lt;strong&gt;run a real ThinkReview analysis&lt;/strong&gt; on a pull request—without you copying diffs into chat?&lt;/p&gt;

&lt;p&gt;Today we are introducing &lt;strong&gt;ThinkReview MCP&lt;/strong&gt;: a hosted &lt;a href="https://modelcontextprotocol.io/" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt; server at &lt;strong&gt;&lt;a href="https://mcp.thinkreview.dev/v1" rel="noopener noreferrer"&gt;mcp.thinkreview.dev/v1&lt;/a&gt;&lt;/strong&gt;. Connect it once, then ask your assistant to review any PR or merge request URL on &lt;strong&gt;GitHub&lt;/strong&gt;, &lt;strong&gt;GitLab&lt;/strong&gt;, &lt;strong&gt;Azure DevOps&lt;/strong&gt;, or &lt;strong&gt;Bitbucket&lt;/strong&gt;. ThinkReview fetches the changed files, runs the review, and returns structured feedback: summary, suggestions, security notes, best practices, and suggested follow-up questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why MCP for code review?
&lt;/h2&gt;

&lt;p&gt;Browser extensions are great when you are already on a PR page. MCP is for the moments when you are &lt;strong&gt;in the editor or terminal&lt;/strong&gt; and want review context without context-switching.&lt;/p&gt;

&lt;p&gt;Typical flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You are pairing with an AI agent on a fix or feature branch.&lt;/li&gt;
&lt;li&gt;A teammate shares a PR link in Slack or a ticket.&lt;/li&gt;
&lt;li&gt;You ask: &lt;em&gt;“Call &lt;code&gt;review_url_code&lt;/code&gt; for &lt;a href="https://github.com/org/repo/pull/42.%E2%80%9D" rel="noopener noreferrer"&gt;https://github.com/org/repo/pull/42.”&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;ThinkReview returns the same quality of review you would get from the extension—grounded in the actual diff, not a guess from partial snippets.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One tool, one URL, no patch upload. That is the whole idea.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need before connecting
&lt;/h2&gt;

&lt;p&gt;ThinkReview MCP is designed to be quick to set up, but two things must be in place:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Your ThinkReview Bearer token
&lt;/h3&gt;

&lt;p&gt;Generate or copy your personal token from the &lt;strong&gt;&lt;a href="https://portal.thinkreview.dev/mcp" rel="noopener noreferrer"&gt;MCP integration page&lt;/a&gt;&lt;/strong&gt; in the ThinkReview portal. It is the same authorization token used by the ThinkReview browser extension. Add it to your MCP client as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Authorization: Bearer &amp;lt;your-token&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you regenerate the token, update every MCP client (and expect the extension to need the new token too).&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Git credentials in the portal (required)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;MCP cannot fetch a PR diff without git access.&lt;/strong&gt; Before your first review, add a &lt;strong&gt;Personal Access Token&lt;/strong&gt; under &lt;strong&gt;&lt;a href="https://portal.thinkreview.dev/integrations" rel="noopener noreferrer"&gt;Settings → Integrations&lt;/a&gt;&lt;/strong&gt; in the portal.&lt;/p&gt;

&lt;p&gt;ThinkReview uses that PAT to call your git host’s API—same as URL-based reviews in the cloud. If integrations are missing, or the token cannot reach a private org repo (for example SSO not authorized on GitHub), reviews will fail with a clear access error instead of a vague API failure.&lt;/p&gt;

&lt;p&gt;This step is easy to skip when you are excited to wire up Cursor—but it is the most common reason MCP reviews do not work on the first try.&lt;/p&gt;

&lt;h2&gt;
  
  
  The &lt;code&gt;review_url_code&lt;/code&gt; tool
&lt;/h2&gt;

&lt;p&gt;ThinkReview MCP exposes a single tool today:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;review_url_code&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Runs a live code review on a PR or MR URL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required:&lt;/strong&gt; &lt;code&gt;prUrl&lt;/code&gt; — the full pull or merge request link.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Optional:&lt;/strong&gt; &lt;code&gt;language&lt;/code&gt; (response language), &lt;code&gt;mrId&lt;/code&gt; (your tracking ID), &lt;code&gt;forceRegenerate&lt;/code&gt; (bypass cache when the PR has new commits but you want a fresh review immediately).&lt;/p&gt;

&lt;p&gt;Reviews use the same &lt;strong&gt;credits&lt;/strong&gt; as the browser extension. Results are &lt;strong&gt;cached per user&lt;/strong&gt; when the changed-file fingerprint has not changed, so re-asking about the same PR is fast and does not burn credits unnecessarily.&lt;/p&gt;

&lt;p&gt;Custom &lt;strong&gt;review agents&lt;/strong&gt; you configure in the portal are &lt;strong&gt;not&lt;/strong&gt; run by default through MCP—the tool returns the main structured review. Agent workflows remain centered in the extension and portal today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect in minutes
&lt;/h2&gt;

&lt;p&gt;The portal &lt;strong&gt;&lt;a href="https://portal.thinkreview.dev/mcp" rel="noopener noreferrer"&gt;MCP setup page&lt;/a&gt;&lt;/strong&gt; includes copy-paste configs for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cursor&lt;/strong&gt; — add &lt;code&gt;thinkreview&lt;/code&gt; under &lt;code&gt;mcpServers&lt;/code&gt; with the hosted URL and Bearer header&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt; — JSON config or a one-line CLI &lt;code&gt;claude mcp add&lt;/code&gt; command&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Copilot (VS Code)&lt;/strong&gt; — &lt;code&gt;.vscode/mcp.json&lt;/code&gt; or user MCP config with the &lt;code&gt;servers&lt;/code&gt; key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example for Cursor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"thinkreview"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.thinkreview.dev/v1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bearer &amp;lt;your-token&amp;gt;"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart your client after saving. Then try a prompt like: &lt;em&gt;“Review this PR with ThinkReview: &lt;a href="https://github.com/org/repo/pull/123.%E2%80%9D" rel="noopener noreferrer"&gt;https://github.com/org/repo/pull/123.”&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Full setup details, security notes, and troubleshooting live in our docs: &lt;strong&gt;&lt;a href="https://thinkreview.dev/docs/mcp-integration" rel="noopener noreferrer"&gt;MCP Integration&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Smarter caching and clearer errors
&lt;/h2&gt;

&lt;p&gt;This release ships alongside improvements to the URL review pipeline MCP uses under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Commit-aware caching&lt;/strong&gt; — reviews refresh when the PR’s changed-file list changes, not only when you force regeneration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actionable git errors&lt;/strong&gt; — private repo or token issues surface as access-denied guidance (check integrations, org access, GitHub SSO) instead of opaque 404s&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it today
&lt;/h2&gt;

&lt;p&gt;If you already use ThinkReview in the browser, MCP is the natural next step for AI-native workflows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://portal.thinkreview.dev/integrations" rel="noopener noreferrer"&gt;Configure git integrations&lt;/a&gt;&lt;/strong&gt; in the portal
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://portal.thinkreview.dev/mcp" rel="noopener noreferrer"&gt;Copy your MCP token and client config&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Ask your assistant to call &lt;strong&gt;&lt;code&gt;review_url_code&lt;/code&gt;&lt;/strong&gt; on your next PR
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ThinkReview remains &lt;strong&gt;open source&lt;/strong&gt; for the browser extension. Explore the project and install links on &lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;thinkreview.dev&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extension repository:&lt;/strong&gt; &lt;a href="https://github.com/Thinkode/thinkreview-browser-extension" rel="noopener noreferrer"&gt;github.com/Thinkode/thinkreview-browser-extension&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chrome Web Store:&lt;/strong&gt; &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-copilot-fo/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;ThinkReview — AI copilot for pull requests&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firefox Add-ons:&lt;/strong&gt; &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review/?utm_source=addons.mozilla.org&amp;amp;utm_medium=referral&amp;amp;utm_content=search" rel="noopener noreferrer"&gt;ThinkReview on Firefox&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;​​​​​​​&lt;/p&gt;

&lt;p&gt;Lookin forward to your feedback , any questions would love to hear&lt;/p&gt;

&lt;p&gt;original post : &lt;a href="https://thinkreview.dev/blog/introducing-thinkreview-mcp-url-code-reviews-from-your-ai-assistant" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>ai</category>
      <category>claude</category>
    </item>
    <item>
      <title>I Built a One-Click Bridge from Azure Devops PRs Code Review Directly to Cursor/Claude Code</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Sat, 18 Apr 2026 00:36:54 +0000</pubDate>
      <link>https://dev.to/thinkreview/how-i-implemented-a-deeplink-workflow-from-codereview-findings-to-implement-via-cursorclaude-code-ikb</link>
      <guid>https://dev.to/thinkreview/how-i-implemented-a-deeplink-workflow-from-codereview-findings-to-implement-via-cursorclaude-code-ikb</guid>
      <description>&lt;p&gt;Hi Everyone ,&lt;/p&gt;

&lt;p&gt;I’d like to share here a new feature that I implemented in ThinkReview extension workflow which utilises cursor deeplinks with one click to implement critical bugs , best practices or security issues from the code review&lt;/p&gt;

&lt;p&gt;ThinkReview is an opensource browser extension that supports Gitlab , Github , Azure Devops and Bitbucket. &lt;/p&gt;

&lt;p&gt;In this demo it generates a code review for a Github PR. &lt;br&gt;
I decided to implement one of the best practices it outlined. &lt;br&gt;
I already use cursot , I will click on the cursor button and with one click it will open cursor and implement it &lt;/p&gt;

&lt;p&gt;First Go to any PR and select which IDE agent you want to use currently (Cursor , CLaude code and Github copilot are supported but much more to come )&lt;/p&gt;

&lt;p&gt;check the code review generated and select one of the points you'd like to implement , here I'm selecting one of the best prctices about moving magic numbers to constants&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow3qnltzk06m6qz2z4sf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow3qnltzk06m6qz2z4sf.gif" alt="First Step open any PR on Github ,Azure , Gitlab or Bitbucket" width="760" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you click the implement via button in my case here I selected cursor , it will open cursor with your prompt ready to be sent &lt;/p&gt;

&lt;p&gt;First thing it will check if we are on the correct branch of the PR &lt;br&gt;
otherwise it will stop and ask you to switch to the correct branch manually&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qg8qcpdlw33r66e88ak.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qg8qcpdlw33r66e88ak.gif" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;here it identified correctly we are not on the correct branch so I'm going to switch to the correct branch manually&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonb4r4qze7dirmx6cmnu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonb4r4qze7dirmx6cmnu.gif" alt=" " width="760" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here it implemented the best prctice in the right branch and I was happy to commit and push the code&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6dynyk5ef7ukqubeu6u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6dynyk5ef7ukqubeu6u.gif" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;here I regenerated the review again and I see the best practices scoring has gone up from 90 to 95 &lt;br&gt;
Yay&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkr4xp7pxmmvtlo91lhz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkr4xp7pxmmvtlo91lhz.gif" alt=" " width="760" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ThinkReview is open source and you can install the extension from Chrome Store and Firefox addons &lt;br&gt;
&lt;a href="https://github.com/Thinkode/thinkreview-browser-extension" rel="noopener noreferrer"&gt;https://github.com/Thinkode/thinkreview-browser-extension&lt;/a&gt;&lt;br&gt;
&lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;https://thinkreview.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>azure</category>
      <category>github</category>
      <category>thinkreview</category>
    </item>
  </channel>
</rss>
