<?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: Jay Elsheikh</title>
    <description>The latest articles on DEV Community by Jay Elsheikh (@jay_elsheikh_59b14ad67922).</description>
    <link>https://dev.to/jay_elsheikh_59b14ad67922</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%2Fuser%2Fprofile_image%2F3392363%2Fa89e62e0-f820-42f6-9794-8088b8c3be51.jpg</url>
      <title>DEV Community: Jay Elsheikh</title>
      <link>https://dev.to/jay_elsheikh_59b14ad67922</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jay_elsheikh_59b14ad67922"/>
    <language>en</language>
    <item>
      <title>How I listed my MCP on the official MCP Registery and how you can do yours too ?</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Mon, 10 Aug 2026 11:25:49 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/how-i-listed-my-mcp-on-the-official-mcp-registery-and-how-you-can-do-yours-too--1lp</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/how-i-listed-my-mcp-on-the-official-mcp-registery-and-how-you-can-do-yours-too--1lp</guid>
      <description>&lt;p&gt;When people ask “where do I find MCP servers?”, a growing chunk of the answer starts in one place: the &lt;strong&gt;Official MCP Registry&lt;/strong&gt; at &lt;a href="https://registry.modelcontextprotocol.io" rel="noopener noreferrer"&gt;registry.modelcontextprotocol.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I recently listed &lt;strong&gt;ThinkReview MCP&lt;/strong&gt; there — our hosted server that runs AI code reviews on GitHub, GitLab, Azure DevOps, and Bitbucket PR/MR URLs from Cursor, Claude, and Copilot.&lt;/p&gt;

&lt;p&gt;Here’s exactly what I did, and how you can do the same.&lt;/p&gt;




&lt;h2&gt;
  
  
  First, what the registry actually is
&lt;/h2&gt;

&lt;p&gt;The Official MCP Registry stores &lt;strong&gt;metadata&lt;/strong&gt;, not your binaries.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You don’t upload a zip of your server&lt;/li&gt;
&lt;li&gt;You publish a &lt;code&gt;server.json&lt;/code&gt; that describes your MCP&lt;/li&gt;
&lt;li&gt;Clients and other directories can discover you from that record&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are two common shapes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Package-based&lt;/strong&gt; — your server lives on npm / PyPI / NuGet / Docker, and the registry points at that package&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote / hosted&lt;/strong&gt; — your server is a public URL (Streamable HTTP), and the registry points at that endpoint&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ThinkReview is &lt;strong&gt;remote&lt;/strong&gt;. Our endpoint is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://mcp.thinkreview.dev/v1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So I didn’t need to publish an npm package just to get listed. I only needed a solid public docs repo + a valid &lt;code&gt;server.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Docs that mattered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://modelcontextprotocol.io/registry/quickstart" rel="noopener noreferrer"&gt;Publishing quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://modelcontextprotocol.io/registry/remote-servers" rel="noopener noreferrer"&gt;Remote servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://modelcontextprotocol.io/registry/authentication" rel="noopener noreferrer"&gt;Authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The registry is still in preview. Expect possible breaking changes before GA.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 1 — Put something public on GitHub
&lt;/h2&gt;

&lt;p&gt;Directories and developers want a repo they can open.&lt;/p&gt;

&lt;p&gt;I created a public visibility/docs repo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Thinkode/thinkreview-mcp" rel="noopener noreferrer"&gt;github.com/Thinkode/thinkreview-mcp&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the MCP does&lt;/li&gt;
&lt;li&gt;Endpoint + transport&lt;/li&gt;
&lt;li&gt;OAuth and Bearer setup for Cursor / Claude / Copilot&lt;/li&gt;
&lt;li&gt;Example configs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; include our private review engine, auth, or billing backend. For a SaaS MCP, that’s the right split:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public: docs + configs + registry metadata&lt;/li&gt;
&lt;li&gt;Private: the actual product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re building an open-source local MCP, your full source can live in that same repo.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2 — Install the publisher CLI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;mcp-publisher
mcp-publisher &lt;span class="nt"&gt;--help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or grab a binary from the &lt;a href="https://github.com/modelcontextprotocol/registry/releases" rel="noopener noreferrer"&gt;registry releases&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You’ll use three commands most of the time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mcp-publisher init&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-publisher login ...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-publisher publish&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 3 — Choose your namespace (this is the gotcha)
&lt;/h2&gt;

&lt;p&gt;Your server &lt;code&gt;name&lt;/code&gt; is tied to how you authenticate.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Auth method&lt;/th&gt;
&lt;th&gt;Name format&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GitHub login&lt;/td&gt;
&lt;td&gt;&lt;code&gt;io.github.&amp;lt;user-or-org&amp;gt;/...&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;io.github.Thinkode/thinkreview&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain proof (DNS/HTTP)&lt;/td&gt;
&lt;td&gt;reverse-DNS of your domain&lt;/td&gt;
&lt;td&gt;branded names under your company domain&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I used the &lt;strong&gt;GitHub org namespace&lt;/strong&gt; because it’s the fastest path:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;io.github.Thinkode/thinkreview&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note: the registry &lt;strong&gt;name&lt;/strong&gt; (&lt;code&gt;thinkreview&lt;/code&gt;) and the GitHub &lt;strong&gt;repo&lt;/strong&gt; name (&lt;code&gt;thinkreview-mcp&lt;/code&gt;) do not have to match. Pick a clean registry name; point &lt;code&gt;repository.url&lt;/code&gt; at whatever public repo you use for docs or source.&lt;/p&gt;

&lt;p&gt;Later, you can move to a branded domain namespace if you want cleaner naming — that needs DNS TXT or a &lt;code&gt;/.well-known/mcp-registry-auth&lt;/code&gt; proof on your domain.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4 — Create &lt;code&gt;server.json&lt;/code&gt; for a remote MCP
&lt;/h2&gt;

&lt;p&gt;In the repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;thinkreview-mcp
mcp-publisher init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then edit the file for a &lt;strong&gt;hosted&lt;/strong&gt; server. Skip &lt;code&gt;packages&lt;/code&gt; unless you also ship a local install. Use &lt;code&gt;remotes&lt;/code&gt; instead:&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;"$schema"&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://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"io.github.Thinkode/thinkreview"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ThinkReview"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Live PR/MR code reviews via review_url_code. OAuth or portal Bearer auth."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.3.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"websiteUrl"&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://thinkreview.dev/features/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"repository"&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://github.com/Thinkode/thinkreview-mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"github"&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;"remotes"&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="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"streamable-http"&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="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;A few rules that saved me time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prefer &lt;code&gt;"type": "streamable-http"&lt;/code&gt; (SSE is deprecated)&lt;/li&gt;
&lt;li&gt;The URL must be publicly reachable&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;version&lt;/code&gt; is required, unique per publish, and immutable once published — use semver&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;name&lt;/code&gt; must match your auth namespace (&lt;code&gt;io.github.Thinkode/...&lt;/code&gt; if you logged in as that org)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Commit &lt;code&gt;server.json&lt;/code&gt; so the listing is reproducible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5 — Authenticate
&lt;/h2&gt;

&lt;p&gt;For the GitHub namespace path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mcp-publisher login github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll get a device code, authorize it in the browser, and the CLI confirms you’re logged in.&lt;/p&gt;

&lt;p&gt;That login only lets you publish under &lt;code&gt;io.github.&amp;lt;that-account-or-org&amp;gt;/...&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6 — Publish
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mcp-publisher publish
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When it works, you’ll see something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Publishing to https://registry.modelcontextprotocol.io...
✓ Successfully published
✓ Server io.github.Thinkode/thinkreview version 1.3.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s it. Your MCP is now in the official upstream registry.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 7 — Verify
&lt;/h2&gt;

&lt;p&gt;Search by a short token that matches your listing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://registry.modelcontextprotocol.io/v0.1/servers?search=thinkreview"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or use the exact registry name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.Thinkode/thinkreview"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see metadata like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;name:&lt;/strong&gt; &lt;code&gt;io.github.Thinkode/thinkreview&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;version:&lt;/strong&gt; &lt;code&gt;1.3.0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;status:&lt;/strong&gt; &lt;code&gt;active&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;remote:&lt;/strong&gt; &lt;code&gt;https://mcp.thinkreview.dev/v1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;repository:&lt;/strong&gt; &lt;code&gt;https://github.com/Thinkode/thinkreview-mcp&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From there, community directories (PulseMCP, Glama, mcp.so, mcpservers.org, etc.) often pick listings up over time — but the official registry is the upstream source you want first.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to keep it updated
&lt;/h2&gt;

&lt;p&gt;Every meaningful MCP release:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bump &lt;code&gt;version&lt;/code&gt; in &lt;code&gt;server.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Commit&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;mcp-publisher publish&lt;/code&gt; again&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Or automate it in GitHub Actions with &lt;code&gt;mcp-publisher login github-oidc&lt;/code&gt; on version tags so every release republishes metadata.&lt;/p&gt;




&lt;h2&gt;
  
  
  If something fails
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Error&lt;/th&gt;
&lt;th&gt;What it usually means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;No permission to publish this server&lt;/td&gt;
&lt;td&gt;Your &lt;code&gt;name&lt;/code&gt; doesn’t match your GitHub/domain auth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invalid or expired JWT&lt;/td&gt;
&lt;td&gt;Re-run &lt;code&gt;mcp-publisher login github&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Registry validation failed&lt;/td&gt;
&lt;td&gt;Package listings need ownership proof (&lt;code&gt;mcpName&lt;/code&gt;, etc.). Remote listings need a live public URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Version already exists&lt;/td&gt;
&lt;td&gt;Bump semver — published versions can’t be overwritten&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search returns empty&lt;/td&gt;
&lt;td&gt;You’re searching the wrong string (e.g. repo name vs registry &lt;code&gt;name&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Make a public repo (docs + examples is enough for remote MCP)&lt;/li&gt;
&lt;li&gt;Install &lt;code&gt;mcp-publisher&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add a &lt;code&gt;server.json&lt;/code&gt; with &lt;code&gt;remotes&lt;/code&gt; pointing at your hosted URL&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-publisher login github&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-publisher publish&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Verify with the registry API&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s how ThinkReview MCP got onto the official MCP Registry — and the same path works whether you’re shipping a local open-source server or a hosted product like ours.&lt;/p&gt;

&lt;p&gt;If you’re listing a remote MCP too, start with the GitHub namespace, get discoverable fast, then brand the namespace later once DNS/domain proof is worth the extra step.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ThinkReview MCP: &lt;a href="https://thinkreview.dev/features/mcp" rel="noopener noreferrer"&gt;thinkreview.dev/features/mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs repo: &lt;a href="https://github.com/Thinkode/thinkreview-mcp" rel="noopener noreferrer"&gt;github.com/Thinkode/thinkreview-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Integration docs: &lt;a href="https://thinkreview.dev/docs/mcp-integration/" rel="noopener noreferrer"&gt;thinkreview.dev/docs/mcp-integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official registry API search: &lt;a href="https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.Thinkode/thinkreview" rel="noopener noreferrer"&gt;registry.modelcontextprotocol.io&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <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>Code Review bots clutter PRs , anybody feel the same?</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Fri, 24 Jul 2026 01:42:46 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/code-review-bots-clutter-prs-anybody-feel-the-same-5b0e</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/code-review-bots-clutter-prs-anybody-feel-the-same-5b0e</guid>
      <description>&lt;p&gt;I'd like to get your thoughts if anybody feel the same about code review bots like bugbot , gitlab duo , code rabbit and others that auto post comments on your behalf vs a tool like &lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;ThinkReview&lt;/a&gt; that shows the review to the reviewer only while the reviewer is still responsible for their final comments&lt;/p&gt;

&lt;p&gt;anybody feel the same about how much cluttered the PR gets with these bots ?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcrq3ejwhdi8x0m54qnu0.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcrq3ejwhdi8x0m54qnu0.gif" alt=" " width="480" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codereview</category>
    </item>
    <item>
      <title>Zero setup code reviews for gitlab and azure devops</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Tue, 09 Jun 2026 12:31:31 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/zero-setup-code-reviews-for-gitlab-and-azure-devops-kj5</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/zero-setup-code-reviews-for-gitlab-and-azure-devops-kj5</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf" class="crayons-story__hidden-navigation-link"&gt;Agentic code reviews without setup on Azure devops PRs&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/jay_elsheikh_59b14ad67922" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3392363%2Fa89e62e0-f820-42f6-9794-8088b8c3be51.jpg" alt="jay_elsheikh_59b14ad67922 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/jay_elsheikh_59b14ad67922" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Jay Elsheikh
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Jay Elsheikh
                
              
              &lt;div id="story-author-preview-content-3857091" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/jay_elsheikh_59b14ad67922" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3392363%2Fa89e62e0-f820-42f6-9794-8088b8c3be51.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Jay Elsheikh&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 9&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf" id="article-link-3857091"&gt;
          Agentic code reviews without setup on Azure devops PRs
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Agentic code reviews without setup on Azure devops PRs</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Tue, 09 Jun 2026 12:30:55 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/agentic-code-reviews-without-setup-on-azure-devops-prs-1edf</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Hello peer developers,&lt;/p&gt;

&lt;p&gt;I’m sharing a workflow I built over the past few weeks that has made our pull request security reviews more consistent and more actionable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;ThinkReview&lt;/a&gt;&lt;/strong&gt; is a browser extension that works across Git platforms (Gitlab, Github , azure devops and Bitbucket )and runs a &lt;em&gt;custom&lt;/em&gt; review checklist based on what your team cares about, such as OWASP guidance and your internal secure coding standards.&lt;/p&gt;

&lt;p&gt;Below is a quick look at the end result, then I’ll walk through how I set it up&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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%2Fbifqikzfhkccetqpl1fc.png" 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%2Fbifqikzfhkccetqpl1fc.png" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: a pentesting-focused review agent
&lt;/h3&gt;

&lt;p&gt;In this example, I created a review agent focused on pentesting.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Define the agent’s goal and scope&lt;/strong&gt; (what kinds of issues it should look for).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provide a reference&lt;/strong&gt; the agent should follow, such as &lt;em&gt;STRIKE Graph best practices&lt;/em&gt;. &lt;a href="https://www.strikegraph.com/blog/pen-testing-best-practices" rel="noopener noreferrer"&gt;https://www.strikegraph.com/blog/pen-testing-best-practices&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&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%2Fafxlzp9hs4hpvk8m0h9y.png" 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%2Fafxlzp9hs4hpvk8m0h9y.png" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;You can create up to 10 review agent&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&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%2Faxy47obn7zs8twyu2g34.png" 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%2Faxy47obn7zs8twyu2g34.png" width="799" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the review on a PR and get findings mapped back to the reference.&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%2Fjyh6pbp0uebw43gv3y5l.png" 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%2Fjyh6pbp0uebw43gv3y5l.png" width="800" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the PR shown here, ThinkReview flagged a couple of OWASP-related issues using the reference we provided.&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%2Fedflcmkycpp8bz3xk2sb.png" 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%2Fedflcmkycpp8bz3xk2sb.png" width="800" height="559"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&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%2F9d16iwjtdwpyeibeb8tv.png" 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%2F9d16iwjtdwpyeibeb8tv.png" width="560" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&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%2Fuxumqyxp27n351e4tuj2.png" 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%2Fuxumqyxp27n351e4tuj2.png" width="566" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is open source on Github : &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;/p&gt;

&lt;p&gt;and you can install it from&lt;/p&gt;

&lt;p&gt;chrome webstore : &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;firefox :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review" rel="noopener noreferrer"&gt;https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review&lt;/a&gt;&lt;/p&gt;

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

</description>
    </item>
    <item>
      <title>How I set up automated AI code reviews on Azure devops (under 60 seconds) with no CI or coding</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Tue, 02 Jun 2026 22:59:52 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/how-i-set-up-automated-ai-code-reviews-on-azure-devops-under-60-seconds-with-no-ci-or-coding-h7p</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/how-i-set-up-automated-ai-code-reviews-on-azure-devops-under-60-seconds-with-no-ci-or-coding-h7p</guid>
      <description>&lt;p&gt;I built an open source Browser extension called &lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;ThinkReview &lt;/a&gt;to work seamlessly with Azure DevOps — a tool that automatically reviews Pull Requests using any LLM, whether cloud-based or on premise (TFS) without leaving your browser&lt;/p&gt;

&lt;p&gt;And the best part?&lt;/p&gt;

&lt;p&gt;1- Opensource:&lt;/p&gt;

&lt;p&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;/p&gt;

&lt;p&gt;2- Works on your browser (Chrome , Edge or Firefox )&lt;/p&gt;

&lt;p&gt;3- It works out of the box on dev.azure.com and company.visualstudio.com&lt;/p&gt;

&lt;p&gt;4- If you have on premise ADO with custom domain, All you need is to add the custom domain and your PAT in the extension&lt;/p&gt;

&lt;p&gt;5- Chat with your Pull Requests&lt;/p&gt;

&lt;p&gt;7- All while on the same page of your PR&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%2Fc7fc3a9bdje3x22v8zmz.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%2Fc7fc3a9bdje3x22v8zmz.gif" alt=" " width="480" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I focused on the Ease of Setup and to still maintain the human factor rather than a bot that auto post cluttered comments that developers can miss&lt;/li&gt;
&lt;li&gt;Setup takes less than 60 seconds without the need for any coding or integration with CI&lt;/li&gt;
&lt;li&gt;It doesn’t spam your PR with Bot comments which will clutter your PR&lt;/li&gt;
&lt;li&gt;You won’t need to leave your azure PR page or change to a different tool&lt;/li&gt;
&lt;li&gt;Supports legacy Azure on premise formely known TFS down to 2016&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try It Out&lt;br&gt;
Install from Chrome Web Store:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;👉 ThinkReview: AI Code Reviews for Azure DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Firefox users:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review" rel="noopener noreferrer"&gt;ThinkReview on Firefox&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>codereview</category>
      <category>ai</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>
    <item>
      <title>Bitbucket cloud AI Code Review</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Mon, 13 Apr 2026 21:26:28 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/bitbucket-cloud-ai-code-review-5c18</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/bitbucket-cloud-ai-code-review-5c18</guid>
      <description>&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;I’m excited to announce that I’ve extended the support of ThinkReview  browser extension to support Bitbucket Cloud and Bitbucket DataCenter. This extension performs code reviews on your Pull Requests in the browser&lt;/p&gt;

&lt;p&gt;The extension is open-source and powered by Ollama, along with the latest frontier LLMs. &lt;/p&gt;

&lt;p&gt;Github Repo &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;/p&gt;

&lt;p&gt;*&lt;em&gt;Chrome extension : *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Firefox extension :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review" rel="noopener noreferrer"&gt;https://addons.mozilla.org/en-US/firefox/addon/thinkreview-code-review&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Bitbucket cloud :&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You need to generate a bitbucket API Token with scopes (read:repository:bitbucket , read:pullrequestBitbuket)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In ThinkReview extension you will need to add your email and API token there&lt;br&gt;
your email and token is saved locally in your browser local storage and never sent to the cloud &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here's how to create the API token for Bitbucket cloud &lt;br&gt;
&lt;a href="https://thinkreview.dev/docs/bitbucket-integration" rel="noopener noreferrer"&gt;https://thinkreview.dev/docs/bitbucket-integration&lt;/a&gt;&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%2Fy14gkqih8t1pnbku2m82.png" 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%2Fy14gkqih8t1pnbku2m82.png" alt="Add Bitbucket cloud credentials in thinkreview extension" width="800" height="311"&gt;&lt;/a&gt;&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%2Fm6grzwsce934oxode2gs.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%2Fm6grzwsce934oxode2gs.gif" alt="generate AI code review in bitbucket " width="640" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  For Bitbucket data center
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;you need to go to extension settings &lt;/li&gt;
&lt;li&gt;Add custom domain of your bitbucket&lt;/li&gt;
&lt;li&gt;Add http access token (&lt;a href="https://thinkreview.dev/docs/bitbucket-data-center" rel="noopener noreferrer"&gt;https://thinkreview.dev/docs/bitbucket-data-center&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&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%2Fijw26svi99ek36x697mx.png" 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%2Fijw26svi99ek36x697mx.png" alt="Add Bitbucket datacentrer credentials in thinkreview extension" width="800" height="1000"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Referenced article :&lt;br&gt;
&lt;a href="https://thinkreview.hashnode.dev/bitbucket-cloud-datacenter-ai-code-review-browser-extension" rel="noopener noreferrer"&gt;https://thinkreview.hashnode.dev/bitbucket-cloud-datacenter-ai-code-review-browser-extension&lt;/a&gt;&lt;/p&gt;

</description>
      <category>bitbucket</category>
      <category>codereview</category>
    </item>
    <item>
      <title>Bitbucket PR AI Code Review and copilot</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Sun, 15 Feb 2026 20:25:37 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/bitbucket-pr-ai-code-review-and-copilot-2kc9</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/bitbucket-pr-ai-code-review-and-copilot-2kc9</guid>
      <description>&lt;h1&gt;
  
  
  ThinkReview now supports Bitbucket Cloud
&lt;/h1&gt;

&lt;p&gt;We're happy to announce that &lt;strong&gt;ThinkReview now works with Bitbucket Cloud&lt;/strong&gt; (bitbucket.org). You can run AI-powered code reviews directly on your Bitbucket Pull Requests, alongside GitLab, GitHub, and Azure DevOps.&lt;/p&gt;

&lt;p&gt;ThinkReview is &lt;strong&gt;open source&lt;/strong&gt; and supports &lt;strong&gt;local Ollama models&lt;/strong&gt;, so you can run reviews on your own hardware with no data leaving your machine—or use cloud models if you prefer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for you
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bitbucket Pull Requests&lt;/strong&gt; — The extension detects PR pages on bitbucket.org and shows the ThinkReview review panel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Same experience&lt;/strong&gt; — Use the &lt;strong&gt;AI Review&lt;/strong&gt; button; ThinkReview fetches the diff and runs the review in the sidebar with suggestions, security notes, and best practices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-time setup&lt;/strong&gt; — Create a Bitbucket API token (or App password) in your Bitbucket settings, then paste it in the ThinkReview popup under the Bitbucket section. Optionally add your Bitbucket account email for Basic auth when required.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a Bitbucket token&lt;/strong&gt; — In Bitbucket: &lt;strong&gt;Personal settings → App passwords / API tokens → Create&lt;/strong&gt; with at least &lt;strong&gt;Repository: Read&lt;/strong&gt;. Copy the token.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open ThinkReview&lt;/strong&gt; → &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;Bitbucket&lt;/strong&gt; section. Paste your token (and optionally your account email), then click &lt;strong&gt;Save Token&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Open any &lt;strong&gt;Pull Request&lt;/strong&gt; on bitbucket.org and use the &lt;strong&gt;AI Review&lt;/strong&gt; button (e.g. on the bottom right or in the PR toolbar).&lt;/li&gt;
&lt;/ol&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%2Fsx1rc8hgg7mvpx6ks0x8.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%2Fsx1rc8hgg7mvpx6ks0x8.gif" alt=" " width="640" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ThinkReview will analyze the diff and show suggestions, security notes, and best practices in the sidebar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Full setup guide
&lt;/h2&gt;

&lt;p&gt;Step-by-step instructions (including token creation) are in the docs:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thinkreview.dev/docs/bitbucket-integration" rel="noopener noreferrer"&gt;Bitbucket Integration Guide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"Bitbucket API token required"&lt;/strong&gt; — Open the ThinkReview popup, add or update your token (and email if needed) in the Bitbucket section, save, then try the review again.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;401/403 errors&lt;/strong&gt; — Check that your token has at least &lt;strong&gt;Repository: Read&lt;/strong&gt; and that it hasn’t expired. You can use an &lt;a href="https://support.atlassian.com/bitbucket-cloud/docs/create-an-api-token" rel="noopener noreferrer"&gt;API token&lt;/a&gt; or an &lt;a href="https://support.atlassian.com/bitbucket-cloud/docs/create-an-app-password" rel="noopener noreferrer"&gt;App password&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Review button not showing&lt;/strong&gt; — Reload the Bitbucket PR page after saving your token.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you hit any issues or have feedback, open an issue on Github or reply in Discussions—we’d love to hear from teams using Bitbucket Cloud.&lt;/p&gt;

</description>
      <category>bitbucket</category>
      <category>codereview</category>
      <category>ai</category>
    </item>
    <item>
      <title>The Open Source PR code review copilot for Gitlab &amp; ADO that Supports Ollama (without CI/CD setup)</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Sat, 15 Nov 2025 00:20:24 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/thinkreview-is-now-open-source-and-now-supports-ollama-for-local-ai-code-review-44fi</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/thinkreview-is-now-open-source-and-now-supports-ollama-for-local-ai-code-review-44fi</guid>
      <description>&lt;p&gt;Hey Developers,&lt;br&gt;
I'd like to announce &lt;a href="https://thinkreview.dev" rel="noopener noreferrer"&gt;Thinkreview&lt;/a&gt; an AI Copilot that integrates within Pull requests pages on Gitlab and Azure Dev ops &lt;/p&gt;

&lt;p&gt;✅ ThinkReview is now fully &lt;a href="https://github.com/Thinkode/thinkreview-browser-extension" rel="noopener noreferrer"&gt;open source &lt;/a&gt;&lt;br&gt;
⚙️ ThinkReview now supports &lt;a href="https://thinkreview.dev/release-notes" rel="noopener noreferrer"&gt;Ollama (local LLMs)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’ve been following my earlier Dev.to posts, you know ThinkReview originally launched as a Chrome extension powered by cloud LLMs. It’s grown a lot since then — and the community asked for two things consistently:&lt;/p&gt;

&lt;p&gt;Open Source&lt;/p&gt;

&lt;p&gt;Local Model Support (Ollama)&lt;/p&gt;

&lt;p&gt;Both are finally here.&lt;/p&gt;

&lt;p&gt;⚡️ New Feature: Ollama Support (Local LLM)&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%2F4exj11u834e025zpqt10.png" 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%2F4exj11u834e025zpqt10.png" alt="ThinkReview supporting Ollama for Code reviews" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Up to version 1.3.10, &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;ThinkReview&lt;/a&gt; ran exclusively on cloud models.&lt;/p&gt;

&lt;p&gt;Starting with v1.4.0, you can now connect ThinkReview to Ollama and run ANY local LLM you want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qwen Coder&lt;/li&gt;
&lt;li&gt;Llama 3&lt;/li&gt;
&lt;li&gt;Codestral&lt;/li&gt;
&lt;li&gt;Deepseek&lt;/li&gt;
&lt;li&gt;Gemma&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anything Ollama supports&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your code never leaves your machine&lt;/li&gt;
&lt;li&gt;Zero API keys needed&lt;/li&gt;
&lt;li&gt;100% free&lt;/li&gt;
&lt;li&gt;Great for companies with strict security/compliance&lt;/li&gt;
&lt;li&gt;Perfect for self-hosted GitLab users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚙️ How to enable Ollama&lt;/p&gt;

&lt;p&gt;One-time setup:&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%2Fw664w5niw9sp0lsppfrr.png" 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%2Fw664w5niw9sp0lsppfrr.png" alt="Instructions to setup ollama with thinkreview" width="685" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stop any existing Ollama processes&lt;/p&gt;

&lt;p&gt;Restart Ollama with flags that allow Chrome extension access&lt;/p&gt;

&lt;p&gt;Go to ThinkReview settings → Test Connection&lt;br&gt;
and youm should see the models already downloaded &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%2Faaajstbmvysfuhzh6gat.png" 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%2Faaajstbmvysfuhzh6gat.png" alt="Choosing any model to work with ThinkReview" width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and finally thats how it looks like &lt;br&gt;
(supporting Gitlab and Azure Devops)&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%2Faziltvdlkugocwulpatq.png" 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%2Faziltvdlkugocwulpatq.png" alt="Code Review in the browser Gitlab Mrs" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To install the extension (open source) you can install directly from Chrome store &lt;br&gt;
&lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/thinkreview-ai-code-revie/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;works on Edge too and any chromium browser &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>productivity</category>
      <category>ollama</category>
    </item>
    <item>
      <title>Azure DevOps PR AI Code Review: Finally, A Simple Solution</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Tue, 28 Oct 2025 19:24:09 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/azure-devops-pr-ai-code-review-finally-a-simple-solution-3fkm</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/azure-devops-pr-ai-code-review-finally-a-simple-solution-3fkm</guid>
      <description>&lt;h1&gt;
  
  
  azuredevops #codereview #chromeextension #ai
&lt;/h1&gt;

&lt;p&gt;Like many developers working with Azure DevOps, I've spent countless hours manually reviewing Pull Requests. I've tried various AI-powered code review tools, all promising to make the process easier. While some were helpful, they all shared the same frustrating issues: complex setup processes, API token management, webhook configurations, and constant dashboard-switching.&lt;/p&gt;

&lt;p&gt;I kept asking myself: &lt;strong&gt;"Why isn't there a simple azure devops pr ai review solution that just works?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, I decided to build one.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After successfully launching ThinkReview for GitLab, Today, I'm excited to share that ThinkReview now supports Azure DevOps Pull Requests with the same simplicity and power that made it popular for GitLab users.&lt;/p&gt;

&lt;p&gt;Here's why ThinkReview is the best azure devops copilot pr review alternative you've been looking for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Zero Configuration Required&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This remains my top priority. No API tokens to generate, no webhooks to configure, no Azure DevOps app installations. Simply install the Chrome extension, Set your Personal access Token in the extension ,open any Azure DevOps Pull Request, and get instant AI-powered code reviews. It's that simple.&lt;/p&gt;

&lt;p&gt;If you've tried setting up other azure devops pr ai review tools, you know the pain of OAuth flows, personal access tokens, and service connections. ThinkReview eliminates all of that.&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%2Ftszmzacv98s770l6hzjt.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%2Ftszmzacv98s770l6hzjt.gif" alt="AI Review within Azure devops PR pages" width="720" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Works Directly in Azure DevOps UI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I designed ThinkReview to stay exactly where you work. The AI review appears directly within your Azure DevOps Pull Request page. No separate dashboards, no third-party platforms, no context-switching.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read comprehensive PR summaries&lt;/li&gt;
&lt;li&gt;Ask follow-up questions about the code&lt;/li&gt;
&lt;li&gt;Get instant explanations of complex changes&lt;/li&gt;
&lt;li&gt;Review AI suggestions without leaving Azure DevOps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Generous Free Tier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whether you're a solo developer, a startup team, or exploring azure devops pr ai code review for the first time, ThinkReview offers a genuinely useful free tier. You get real AI-powered insights without any financial commitment upfront.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Multi-Language Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Set your preferred language once in the extension settings, and all AI feedback, summaries, and suggestions will automatically appear in your chosen language. No more language barriers in code reviews.&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%2Fqgi3ttq1z3kpcjbur13z.png" 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%2Fqgi3ttq1z3kpcjbur13z.png" alt="AI code review in your language" width="515" height="811"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. AI Suggested Comments &amp;amp; Smart Questions&lt;/strong&gt;&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%2Fw2o60179vbn954x9upuc.png" 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%2Fw2o60179vbn954x9upuc.png" alt="Thinkreview ai review suggested questions" width="507" height="477"&gt;&lt;/a&gt;&lt;br&gt;
Beyond just reviewing code, ThinkReview generates professional code review comments and suggests insightful questions. This feature helps teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maintain consistent review standards&lt;/li&gt;
&lt;li&gt;Ask better questions during reviews&lt;/li&gt;
&lt;li&gt;Speed up the review process&lt;/li&gt;
&lt;li&gt;Improve code quality discussions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why Azure DevOps Developers Need This&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're working in the Microsoft ecosystem with Azure DevOps, you know that options for AI-powered PR reviews are limited. While GitHub Copilot works great for GitHub, Azure DevOps users have been underserved.&lt;/p&gt;

&lt;p&gt;ThinkReview bridges this gap. It's built specifically to work seamlessly with Azure DevOps Pull Requests, understanding the platform's unique structure and workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started is Ridiculously Easy&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install the ThinkReview Chrome extension&lt;/li&gt;
&lt;li&gt;Navigate to any Azure DevOps Pull Request&lt;/li&gt;
&lt;li&gt;See instant AI analysis and insights&lt;/li&gt;
&lt;li&gt;Ask questions, get suggestions, improve your code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. No complicated setup, no configuration files, no admin approval needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Perfect for Azure DevOps Teams&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whether you're a solo developer maintaining open-source projects, a small startup team, or part of a larger organization using Azure DevOps, ThinkReview scales with your needs. The tool works across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure DevOps Services (cloud)&lt;/li&gt;
&lt;li&gt;Azure DevOps Server (on-premises)&lt;/li&gt;
&lt;li&gt;All repository types and sizes&lt;/li&gt;
&lt;li&gt;Public and private repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Future of Azure DevOps PR AI Review&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built ThinkReview because I was frustrated with the complexity of existing solutions. The response from the GitLab community was overwhelming, and I'm excited to bring the same simplicity to Azure DevOps users.&lt;/p&gt;

&lt;p&gt;If you've been searching for a straightforward azure devops pr ai code review tool that actually delivers on its promise of simplicity, I invite you to try ThinkReview.&lt;/p&gt;

&lt;p&gt;It's the solution I wish I had when I was struggling with manual code reviews and complicated AI tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it today&lt;/strong&gt; and experience what azure devops copilot pr review should have been from the start.&lt;/p&gt;

&lt;p&gt;You can install the extension from the Chrome Web Store: &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-copilot-fo/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;ThinkReview: AI Code Reviews for GitLab &amp;amp; Azure DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Available for Chrome, Edge, Opera, Brave, and all Chromium-based browsers.&lt;/p&gt;

&lt;h2&gt;
  
  
  you could check the latest release notes on &lt;a href="https://thinkreview.dev/release-notes" rel="noopener noreferrer"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What's your biggest pain point with Azure DevOps Pull Request reviews?&lt;/strong&gt; Let me know in the comments – I'm always looking to make ThinkReview better for the developer community.&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>ai</category>
      <category>chromeextension</category>
      <category>azure</category>
    </item>
    <item>
      <title>Chat with your MR in Gitlab</title>
      <dc:creator>Jay Elsheikh</dc:creator>
      <pubDate>Sat, 18 Oct 2025 23:00:00 +0000</pubDate>
      <link>https://dev.to/jay_elsheikh_59b14ad67922/chat-with-your-mr-in-gitlab-45ii</link>
      <guid>https://dev.to/jay_elsheikh_59b14ad67922/chat-with-your-mr-in-gitlab-45ii</guid>
      <description>&lt;p&gt;&lt;em&gt;Why settle for static code reviews when you can have a conversation?&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem We All Know Too Well
&lt;/h2&gt;

&lt;p&gt;You open a GitLab merge request. 437 lines changed across 12 files. You know you should review it thoroughly, but...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// You, staring at the diff:&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Where do I even start? 🤔&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;What changed and why?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Are there security issues I'm missing?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;How do I ask the right questions?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Sound familiar?&lt;/p&gt;

&lt;p&gt;Traditional code reviews are &lt;strong&gt;one-directional&lt;/strong&gt;: you read the code, leave a comment, done. But what if code review was a &lt;strong&gt;conversation&lt;/strong&gt;?&lt;/p&gt;


&lt;h2&gt;
  
  
  Meet Your New Code Review Partner
&lt;/h2&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%2Fdcagpo30tmtwfn8fhv1a.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%2Fdcagpo30tmtwfn8fhv1a.gif" alt=" " width="600" height="337"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;ThinkReview&lt;/strong&gt; is a conversational AI copilot that lives inside your GitLab merge request pages. But here's the game-changer:&lt;/p&gt;
&lt;h3&gt;
  
  
  🤔 Smart Follow-Up Questions
&lt;/h3&gt;

&lt;p&gt;After analyzing your MR, ThinkReview suggests &lt;strong&gt;3-5 contextually relevant questions&lt;/strong&gt; you can click to explore:&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%2F4jq01sbhlos0jgh55jcl.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%2F4jq01sbhlos0jgh55jcl.gif" alt="ThinkReview Smart Follow-Up Questions Demo" width="600" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example questions for a typical MR:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🤔 Smart Follow-Up Questions

⬜ Are there any potential security vulnerabilities?
⬜ How will this affect database performance?
⬜ What happens if the API call fails?
⬜ Can you generate a summary comment for the team?
⬜ Are there edge cases we should test?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The magic?&lt;/strong&gt; These aren't generic. They're generated based on &lt;strong&gt;your actual code changes&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why This Changes Everything
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Lower Cognitive Load
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You: *stares at 437 lines*
You: "Hmm... what should I check?"
You: *spends 10 minutes thinking*
You: "I'll just approve it"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;With ThinkReview:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AI: "Here are 5 things you should explore"
You: *click click click*
You: *actually finds 2 real issues*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Junior Developers Learn Faster
&lt;/h3&gt;

&lt;p&gt;The suggested questions become a &lt;strong&gt;mentorship tool&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Junior dev sees:
&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What are the performance implications of this code?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="c1"&gt;# Junior dev thinks:
&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Oh! I should be looking at performance!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="c1"&gt;# Junior dev learns:
# Pattern recognition for future reviews
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  3. More Thorough in Less Time
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;5 minutes of clicking&lt;/strong&gt; = what used to take 30 minutes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Security? &lt;em&gt;Click&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;✅ Performance? &lt;em&gt;Click&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;✅ Edge cases? &lt;em&gt;Click&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;✅ Architecture? &lt;em&gt;Click&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Real Example: Catching a Security Issue
&lt;/h2&gt;
&lt;h3&gt;
  
  
  The Setup
&lt;/h3&gt;

&lt;p&gt;You're reviewing an authentication feature MR. 186 lines changed.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1: Get AI Review
&lt;/h3&gt;

&lt;p&gt;Click ThinkReview. Within seconds:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Summary&lt;/span&gt;
Implements JWT-based user authentication.

&lt;span class="gu"&gt;## Key Changes&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Added auth middleware
&lt;span class="p"&gt;-&lt;/span&gt; JWT token generation/validation
&lt;span class="p"&gt;-&lt;/span&gt; Protected routes

&lt;span class="gu"&gt;## Smart Follow-Up Questions&lt;/span&gt;
⬜ Are there any potential security vulnerabilities?
⬜ How will this affect API performance?
⬜ What happens if the token expires during a request?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 2: Click "Security vulnerabilities?"
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ThinkReview responds:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Based on my analysis, I've identified 2 security concerns:
&lt;span class="p"&gt;
1.&lt;/span&gt; &lt;span class="gs"&gt;**SQL Injection Risk (Line 45)**&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;br&gt;
javascript&lt;br&gt;
   const query = &lt;code&gt;SELECT * FROM users WHERE id = ${userId}&lt;/code&gt;;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   ❌ User input not sanitized
   ✅ Fix: Use parameterized queries

2. **Missing Auth Check (Line 78)**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;br&gt;
javascript&lt;br&gt;
   app.post('/api/admin/delete', deleteUser);&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   ❌ No permission verification
   ✅ Fix: Add authentication middleware

Would you like me to show you how to fix these?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 3: Keep the Conversation Going
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You: "How do I implement parameterized queries in Express?"

AI: *provides specific code examples*

You: "Can you generate a comment for the team?"

AI: *creates formatted GitLab comment*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Generate Professional Team Comments
&lt;/h2&gt;

&lt;p&gt;After your AI conversation, click to generate a summary:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Code Review Summary&lt;/span&gt;

&lt;span class="gu"&gt;### Overview&lt;/span&gt;
JWT authentication implementation with security considerations.

&lt;span class="gu"&gt;### Key Changes&lt;/span&gt;
✅ Auth middleware (auth.js)
✅ Token generation/validation
✅ Protected routes

&lt;span class="gu"&gt;### Issues Found&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; 🔴 CRITICAL: SQL injection vulnerability (Line 45)
   Recommendation: Use parameterized queries
&lt;span class="p"&gt;
2.&lt;/span&gt; ⚠️ HIGH: Missing authentication check (Line 78)
   Recommendation: Add auth middleware
&lt;span class="p"&gt;
3.&lt;/span&gt; 💡 SUGGESTION: Consider refresh token mechanism

&lt;span class="gu"&gt;### Verdict&lt;/span&gt;
Changes needed before approval.

@developer Please address the security issues above.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Copy. Paste. Done.&lt;/strong&gt; ✨&lt;/p&gt;


&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Model&lt;/strong&gt;: Google Gemini 2.5 Pro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context-Aware&lt;/strong&gt;: Understands language, framework, file relationships&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy&lt;/strong&gt;: HTTPS-only, no code storage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works Everywhere&lt;/strong&gt;: Chrome, Edge, Brave, all Chromium browsers&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Common Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q: Won't this make devs lazy?&lt;/strong&gt;&lt;br&gt;
A: Opposite! It makes reviews &lt;strong&gt;more thorough&lt;/strong&gt;. Suggested questions expose blind spots.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does it work with self-hosted GitLab?&lt;/strong&gt;&lt;br&gt;
A: Yes! Works with both gitlab.com and private instances.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How accurate is it?&lt;/strong&gt;&lt;br&gt;
A: Powered by Gemini 2.5 Pro. Excellent accuracy. But AI complements, not replaces, human judgment.&lt;/p&gt;


&lt;h2&gt;
  
  
  Try the Challenge
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Install &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-copilot-fo/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;ThinkReview&lt;/a&gt; (2 min)&lt;/li&gt;
&lt;li&gt;Open any GitLab MR&lt;/li&gt;
&lt;li&gt;Click 3 suggested questions&lt;/li&gt;
&lt;li&gt;Compare to your usual review process&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I bet you'll find something you would've missed.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Code review shouldn't feel like homework. It should feel like pair programming with an expert who:&lt;/p&gt;

&lt;p&gt;✅ Understands your code deeply&lt;br&gt;&lt;br&gt;
✅ Suggests what to look for&lt;br&gt;&lt;br&gt;
✅ Answers instantly&lt;br&gt;&lt;br&gt;
✅ Helps you learn&lt;br&gt;&lt;br&gt;
✅ Makes it enjoyable  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop reading code. Start conversing with it.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;a href="https://chromewebstore.google.com/detail/thinkreview-ai-copilot-fo/bpgkhgbchmlmpjjpmlaiejhnnbkdjdjn" rel="noopener noreferrer"&gt;Install ThinkReview&lt;/a&gt;  &lt;/p&gt;



&lt;p&gt;&lt;strong&gt;What's your biggest code review pain point?&lt;/strong&gt; Drop a comment below 👇&lt;/p&gt;



&lt;p&gt;&lt;em&gt;Built by developers who got tired of spending hours on code reviews that should take minutes.&lt;/em&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://thinkreview.dev/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthinkreview.dev%2Fmedia%2FThinkReview-Main-1.png" height="400" class="m-0" width="640"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://thinkreview.dev/" rel="noopener noreferrer" class="c-link"&gt;
            ThinkReview - AI Copilot for GitLab &amp;amp; Azure DevOps | Free Chrome Extension
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Transform your GitLab &amp;amp; Azure DevOps workflow with AI-powered code reviews. Get instant analysis, security insights, and code suggestions. Free Chrome extension for developers.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthinkreview.dev%2Ficons%2Ficon16.png" width="16" height="16"&gt;
          thinkreview.dev
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>gitlab</category>
      <category>codereview</category>
    </item>
  </channel>
</rss>
