# Go Micro

> Go Micro - A Go microservices framework

---

LLMS index: [llms.txt](/llms.txt)

---

<section id="td-cover-block-0" class="row td-hero-block td-cover-block--height-full td-below-navbar js-td-cover -bg-dark-blue bg-pattern" >
  <div class="col-12">
    <div class="container td-overlay__inner">
      <div class="text-center">
        <div class="pt-3 lead">
          

<div class="d-flex justify-content-center align-items-center mb-5">
<div class="logo-container position-relative text-center" role="button">

<!-- Glow -->
<div class="logo-glow position-absolute top-0 start-0 w-100 h-100 rounded-circle"></div>

<svg width="300" height="300" viewBox="0 0 200 200" class="hexagon relative z-10">
<!-- Defs for gradients -->
<defs>
<linearGradient id="hexGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#00ADD8;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#5DC9E2;stop-opacity:1"></stop>
</linearGradient>
<linearGradient id="lineGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#00ADD8;stop-opacity:0.8"></stop>
<stop offset="100%" style="stop-color:#00ADD8;stop-opacity:0.3"></stop>
</linearGradient>
</defs>
<!-- Outer Hexagon -->
<polygon points="100,10 185,55 185,145 100,190 15,145 15,55" fill="none" stroke="url(#hexGradient)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></polygon>
<!-- Inner Network Lines -->
<line x1="100" y1="100" x2="100" y2="55" stroke="url(#lineGradient)" stroke-width="2" class="network-line"></line>
<line x1="100" y1="100" x2="142.5" y2="77.5" stroke="url(#lineGradient)" stroke-width="2" class="network-line" style="animation-delay: 0.2s"></line>
<line x1="100" y1="100" x2="142.5" y2="122.5" stroke="url(#lineGradient)" stroke-width="2" class="network-line" style="animation-delay: 0.4s"></line>
<line x1="100" y1="100" x2="100" y2="145" stroke="url(#lineGradient)" stroke-width="2" class="network-line" style="animation-delay: 0.6s"></line>
<line x1="100" y1="100" x2="57.5" y2="122.5" stroke="url(#lineGradient)" stroke-width="2" class="network-line" style="animation-delay: 0.8s"></line>
<line x1="100" y1="100" x2="57.5" y2="77.5" stroke="url(#lineGradient)" stroke-width="2" class="network-line" style="animation-delay: 1s"></line>
<!-- Cross connections for distributed system look -->
<line x1="100" y1="55" x2="142.5" y2="77.5" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.2s"></line>
<line x1="142.5" y1="77.5" x2="142.5" y2="122.5" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.3s"></line>
<line x1="142.5" y1="122.5" x2="100" y2="145" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.4s"></line>
<line x1="100" y1="145" x2="57.5" y2="122.5" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.5s"></line>
<line x1="57.5" y1="122.5" x2="57.5" y2="77.5" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.6s"></line>
<line x1="57.5" y1="77.5" x2="100" y2="55" stroke="rgba(0,173,216,0.2)" stroke-width="1" class="network-line" style="animation-delay: 1.7s"></line>
<!-- Central Node (Core) -->
<circle cx="100" cy="100" r="12" fill="#0D1117" stroke="#00ADD8" stroke-width="3" class="network-node"></circle>
<circle cx="100" cy="100" r="6" fill="#00ADD8" class="network-node pulse"></circle>
<!-- Outer Nodes (Microservices) -->
<circle cx="100" cy="55" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-1"></circle>
<circle cx="142.5" cy="77.5" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-2"></circle>
<circle cx="142.5" cy="122.5" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-3"></circle>
<circle cx="100" cy="145" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-4"></circle>
<circle cx="57.5" cy="122.5" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-5"></circle>
<circle cx="57.5" cy="77.5" r="6" fill="#0D1117" stroke="#00ADD8" stroke-width="2" class="network-node node-6"></circle>
<!-- Data packets animation -->
<circle cx="100" cy="77.5" r="2" fill="#5DC9E2" opacity="0">
<animate attributeName="opacity" values="0;1;0" dur="2s" repeatCount="indefinite" begin="0s"></animate>
<animate attributeName="cy" values="100;55" dur="2s" repeatCount="indefinite" begin="0s"></animate>
</circle>
<circle cx="121.25" cy="88.75" r="2" fill="#5DC9E2" opacity="0">
<animate attributeName="opacity" values="0;1;0" dur="2s" repeatCount="indefinite" begin="0.3s"></animate>
<animate attributeName="cx" values="100;142.5" dur="2s" repeatCount="indefinite" begin="0.3s"></animate>
<animate attributeName="cy" values="100;77.5" dur="2s" repeatCount="indefinite" begin="0.3s"></animate>
</circle>
</svg>

<!-- Text -->
<div class="text-center mb-5">
    <h1 class="display-3 fw-bold mb-4">
        <span class="gradient-text">Go Micro</span></br>
        An Agent Harness for Go
    </h1>
    <p class="lead text-gray-custom mb-5 mx-auto">
        Build agents, services, and workflows on one runtime.
    </p>
</div>

</div>
</div>

<!-- prettier-ignore -->
<div class="td-cta-buttons my-5">
<a class="download-btn btn btn-go btn-lg d-inline-flex align-items-center gap-2" href="docs/">
Learn more
<i class="fa-solid fa-book-open-reader"></i>
</a>
<a class="btn btn-outline-go btn-lg d-inline-flex align-items-center gap-2"
href="https://github.com/micro/go-micro"
target="_blank" rel="noopener noreferrer">
Get the code
<i class="fa-brands fa-github"></i>
</a>
</div>



<a class="btn btn-link text-info" href="#td-block-1" aria-label="Read more"><i class="fa-solid fa-circle-chevron-down" style="font-size: 400%"></i></a>

</div>
      </div>
    </div>
  </div>
  
</section>


<div><a id="td-block-1" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="row">
      
      
<div class="row g-4 justify-content-center">
<h2>Features</h2>
<p class="text-light mb-4">An agent harness and a service framework in one — agents, services, and flows on the same runtime, with the production pieces agents need.
</p>
</div>
<div class="row g-4 justify-content-center">
<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">🤖</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">Agent Harness</h3>
<p class="small text-secondary mb-0">A model, memory, tools, plan/delegate, guardrails, and execution middleware around every agent.</p>

</div>


</div>

<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">🔧</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">Services as Tools</h3>
<p class="small text-secondary mb-0">Build services in Go or generate them from a prompt. Their endpoints become typed tools automatically.</p>

</div>


</div>

<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">⚙️</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">Durable Workflows</h3>
<p class="small text-secondary mb-0">Use fixed, checkpointed code paths for deterministic work; hand off to agents when the path is dynamic.</p>

</div>


</div>

<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">🌐</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">MCP Gateway</h3>
<p class="small text-secondary mb-0">Every service endpoint is automatically an AI-callable tool via the Model Context Protocol.</p>

</div>


</div>

<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">🤝</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">A2A Gateway</h3>
<p class="small text-secondary mb-0">Every agent is reachable over the Agent2Agent protocol — discovered and called by agents on any framework.</p>

</div>


</div>

<div class="col-lg-4 col-md-6">
<div class="variant-card variant-card--gradient rounded-4 p-4 border border-secondary">
<div class="variant-preview d-flex align-items-center justify-content-center rounded-3 mb-3">

<div class="pt-3 lead">
<div class="p-3 display-3">🔌</div>
</div>

</div>
<h3 class="fw-semibold fs-5 mb-1">Pluggable Everything</h3>
<p class="small text-secondary mb-0">All abstractions are Go interfaces. Swap any component without changing your code.</p>

</div>


</div>
</div>
</div>
  </div>
</section>


<div><a id="td-block-2" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="container">
      
      
<div class="row align-items-center">
<div class="col-lg-6 p-4">
<img src="/images/generated/mcp-agent.jpg" alt="AI agent calling microservices via MCP" class="img-fluid rounded-4 shadow" />
</div>
<div class="col-lg-6 p-4">
<h2>From Prompt Loop to Operating Harness</h2>
<p>Tell it what you need. The AI designs services, generates an agent, and drops you into an interactive console. The harness gives that agent tools, memory, guardrails, and workflows so it can operate across services.</p>
<pre><code><span style="color:#ff7b72">$</span> <span style="color:#d2a8ff">micro run</span> <span style="color:#a5d6ff">--prompt "task management system"</code></br>
<code><span style="color:#ff7b72">&gt;</span> Create a project called Launch, add tasks, assign to Alice</code></pre>
<a class="btn btn-go mt-3" href="/blog/2026/06/05/introducing-micro-newagent/">Learn About Agents</a>
</div>
</div>
</div>
  </div>
</section>


<div><a id="td-block-3" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="container">
      
      
<div class="row align-items-center">
<div class="col-lg-6 p-4">
<img src="/images/generated/architecture.jpg" alt="Go Micro architecture diagram" class="img-fluid rounded-4 shadow" />
</div>
<div class="col-lg-6 p-4 order-lg-first">
<h2>Distributed Systems for Agents</h2>
<p>Agents need the same substrate services do: discovery, RPC, events, state, auth, observability, and deployment. Swap any component without changing your code — go from mDNS to Consul, or HTTP to gRPC, with a single option.</p>
</div>
</div>
</div>
  </div>
</section>


<div><a id="td-block-4" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="container">
      
      
<div class="row align-items-center">
<div class="col-lg-6 p-4">
<img src="/images/generated/developer-experience.jpg" alt="Terminal showing micro run and micro chat" class="img-fluid rounded-4 shadow" />
</div>
<div class="col-lg-6 p-4">
<h2>Developer Experience</h2>
<p><code>micro new</code> scaffolds a service or an agent — every endpoint is automatically an MCP tool. <code>micro run</code> starts everything with hot reload, an API gateway, and an interactive console, and <code>micro chat</code> talks to your agents and services from the terminal.</p>
</div>
</div>
</div>
  </div>
</section>


<div><a id="td-block-5" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="text-center">
      
      
<h2>Sponsors</h2>
<p class="text-light mb-4">Go Micro is supported by companies building the future of AI infrastructure.</p>
<div class="d-flex align-items-center justify-content-center gap-4 flex-wrap mb-5">
<a href="/blog/2026/03/04/building-the-ai-native-future-of-go-micro-with-claude/"><img src="/images/sponsors/anthropic.svg" alt="Anthropic" class="sponsor-logo" /></a>
<a href="/blog/2026/06/23/go-micro-joins-openai-s-codex-for-open-source/"><img src="/images/sponsors/openai.svg" alt="OpenAI" class="sponsor-logo" /></a>
<a href="/blog/2026/05/28/atlas-cloud-sponsors-go-micro-300-ai-models-one-integration/"><img src="/images/sponsors/atlas-cloud-logo.svg" alt="Atlas Cloud" class="sponsor-logo" /></a>
</div>
<p class="text-light mb-3">Want to support Go Micro and put your logo here? Or running it in production and need a hand?</p>
<div class="d-flex gap-3 justify-content-center">
<a href="https://discord.gg/G8Gk5j3uXr" class="btn btn-outline-go">Become a sponsor</a>
<a href="/support" class="btn btn-go">Commercial support</a>
</div>
</div>
  </div>
</section>


<div><a id="td-block-6" class="td-anchor-no-extra-offset"></a></div>
<section class="row td-box td-box--dark-blue td-box--height-auto bg-pattern py-5">
  <div class="col container">
    <div class="text-center">
      
      
<h2>Trusted by Developers</h2>
<p class="text-light mb-4">23,000+ stars on GitHub. Production-ready. Apache 2.0 licensed.</p>
<div class="d-flex gap-3 justify-content-center flex-wrap">
<a href="/docs/getting-started.html" class="btn btn-go">Get Started</a>
<a href="/docs/" class="btn btn-outline-go">Read the Docs</a>
<a href="https://discord.gg/G8Gk5j3uXr" class="btn btn-outline-go">Join Discord</a>
<a href="/blog/" class="btn btn-outline-go">Blog</a>
</div>
</div>
  </div>
</section>

---

Section pages:

- [About Goldydocs](/about.html): A sample site using the Docsy Hugo theme.
- [Blog](/blog/index.html)
- [Documentation](/docs/index.html)
- [go-micro.dev/v4](/v4/index.html)
- [go-micro.dev/v5](/v5/index.html)
- [go-micro.dev/v6](/v6/index.html)
- [Search Results](/search.html)
- [Support](/support.html): Go Micro support — free community help, plus commercial support, consulting, and sponsorship for teams running Go Micro in production.
- [Website information](/site.html): Information about the website.
