<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Advanced on Gokin</title><link>https://gokin.ginkida.dev/docs/advanced/</link><description>Recent content in Advanced on Gokin</description><generator>Hugo</generator><language>en</language><atom:link href="https://gokin.ginkida.dev/docs/advanced/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP, Router &amp; Hooks</title><link>https://gokin.ginkida.dev/docs/advanced/mcp-router-hooks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gokin.ginkida.dev/docs/advanced/mcp-router-hooks/</guid><description>&lt;hr&gt;
&lt;h2 id="mcp-model-context-protocol"&gt;MCP (Model Context Protocol)&lt;a class="anchor" href="#mcp-model-context-protocol"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MCP enables integration with external AI tools via a standardized JSON-RPC 2.0 protocol.&lt;/p&gt;
&lt;h3 id="transports"&gt;Transports&lt;a class="anchor" href="#transports"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;stdio&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Process: launched via command/args, communicates via stdin/stdout&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;http&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Network: HTTP connection to a remote server&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="configuration"&gt;Configuration&lt;a class="anchor" href="#configuration"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;mcp&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;servers&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff79c6"&gt;name&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;my-server&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;transport&lt;/span&gt;: stdio
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;command&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;/path/to/mcp-server&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;args&lt;/span&gt;: [&lt;span style="color:#f1fa8c"&gt;&amp;#34;--mode&amp;#34;&lt;/span&gt;, &lt;span style="color:#f1fa8c"&gt;&amp;#34;production&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;env&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;CUSTOM_VAR&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;${HOME}/config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;auto_connect&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;timeout&lt;/span&gt;: 15s&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="auto-healing"&gt;Auto-Healing&lt;a class="anchor" href="#auto-healing"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Background check every 30 seconds&lt;/li&gt;
&lt;li&gt;Tracks consecutive errors (threshold: 3)&lt;/li&gt;
&lt;li&gt;Up to 10 reconnection attempts with exponential backoff (100ms → 30s)&lt;/li&gt;
&lt;li&gt;Automatic reset on successful connection&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security"&gt;Security&lt;a class="anchor" href="#security"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;StdioTransport sanitizes the environment: only whitelisted variables (PATH, HOME, PYTHONPATH, etc.) are passed to child processes.&lt;/p&gt;</description></item><item><title>User Interface</title><link>https://gokin.ginkida.dev/docs/advanced/ui/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gokin.ginkida.dev/docs/advanced/ui/</guid><description>&lt;p&gt;Gokin uses the Bubble Tea TUI framework with 3 themes, a command palette, and streaming output.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="themes"&gt;Themes&lt;a class="anchor" href="#themes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Switch via &lt;code&gt;/theme &amp;lt;name&amp;gt;&lt;/code&gt; or the &lt;code&gt;ui.theme&lt;/code&gt; config.&lt;/p&gt;
&lt;h3 id="dark-default"&gt;Dark (default)&lt;a class="anchor" href="#dark-default"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Deep dark background with soft accents.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Element&lt;/th&gt;
 &lt;th&gt;Color&lt;/th&gt;
 &lt;th&gt;Hex&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Primary&lt;/td&gt;
 &lt;td&gt;Soft Purple&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#A78BFA&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Secondary&lt;/td&gt;
 &lt;td&gt;Bright Cyan&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#22D3EE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Success&lt;/td&gt;
 &lt;td&gt;Soft Green&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#34D399&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Warning&lt;/td&gt;
 &lt;td&gt;Warm Amber&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#FBBF24&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Error&lt;/td&gt;
 &lt;td&gt;Soft Red&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#F87171&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Muted&lt;/td&gt;
 &lt;td&gt;Neutral Gray&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#9CA3AF&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Text&lt;/td&gt;
 &lt;td&gt;Soft White&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#F1F5F9&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Background&lt;/td&gt;
 &lt;td&gt;Deep Navy&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#0F172A&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Border&lt;/td&gt;
 &lt;td&gt;Subtle Slate&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#1E293B&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Accent&lt;/td&gt;
 &lt;td&gt;Pink&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#F472B6&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Info&lt;/td&gt;
 &lt;td&gt;Teal&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;#2DD4BF&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="macos"&gt;macOS&lt;a class="anchor" href="#macos"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Apple-inspired theme in SF UI style.&lt;/p&gt;</description></item></channel></rss>