<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coding |</title><link>https://denis-trofimov.github.io/tags/coding/</link><atom:link href="https://denis-trofimov.github.io/tags/coding/index.xml" rel="self" type="application/rss+xml"/><description>Coding</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><lastBuildDate>Sat, 20 Jun 2026 00:00:00 -0400</lastBuildDate><image><url>https://denis-trofimov.github.io/media/icon_hu_da05098ef60dc2e7.png</url><title>Coding</title><link>https://denis-trofimov.github.io/tags/coding/</link></image><item><title>Connecting Semble Code Search Library as an MCP to Zoo Code</title><link>https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/</link><pubDate>Sat, 20 Jun 2026 00:00:00 -0400</pubDate><guid>https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In modern development ecosystems, more and more attention is paid to automation and integration of various tools. One of the key players in this area is &lt;strong&gt;Semble&lt;/strong&gt; — a code search library designed specifically for working with agents and simplifying their interaction with the code base.&lt;/p&gt;
&lt;h2 id="what-is-semble"&gt;What is Semble?&lt;/h2&gt;
&lt;p&gt;Semble provides a powerful and extensible mechanism for searching through code, allowing agents to quickly find the necessary fragments, functions, classes, and dependencies. Thanks to support for many programming languages and the ability to create custom indices, Semble becomes a universal solution for any project.&lt;/p&gt;
&lt;h3 id="installation"&gt;Installation&lt;/h3&gt;
&lt;p&gt;To install Semble, follow the official instructions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="integration-with-zoo-code"&gt;Integration with Zoo Code&lt;/h2&gt;
&lt;p&gt;Zoo Code is a platform that allows you to create and manage agents that can perform various tasks in development. To ensure tight integration with Semble, you need to configure MCP servers.&lt;/p&gt;
&lt;h3 id="setting-up-mcp-servers-in-zoo-code"&gt;Setting up MCP servers in Zoo Code&lt;/h3&gt;
&lt;p&gt;To connect Semble to Zoo Code, open the MCP settings file and add the &lt;code&gt;semble&lt;/code&gt; server to the &lt;code&gt;mcpServers&lt;/code&gt; object. A detailed instruction on editing MCP files can be found in the Zoo Code documentation (link).&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Setting up MCP in Zoo Code"
srcset="https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/featured_hu_c3e24daf327f7b7d.webp 320w, https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/featured_hu_a7bee8fe33fd75f3.webp 480w, https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/featured_hu_c6d91bfe6b8de54.webp 500w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://denis-trofimov.github.io/blog/2026-06-20-semble-mcp-with-zoo-code/featured_hu_c3e24daf327f7b7d.webp"
width="500"
height="682"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open Zoo Code and go to MCP settings.&lt;/li&gt;
&lt;li&gt;Find the &lt;code&gt;mcp_settings.json&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;Add a new &lt;code&gt;semble&lt;/code&gt; server to the &lt;code&gt;mcpServers&lt;/code&gt; object with the command &lt;code&gt;uvx&lt;/code&gt; and arguments &lt;code&gt;--from&lt;/code&gt;, &lt;code&gt;semble[mcp]&lt;/code&gt;, &lt;code&gt;semble&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;type: stdio&lt;/code&gt;, &lt;code&gt;disabled: false&lt;/code&gt;, &lt;code&gt;alwaysAllow: []&lt;/code&gt; and &lt;code&gt;timeout: 15&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save the file and restart Zoo Code or reload the extension.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Below is an example configuration of the &lt;code&gt;semble&lt;/code&gt; MCP server in the &lt;code&gt;mcp_settings.json&lt;/code&gt; file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;semble&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;--from&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;semble[mcp]&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;semble&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;stdio&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;disabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;alwaysAllow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;timeout&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This configuration indicates that the server will be launched via &lt;code&gt;uvx&lt;/code&gt; with the &lt;code&gt;semble[mcp]&lt;/code&gt; package and will use standard input/output for communication with Zoo Code. The &lt;code&gt;timeout&lt;/code&gt; parameter of 15 seconds ensures that requests do not hang indefinitely.&lt;/p&gt;
&lt;p&gt;After this, Zoo Code agents will be able to access Semble through MCP and instantly retrieve the necessary code fragments.&lt;/p&gt;
&lt;h2 id="advantages-of-using-semble-in-zoo-code"&gt;Advantages of Using Semble in Zoo Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Instant search&lt;/strong&gt; — agents can instantly find the needed code, saving time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context‑aware search&lt;/strong&gt; — the ability to filter results by projects, files, and types.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extensibility&lt;/strong&gt; — new languages and frameworks can be added via plugins.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="additional-advantages-of-semble"&gt;Additional Advantages of Semble&lt;/h2&gt;
&lt;p&gt;Semble offers the following advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Resource saving&lt;/strong&gt; — it uses ~98% fewer tokens than grep+read, making it more efficient for large projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High performance&lt;/strong&gt; — indexing and searching the entire code base takes less than a second, with ~200× faster indexing and ~10× faster queries compared to code transformers, while maintaining 99% retrieval quality (see benchmarks).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local execution&lt;/strong&gt; — everything runs on CPU without the need for API keys, GPUs, or external services.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexible integration&lt;/strong&gt; — it can be used as an MCP server, a CLI tool via AGENTS.md, or a separate sub‑agent, providing access to any repository for any code agents (Claude Code, Cursor, Codex, OpenCode, etc.).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The combination of Semble and Zoo Code opens up new possibilities for automating development, allowing agents to work with code bases more efficiently. Proper configuration of MCP servers ensures reliable and fast interaction, and the Semble library provides flexibility and power in code search.&lt;/p&gt;</description></item></channel></rss>